From christian.thalinger at oracle.com Tue Jan 4 08:54:36 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 4 Jan 2011 17:54:36 +0100 Subject: Request for reviews (S): 7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL Message-ID: http://cr.openjdk.java.net/~twisti/7010180/webrev.01/ 7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL Reviewed-by: Since 7007377 during method handles adapter generation the adapters for sun.dyn.MethodHandleImpl::raiseException are also generated. Later when the Rewriter wants to link the method the adapter entry already exists and the assert triggers. The fix is to link sun.dyn.MethodHandleImpl class before generating the method handle adapters. This ensures that the required c2i-adapter exists. From tom.rodriguez at oracle.com Tue Jan 4 09:06:14 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 4 Jan 2011 09:06:14 -0800 Subject: Request for reviews (S): 7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL In-Reply-To: References: Message-ID: On Jan 4, 2011, at 8:54 AM, Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/7010180/webrev.01/ > > 7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL > Reviewed-by: > > Since 7007377 during method handles adapter generation the adapters > for sun.dyn.MethodHandleImpl::raiseException are also generated. > Later when the Rewriter wants to link the method the adapter entry > already exists and the assert triggers. > > The fix is to link sun.dyn.MethodHandleImpl class before generating > the method handle adapters. This ensures that the required > c2i-adapter exists. That looks good. tom From christian.thalinger at oracle.com Tue Jan 4 10:46:02 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 4 Jan 2011 19:46:02 +0100 Subject: Request for reviews (S): 7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL In-Reply-To: References: Message-ID: On Jan 4, 2011, at 6:06 PM, Tom Rodriguez wrote: > > On Jan 4, 2011, at 8:54 AM, Christian Thalinger wrote: > >> http://cr.openjdk.java.net/~twisti/7010180/webrev.01/ >> >> 7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL >> Reviewed-by: >> >> Since 7007377 during method handles adapter generation the adapters >> for sun.dyn.MethodHandleImpl::raiseException are also generated. >> Later when the Rewriter wants to link the method the adapter entry >> already exists and the assert triggers. >> >> The fix is to link sun.dyn.MethodHandleImpl class before generating >> the method handle adapters. This ensures that the required >> c2i-adapter exists. > > That looks good. Thank you, Tom. -- Christian From vladimir.kozlov at oracle.com Wed Jan 5 16:17:21 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 05 Jan 2011 16:17:21 -0800 Subject: Request for reviews (XS): 6876037: CTW fails jdk7/hotspot/src/share/vm/opto/type.cpp:2055. assert(bits,"Use TypePtr for NULL") Message-ID: <4D250A11.3020105@oracle.com> http://cr.openjdk.java.net/~kvn/6876037/webrev Fixed 6876037: CTW fails jdk7/hotspot/src/share/vm/opto/type.cpp:2055. assert(bits,"Use TypePtr for NULL") Missing 0 value check in TypeRawPtr::add_offset(). CastX2P node in address expression for unsafe memory operation AddP(top, (CastX2P(SubI(3, loop_phi)), long) transformed into AddP(top, ConP#3, SubI(0, loop_phi)): for (int idx = 0; idx < 4; idx++) { unsafe.putByte(bufptr + (3-idx), b); After loop full unroll this expression transformed into AddP(top, ConP#3, -3). We hit assert during type calculation for this node. From tom.rodriguez at oracle.com Wed Jan 5 16:33:55 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 5 Jan 2011 16:33:55 -0800 Subject: Request for reviews (XS): 6876037: CTW fails jdk7/hotspot/src/share/vm/opto/type.cpp:2055. assert(bits, "Use TypePtr for NULL") In-Reply-To: <4D250A11.3020105@oracle.com> References: <4D250A11.3020105@oracle.com> Message-ID: Looks ok. tom On Jan 5, 2011, at 4:17 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/6876037/webrev > > Fixed 6876037: CTW fails jdk7/hotspot/src/share/vm/opto/type.cpp:2055. assert(bits,"Use TypePtr for NULL") > > Missing 0 value check in TypeRawPtr::add_offset(). > > CastX2P node in address expression for unsafe memory operation > AddP(top, (CastX2P(SubI(3, loop_phi)), long) transformed into > AddP(top, ConP#3, SubI(0, loop_phi)): > > for (int idx = 0; idx < 4; idx++) { > unsafe.putByte(bufptr + (3-idx), b); > > After loop full unroll this expression transformed > into AddP(top, ConP#3, -3). We hit assert during type > calculation for this node. From vladimir.kozlov at oracle.com Wed Jan 5 16:36:29 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 05 Jan 2011 16:36:29 -0800 Subject: Request for reviews (XS): 6876037: CTW fails jdk7/hotspot/src/share/vm/opto/type.cpp:2055. assert(bits,"Use TypePtr for NULL") In-Reply-To: References: <4D250A11.3020105@oracle.com> Message-ID: <4D250E8D.10405@oracle.com> Thank you, Tom Vladimir Tom Rodriguez wrote: > Looks ok. > > tom > > On Jan 5, 2011, at 4:17 PM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/6876037/webrev >> >> Fixed 6876037: CTW fails jdk7/hotspot/src/share/vm/opto/type.cpp:2055. assert(bits,"Use TypePtr for NULL") >> >> Missing 0 value check in TypeRawPtr::add_offset(). >> >> CastX2P node in address expression for unsafe memory operation >> AddP(top, (CastX2P(SubI(3, loop_phi)), long) transformed into >> AddP(top, ConP#3, SubI(0, loop_phi)): >> >> for (int idx = 0; idx < 4; idx++) { >> unsafe.putByte(bufptr + (3-idx), b); >> >> After loop full unroll this expression transformed >> into AddP(top, ConP#3, -3). We hit assert during type >> calculation for this node. > From igor.veresov at oracle.com Wed Jan 5 21:23:00 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Wed, 05 Jan 2011 21:23:00 -0800 Subject: Request for review(XS): 7010618: C1: array length should be treated at int on 64bit during array allocation Message-ID: <4D2551B4.2090408@oracle.com> C1 needs to do sign-extension of array length during allocation. Webrev: http://cr.openjdk.java.net/~iveresov/7010618/webrev.00/ Tested: failing nightly test From tom.rodriguez at oracle.com Wed Jan 5 22:18:23 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 5 Jan 2011 22:18:23 -0800 Subject: Request for review(XS): 7010618: C1: array length should be treated at int on 64bit during array allocation In-Reply-To: <4D2551B4.2090408@oracle.com> References: <4D2551B4.2090408@oracle.com> Message-ID: <636D2867-3377-4111-B901-CFC5CD2458D4@oracle.com> Looks good. tom On Jan 5, 2011, at 9:23 PM, Igor Veresov wrote: > C1 needs to do sign-extension of array length during allocation. > > Webrev: http://cr.openjdk.java.net/~iveresov/7010618/webrev.00/ > > Tested: failing nightly test From vladimir.kozlov at oracle.com Wed Jan 5 22:23:24 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 05 Jan 2011 22:23:24 -0800 Subject: Request for review(XS): 7010618: C1: array length should be treated at int on 64bit during array allocation In-Reply-To: <4D2551B4.2090408@oracle.com> References: <4D2551B4.2090408@oracle.com> Message-ID: <4D255FDC.6000209@oracle.com> Why you need it on x86? Vladimir On 1/5/11 9:23 PM, Igor Veresov wrote: > C1 needs to do sign-extension of array length during allocation. > > Webrev: http://cr.openjdk.java.net/~iveresov/7010618/webrev.00/ > > Tested: failing nightly test From vladimir.kozlov at oracle.com Wed Jan 5 22:40:12 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 05 Jan 2011 22:40:12 -0800 Subject: Request for review(XS): 7010618: C1: array length should be treated at int on 64bit during array allocation In-Reply-To: <4D255FDC.6000209@oracle.com> References: <4D2551B4.2090408@oracle.com> <4D255FDC.6000209@oracle.com> Message-ID: <4D2563CC.1030502@oracle.com> Never mind. Your changes are good. Vladimir On 1/5/11 10:23 PM, Vladimir Kozlov wrote: > Why you need it on x86? > > Vladimir > > On 1/5/11 9:23 PM, Igor Veresov wrote: >> C1 needs to do sign-extension of array length during allocation. >> >> Webrev: http://cr.openjdk.java.net/~iveresov/7010618/webrev.00/ >> >> Tested: failing nightly test From igor.veresov at oracle.com Wed Jan 5 23:01:10 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Wed, 05 Jan 2011 23:01:10 -0800 Subject: Request for review(XS): 7010618: C1: array length should be treated at int on 64bit during array allocation In-Reply-To: <4D255FDC.6000209@oracle.com> References: <4D2551B4.2090408@oracle.com> <4D255FDC.6000209@oracle.com> Message-ID: <4D2568B6.50602@oracle.com> On 1/5/11 10:23 PM, Vladimir Kozlov wrote: > Why you need it on x86? For negative values. igor > > Vladimir > > On 1/5/11 9:23 PM, Igor Veresov wrote: >> C1 needs to do sign-extension of array length during allocation. >> >> Webrev: http://cr.openjdk.java.net/~iveresov/7010618/webrev.00/ >> >> Tested: failing nightly test From igor.veresov at oracle.com Wed Jan 5 23:01:45 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Wed, 05 Jan 2011 23:01:45 -0800 Subject: Request for review(XS): 7010618: C1: array length should be treated at int on 64bit during array allocation In-Reply-To: <636D2867-3377-4111-B901-CFC5CD2458D4@oracle.com> References: <4D2551B4.2090408@oracle.com> <636D2867-3377-4111-B901-CFC5CD2458D4@oracle.com> Message-ID: <4D2568D9.2020406@oracle.com> Thanks Tom and Vladimir! igor On 1/5/11 10:18 PM, Tom Rodriguez wrote: > Looks good. > > tom > > On Jan 5, 2011, at 9:23 PM, Igor Veresov wrote: > >> C1 needs to do sign-extension of array length during allocation. >> >> Webrev: http://cr.openjdk.java.net/~iveresov/7010618/webrev.00/ >> >> Tested: failing nightly test > From john.coomes at oracle.com Thu Jan 6 20:42:29 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jan 2011 04:42:29 +0000 Subject: hg: jdk7/hotspot-comp: 7 new changesets Message-ID: <20110107044229.A743E47A34@hg.openjdk.java.net> Changeset: 4346ba98938b Author: ohair Date: 2010-12-21 16:44 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/4346ba98938b 6360517: ALT_MSDEVTOOLS_PATH and rc.exe location, and rebase location Reviewed-by: ksrini ! Makefile ! README-builds.html Changeset: dc9eb519c6ed Author: ohair Date: 2010-12-22 12:25 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/dc9eb519c6ed 7003845: README-builds document proper location of forest extension, provide alternatives Reviewed-by: robilad ! README ! README-builds.html + get_source.sh + make/scripts/hgforest.sh Changeset: 4d044e6e1080 Author: ohair Date: 2010-12-22 12:27 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/4d044e6e1080 Merge ! README-builds.html Changeset: c1af03f88627 Author: ohair Date: 2010-12-23 18:41 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/c1af03f88627 7008723: Remove binary plugs creation and use from openjdk Reviewed-by: mchung, andrew, aph, dholmes ! Makefile ! README-builds.html Changeset: d0eb51cc458a Author: ohair Date: 2010-12-24 11:16 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/d0eb51cc458a Merge Changeset: 024a6755895b Author: ohair Date: 2010-12-28 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/024a6755895b 6962318: Update copyright year Reviewed-by: xdono ! make/Defs-internal.gmk ! make/deploy-rules.gmk ! make/hotspot-rules.gmk ! make/install-rules.gmk ! make/jprt.gmk ! make/sanity-rules.gmk + make/scripts/update_copyright_year.sh Changeset: 5c4df7e99277 Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/5c4df7e99277 Added tag jdk7-b124 for changeset 024a6755895b ! .hgtags From john.coomes at oracle.com Thu Jan 6 20:42:37 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jan 2011 04:42:37 +0000 Subject: hg: jdk7/hotspot-comp/corba: 2 new changesets Message-ID: <20110107044241.96FFF47A35@hg.openjdk.java.net> Changeset: f90b3e014e83 Author: ohair Date: 2010-12-28 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/f90b3e014e83 6962318: Update copyright year Reviewed-by: xdono ! make/Makefile ! make/com/sun/corba/minclude/com_sun_corba_se_impl_io.jmk ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/common/Defs-windows.gmk ! make/common/Defs.gmk ! make/common/Rules.gmk ! make/common/shared/Defs-java.gmk ! make/common/shared/Defs-linux.gmk ! make/common/shared/Defs-solaris.gmk ! make/common/shared/Defs-windows.gmk ! make/common/shared/Defs.gmk ! make/org/omg/idl/Makefile ! make/sun/corba/Makefile ! make/sun/corba/core/Makefile ! make/sun/rmi/rmic/FILES.gmk ! src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerWriteStream.java ! src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java ! src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java ! src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java ! src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java ! src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java ! src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java ! src/share/classes/com/sun/corba/se/impl/orbutil/CorbaResourceUtil.java ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties ! src/share/classes/com/sun/corba/se/impl/presentation/rmi/ExceptionHandlerImpl.java ! src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java ! src/share/classes/com/sun/corba/se/pept/transport/ConnectionCache.java ! src/share/classes/com/sun/corba/se/spi/protocol/PIHandler.java ! src/share/classes/com/sun/corba/se/spi/transport/CorbaConnection.java ! src/share/classes/com/sun/tools/corba/se/idl/constExpr/Expression.java ! src/share/classes/javax/rmi/PortableRemoteObject.java ! src/share/classes/org/omg/CORBA/ORB.java ! src/share/classes/org/omg/CORBA/SetOverrideType.java ! src/share/classes/org/omg/CORBA/TCKind.java ! src/share/classes/org/omg/CORBA/UnknownUserException.java ! src/share/classes/org/omg/CORBA/portable/ServantObject.java ! src/share/classes/org/omg/CosNaming/nameservice.idl ! src/share/classes/org/omg/PortableInterceptor/Interceptors.idl ! src/share/classes/sun/corba/Bridge.java Changeset: 1ce58c72b789 Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/1ce58c72b789 Added tag jdk7-b124 for changeset f90b3e014e83 ! .hgtags From john.coomes at oracle.com Thu Jan 6 20:42:48 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jan 2011 04:42:48 +0000 Subject: hg: jdk7/hotspot-comp/jaxp: 2 new changesets Message-ID: <20110107044248.83E5D47A36@hg.openjdk.java.net> Changeset: 57ed1f3bec72 Author: ohair Date: 2010-12-28 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/57ed1f3bec72 6962318: Update copyright year Reviewed-by: xdono ! build.properties ! make/Makefile Changeset: 6c9bdee0cc3a Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/6c9bdee0cc3a Added tag jdk7-b124 for changeset 57ed1f3bec72 ! .hgtags From john.coomes at oracle.com Thu Jan 6 20:42:54 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jan 2011 04:42:54 +0000 Subject: hg: jdk7/hotspot-comp/jaxws: 2 new changesets Message-ID: <20110107044254.D8B2A47A37@hg.openjdk.java.net> Changeset: 86f60e5b3975 Author: ohair Date: 2010-12-28 15:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/86f60e5b3975 6962318: Update copyright year Reviewed-by: xdono ! build.properties ! jaxws.properties ! make/Makefile Changeset: d72eea121c3b Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/d72eea121c3b Added tag jdk7-b124 for changeset 86f60e5b3975 ! .hgtags From john.coomes at oracle.com Thu Jan 6 20:43:28 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jan 2011 04:43:28 +0000 Subject: hg: jdk7/hotspot-comp/jdk: 6 new changesets Message-ID: <20110107044444.D563647A38@hg.openjdk.java.net> Changeset: 4e70663f0163 Author: ohair Date: 2010-12-21 18:21 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4e70663f0163 6360517: ALT_MSDEVTOOLS_PATH and rc.exe location, and rebase location Reviewed-by: ksrini ! make/Makefile ! make/common/shared/Compiler-gcc.gmk ! make/common/shared/Compiler-msvc.gmk ! make/common/shared/Defs-solaris.gmk ! make/common/shared/Defs-versions.gmk ! make/common/shared/Defs-windows.gmk ! make/common/shared/Defs.gmk ! make/common/shared/Sanity-Settings.gmk ! make/common/shared/Sanity.gmk ! make/jdk_generic_profile.sh Changeset: 217c842d710b Author: ohair Date: 2010-12-23 18:50 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/217c842d710b 7008723: Remove binary plugs creation and use from openjdk Reviewed-by: mchung, andrew, aph, dholmes ! README ! make/Makefile ! make/com/sun/jmx/Makefile ! make/common/Defs.gmk ! make/common/Library.gmk ! make/common/Program.gmk ! make/common/Release.gmk ! make/common/Sanity.gmk - make/common/internal/BinaryPlugs.gmk ! make/common/shared/Sanity-Settings.gmk ! make/common/shared/Sanity.gmk ! make/java/redist/Makefile ! make/javax/sound/Makefile ! make/jdk_generic_profile.sh ! make/netbeans/README ! make/sun/dcpr/Makefile ! make/sun/font/t2k/Makefile ! make/sun/management/Makefile Changeset: ab960e856d18 Author: ohair Date: 2010-12-24 11:17 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ab960e856d18 Merge - make/common/internal/BinaryPlugs.gmk ! make/common/shared/Defs-versions.gmk ! make/common/shared/Sanity.gmk Changeset: a06412e13bf7 Author: ohair Date: 2010-12-28 15:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a06412e13bf7 6962318: Update copyright year Reviewed-by: xdono ! make/com/Makefile ! make/com/sun/Makefile ! make/com/sun/crypto/provider/Makefile ! make/com/sun/demo/Makefile ! make/com/sun/demo/jvmti/Makefile ! make/com/sun/java/Makefile ! make/com/sun/java/browser/Makefile ! make/com/sun/java/pack/Makefile ! make/com/sun/java/pack/prop/Makefile ! make/com/sun/jmx/Makefile ! make/com/sun/jndi/Makefile ! make/com/sun/jndi/cosnaming/Makefile ! make/com/sun/jndi/dns/Makefile ! make/com/sun/jndi/ldap/Makefile ! make/com/sun/jndi/rmi/Makefile ! make/com/sun/jndi/rmi/registry/Makefile ! make/com/sun/nio/Makefile ! make/com/sun/nio/sctp/FILES_java.gmk ! make/com/sun/nio/sctp/Makefile ! make/com/sun/nio/sctp/mapfile-vers ! make/com/sun/org/Makefile ! make/com/sun/org/apache/Makefile ! make/com/sun/org/apache/xml/Makefile ! make/com/sun/rowset/Makefile ! make/com/sun/script/Makefile ! make/com/sun/security/Makefile ! make/com/sun/security/auth/module/Makefile ! make/com/sun/servicetag/Makefile ! make/com/sun/tools/Makefile ! make/com/sun/tools/attach/Makefile ! make/com/sun/tracing/Makefile ! make/common/Cscope.gmk ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/common/Defs-windows.gmk ! make/common/Defs.gmk ! make/common/Demo.gmk ! make/common/Library.gmk ! make/common/Modules.gmk ! make/common/Program.gmk ! make/common/Release.gmk ! make/common/Sanity.gmk ! make/common/internal/Resources.gmk ! make/common/shared/Compiler-sun.gmk ! make/common/shared/Defs-control.gmk ! make/common/shared/Defs-java.gmk ! make/common/shared/Defs-linux.gmk ! make/common/shared/Defs-utils.gmk ! make/docs/CORE_PKGS.gmk ! make/docs/NON_CORE_PKGS.gmk ! make/java/Makefile ! make/java/awt/Makefile ! make/java/dyn/Makefile ! make/java/fdlibm/Makefile ! make/java/hpi/Makefile ! make/java/hpi/hpi_common.gmk ! make/java/hpi/native/Makefile ! make/java/hpi/windows/Makefile ! make/java/instrument/Makefile ! make/java/java/Makefile ! make/java/java/genlocales.gmk ! make/java/java_crw_demo/Makefile ! make/java/java_hprof_demo/Makefile ! make/java/jli/Makefile ! make/java/logging/Makefile ! make/java/main/Makefile ! make/java/main/java/Makefile ! make/java/main/javaw/Makefile ! make/java/management/Makefile ! make/java/net/FILES_c.gmk ! make/java/net/Makefile ! make/java/net/mapfile-vers ! make/java/nio/FILES_java.gmk ! make/java/nio/Makefile ! make/java/nio/mapfile-linux ! make/java/nio/mapfile-solaris ! make/java/npt/Makefile ! make/java/redist/Makefile ! make/java/redist/fonts/Makefile ! make/java/redist/sajdi/Makefile ! make/java/sql/Makefile ! make/java/sun_nio/Makefile ! make/java/text/base/Makefile ! make/java/util/FILES_java.gmk ! make/java/verify/Makefile ! make/java/zip/Makefile ! make/javax/Makefile ! make/javax/crypto/Makefile ! make/javax/imageio/Makefile ! make/javax/print/Makefile ! make/javax/rmi/Makefile ! make/javax/sound/Makefile ! make/javax/sound/jsoundalsa/Makefile ! make/javax/sound/jsoundds/Makefile ! make/javax/sql/Makefile ! make/javax/swing/FILES.gmk ! make/javax/swing/Makefile ! make/javax/swing/beaninfo/SwingBeans.gmk ! make/javax/swing/plaf/Makefile ! make/jpda/Makefile ! make/jpda/back/Makefile ! make/jpda/transport/Makefile ! make/jpda/transport/shmem/Makefile ! make/jpda/transport/socket/Makefile ! make/jpda/tty/Makefile ! make/jprt.gmk ! make/jprt.properties ! make/launchers/Makefile ! make/mkdemo/Makefile ! make/mkdemo/applets/Makefile ! make/mkdemo/jfc/Makefile ! make/mkdemo/jni/Makefile ! make/mkdemo/jvmti/hprof/Makefile ! make/mkdemo/management/Makefile ! make/mkdemo/nio/Makefile ! make/mkdemo/nio/zipfs/Makefile ! make/mkdemo/scripting/Makefile ! make/mksample/Makefile ! make/mksample/dtrace/Makefile ! make/mksample/jmx/Makefile ! make/mksample/jmx/jmx-scandir/Makefile ! make/mksample/nbproject/Makefile ! make/mksample/nio/Makefile ! make/mksample/nio/file/Makefile ! make/mksample/nio/multicast/Makefile ! make/mksample/nio/server/Makefile ! make/mksample/scripting/Makefile ! make/mksample/scripting/scriptpad/Makefile ! make/mksample/webservices/EbayClient/Makefile ! make/mksample/webservices/EbayServer/Makefile ! make/mksample/webservices/Makefile ! make/modules/Makefile ! make/modules/modules.config ! make/modules/optional.depconfig ! make/modules/tools/Makefile ! make/modules/tools/nbproject/project.properties ! make/modules/tools/src/com/sun/classanalyzer/Module.java ! make/netbeans/world/build.xml ! make/org/Makefile ! make/org/ietf/Makefile ! make/sun/Makefile ! make/sun/applet/Makefile ! make/sun/awt/FILES_c_unix.gmk ! make/sun/awt/FILES_c_windows.gmk ! make/sun/awt/FILES_export_unix.gmk ! make/sun/awt/FILES_export_windows.gmk ! make/sun/awt/Makefile ! make/sun/awt/mapfile-mawt-vers ! make/sun/awt/mapfile-vers ! make/sun/awt/mapfile-vers-linux ! make/sun/cmm/Makefile ! make/sun/cmm/kcms/Makefile ! make/sun/cmm/lcms/FILES_c_unix.gmk ! make/sun/cmm/lcms/FILES_c_windows.gmk ! make/sun/cmm/lcms/Makefile ! make/sun/dcpr/Makefile ! make/sun/font/FILES_c.gmk ! make/sun/font/Makefile ! make/sun/font/t2k/Makefile ! make/sun/headless/Makefile ! make/sun/headless/mapfile-vers ! make/sun/image/Makefile ! make/sun/image/generic/Makefile ! make/sun/image/vis/Makefile ! make/sun/jar/Makefile ! make/sun/javazic/Makefile ! make/sun/jawt/Makefile ! make/sun/jconsole/Makefile ! make/sun/jdbc/Makefile ! make/sun/jdga/Makefile ! make/sun/jkernel/Makefile ! make/sun/jpeg/Makefile ! make/sun/launcher/Makefile ! make/sun/management/Makefile ! make/sun/native2ascii/Makefile ! make/sun/net/FILES_java.gmk ! make/sun/net/Makefile ! make/sun/net/others/Makefile ! make/sun/net/spi/Makefile ! make/sun/net/spi/nameservice/Makefile ! make/sun/net/spi/nameservice/dns/Makefile ! make/sun/nio/Makefile ! make/sun/nio/cs/FILES_java.gmk ! make/sun/nio/cs/Makefile ! make/sun/org/Makefile ! make/sun/org/mozilla/Makefile ! make/sun/org/mozilla/javascript/Makefile ! make/sun/pisces/Makefile ! make/sun/rmi/Makefile ! make/sun/rmi/cgi/Makefile ! make/sun/rmi/oldtools/Makefile ! make/sun/rmi/registry/Makefile ! make/sun/rmi/rmi/Makefile ! make/sun/rmi/rmic/Makefile ! make/sun/rmi/rmid/Makefile ! make/sun/security/Makefile ! make/sun/security/ec/Makefile ! make/sun/security/jgss/wrapper/Makefile ! make/sun/security/krb5/Makefile ! make/sun/security/mscapi/Makefile ! make/sun/security/pkcs11/Makefile ! make/sun/security/smartcardio/Makefile ! make/sun/serialver/Makefile ! make/sun/splashscreen/Makefile ! make/sun/text/Makefile ! make/sun/tools/Makefile ! make/sun/tracing/Makefile ! make/sun/tracing/dtrace/Makefile ! make/sun/xawt/FILES_c_unix.gmk ! make/sun/xawt/FILES_export_unix.gmk ! make/sun/xawt/Makefile ! make/sun/xawt/mapfile-vers ! make/tools/Makefile ! make/tools/freetypecheck/freetypecheck.c ! make/tools/src/build/tools/charsetmapping/JIS0213.java ! make/tools/src/build/tools/charsetmapping/Main.java ! make/tools/src/build/tools/charsetmapping/SBCS.java ! make/tools/src/build/tools/charsetmapping/Utils.java ! make/tools/src/build/tools/generatecharacter/GenerateCharacter.java ! make/tools/src/build/tools/jarreorder/JarReorder.java ! make/tools/src/build/tools/javazic/RuleDay.java ! src/share/bin/main.c ! src/share/bin/parse_manifest.c ! src/share/bin/wildcard.c ! src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriterSpi.java ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageWriterSpi.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEG.java ! src/share/classes/com/sun/imageio/plugins/png/PNGImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/png/PNGImageWriterSpi.java ! src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageWriterSpi.java ! src/share/classes/com/sun/imageio/spi/FileImageInputStreamSpi.java ! src/share/classes/com/sun/imageio/spi/FileImageOutputStreamSpi.java ! src/share/classes/com/sun/imageio/spi/InputStreamImageInputStreamSpi.java ! src/share/classes/com/sun/imageio/spi/OutputStreamImageOutputStreamSpi.java ! src/share/classes/com/sun/imageio/spi/RAFImageInputStreamSpi.java ! src/share/classes/com/sun/imageio/spi/RAFImageOutputStreamSpi.java ! src/share/classes/com/sun/java/swing/plaf/gtk/PangoFonts.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsTableHeaderUI.java ! src/share/classes/com/sun/java/util/jar/pack/AdaptiveCoding.java ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java ! src/share/classes/com/sun/java/util/jar/pack/Code.java ! src/share/classes/com/sun/java/util/jar/pack/Coding.java ! src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java ! src/share/classes/com/sun/java/util/jar/pack/CodingMethod.java ! src/share/classes/com/sun/java/util/jar/pack/Fixups.java ! src/share/classes/com/sun/java/util/jar/pack/Histogram.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java ! src/share/classes/com/sun/jndi/dns/DnsClient.java ! src/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java ! src/share/classes/com/sun/media/sound/AbstractMidiDevice.java ! src/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java ! src/share/classes/com/sun/media/sound/ModelByteBufferWavetable.java ! src/share/classes/com/sun/media/sound/ModelInstrument.java ! src/share/classes/com/sun/media/sound/SoftReceiver.java ! src/share/classes/com/sun/media/sound/SoftVoice.java ! src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java ! src/share/classes/com/sun/net/httpserver/Filter.java ! src/share/classes/com/sun/net/httpserver/Headers.java ! src/share/classes/com/sun/net/httpserver/HttpsConfigurator.java ! src/share/classes/com/sun/net/httpserver/HttpsParameters.java ! src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java ! src/share/classes/com/sun/security/auth/LdapPrincipal.java ! src/share/classes/com/sun/security/sasl/CramMD5Client.java ! src/share/classes/com/sun/security/sasl/CramMD5Server.java ! src/share/classes/com/sun/security/sasl/ExternalClient.java ! src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java ! src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java ! src/share/classes/com/sun/servicetag/Registry.java ! src/share/classes/com/sun/servicetag/SunConnection.java ! src/share/classes/com/sun/servicetag/resources/register.html ! src/share/classes/com/sun/servicetag/resources/register_ja.html ! src/share/classes/com/sun/servicetag/resources/register_zh_CN.html ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources.java ! src/share/classes/java/awt/AWTEvent.java ! src/share/classes/java/awt/AlphaComposite.java ! src/share/classes/java/awt/Canvas.java ! src/share/classes/java/awt/Color.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/Dialog.java ! src/share/classes/java/awt/EventDispatchThread.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/FileDialog.java ! src/share/classes/java/awt/Font.java ! src/share/classes/java/awt/Frame.java ! src/share/classes/java/awt/GraphicsEnvironment.java ! src/share/classes/java/awt/GridBagConstraints.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/ScrollPane.java ! src/share/classes/java/awt/Scrollbar.java ! src/share/classes/java/awt/SequencedEvent.java ! src/share/classes/java/awt/SplashScreen.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/event/ActionEvent.java ! src/share/classes/java/awt/event/InputEvent.java ! src/share/classes/java/awt/image/IndexColorModel.java ! src/share/classes/java/awt/image/SampleModel.java ! src/share/classes/java/beans/MetaData.java ! src/share/classes/java/beans/XMLDecoder.java ! src/share/classes/java/dyn/Linkage.java ! src/share/classes/java/dyn/MethodType.java ! src/share/classes/java/dyn/package-info.java ! src/share/classes/java/io/Bits.java ! src/share/classes/java/io/BufferedInputStream.java ! src/share/classes/java/io/ByteArrayInputStream.java ! src/share/classes/java/io/ByteArrayOutputStream.java ! src/share/classes/java/io/Closeable.java ! src/share/classes/java/io/FileOutputStream.java ! src/share/classes/java/io/FilterInputStream.java ! src/share/classes/java/io/ObjectInput.java ! src/share/classes/java/io/ObjectOutput.java ! src/share/classes/java/io/PushbackInputStream.java ! src/share/classes/java/io/package.html ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/AssertionError.java ! src/share/classes/java/lang/Deprecated.java ! src/share/classes/java/lang/Error.java ! src/share/classes/java/lang/Exception.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Iterable.java ! src/share/classes/java/lang/Math.java ! src/share/classes/java/lang/Object.java ! src/share/classes/java/lang/ProcessBuilder.java ! src/share/classes/java/lang/Readable.java ! src/share/classes/java/lang/RuntimeException.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/SuppressWarnings.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/lang/ThreadGroup.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/net/AbstractPlainSocketImpl.java ! src/share/classes/java/net/DatagramSocket.java ! src/share/classes/java/net/HttpCookie.java ! src/share/classes/java/net/HttpURLConnection.java ! src/share/classes/java/net/Inet6Address.java ! src/share/classes/java/net/InetAddress.java ! src/share/classes/java/net/NetPermission.java ! src/share/classes/java/net/NetworkInterface.java ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/SocketInputStream.java ! src/share/classes/java/net/SocksSocketImpl.java ! src/share/classes/java/net/URI.java ! src/share/classes/java/nio/Bits.java ! src/share/classes/java/nio/Direct-X-Buffer.java.template ! src/share/classes/java/nio/MappedByteBuffer.java ! src/share/classes/java/nio/StringCharBuffer.java ! src/share/classes/java/nio/channels/AsynchronousSocketChannel.java ! src/share/classes/java/nio/channels/FileLock.java ! src/share/classes/java/nio/channels/package-info.java ! src/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java ! src/share/classes/java/nio/channels/spi/AbstractSelector.java ! src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java ! src/share/classes/java/nio/charset/Charset.java ! src/share/classes/java/nio/charset/package.html ! src/share/classes/java/nio/file/DirectoryStream.java ! src/share/classes/java/nio/file/FileTreeWalker.java ! src/share/classes/java/nio/file/FileVisitOption.java ! src/share/classes/java/nio/file/FileVisitor.java ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/SecureDirectoryStream.java ! src/share/classes/java/nio/file/SimpleFileVisitor.java ! src/share/classes/java/security/IdentityScope.java ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/cert/PKIXParameters.java ! src/share/classes/java/text/CollationElementIterator.java ! src/share/classes/java/text/DateFormat.java ! src/share/classes/java/text/MessageFormat.java ! src/share/classes/java/text/NumberFormat.java ! src/share/classes/java/text/RuleBasedBreakIterator.java ! src/share/classes/java/util/AbstractCollection.java ! src/share/classes/java/util/AbstractList.java ! src/share/classes/java/util/AbstractMap.java ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/Collection.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/ConcurrentModificationException.java ! src/share/classes/java/util/Currency.java ! src/share/classes/java/util/Date.java ! src/share/classes/java/util/FormattableFlags.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/Iterator.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/List.java ! src/share/classes/java/util/ListResourceBundle.java ! src/share/classes/java/util/PriorityQueue.java ! src/share/classes/java/util/Properties.java ! src/share/classes/java/util/Random.java ! src/share/classes/java/util/Scanner.java ! src/share/classes/java/util/Stack.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/TreeSet.java ! src/share/classes/java/util/Vector.java ! src/share/classes/java/util/XMLUtils.java ! src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java ! src/share/classes/java/util/jar/JarInputStream.java ! src/share/classes/java/util/logging/LogRecord.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/java/util/spi/CurrencyNameProvider.java ! src/share/classes/java/util/spi/LocaleServiceProvider.java ! src/share/classes/java/util/zip/Deflater.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/javax/imageio/stream/ImageInputStream.java ! src/share/classes/javax/management/remote/JMXServiceURL.java ! src/share/classes/javax/naming/event/EventDirContext.java ! src/share/classes/javax/naming/ldap/Control.java ! src/share/classes/javax/naming/ldap/ControlFactory.java ! src/share/classes/javax/naming/ldap/ExtendedRequest.java ! src/share/classes/javax/naming/ldap/ExtendedResponse.java ! src/share/classes/javax/naming/ldap/LdapName.java ! src/share/classes/javax/naming/ldap/Rdn.java ! src/share/classes/javax/naming/ldap/UnsolicitedNotification.java ! src/share/classes/javax/naming/ldap/UnsolicitedNotificationListener.java ! src/share/classes/javax/net/SocketFactory.java ! src/share/classes/javax/net/ssl/SSLContext.java ! src/share/classes/javax/print/DocFlavor.java ! src/share/classes/javax/sound/midi/MidiDevice.java ! src/share/classes/javax/sound/midi/MidiSystem.java ! src/share/classes/javax/sound/midi/Receiver.java ! src/share/classes/javax/sound/midi/Transmitter.java ! src/share/classes/javax/sound/sampled/Line.java ! src/share/classes/javax/swing/AbstractButton.java ! src/share/classes/javax/swing/DebugGraphics.java ! src/share/classes/javax/swing/DefaultDesktopManager.java ! src/share/classes/javax/swing/GroupLayout.java ! src/share/classes/javax/swing/JColorChooser.java ! src/share/classes/javax/swing/JComponent.java ! src/share/classes/javax/swing/JDesktopPane.java ! src/share/classes/javax/swing/JEditorPane.java ! src/share/classes/javax/swing/JLayer.java ! src/share/classes/javax/swing/JList.java ! src/share/classes/javax/swing/JSplitPane.java ! src/share/classes/javax/swing/JTabbedPane.java ! src/share/classes/javax/swing/JTextField.java ! src/share/classes/javax/swing/JTree.java ! src/share/classes/javax/swing/JViewport.java ! src/share/classes/javax/swing/Popup.java ! src/share/classes/javax/swing/RepaintManager.java ! src/share/classes/javax/swing/SwingUtilities.java ! src/share/classes/javax/swing/ToolTipManager.java ! src/share/classes/javax/swing/UIDefaults.java ! src/share/classes/javax/swing/plaf/LayerUI.java ! src/share/classes/javax/swing/plaf/basic/BasicButtonListener.java ! src/share/classes/javax/swing/plaf/basic/BasicComboPopup.java ! src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java ! src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java ! src/share/classes/javax/swing/plaf/basic/BasicMenuUI.java ! src/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java ! src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTextUI.java ! src/share/classes/javax/swing/plaf/basic/BasicViewportUI.java ! src/share/classes/javax/swing/plaf/metal/MetalComboBoxUI.java ! src/share/classes/javax/swing/plaf/metal/MetalScrollPaneUI.java ! src/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java ! src/share/classes/javax/swing/plaf/synth/SynthButtonUI.java ! src/share/classes/javax/swing/plaf/synth/SynthColorChooserUI.java ! src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java ! src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java ! src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthEditorPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthInternalFrameUI.java ! src/share/classes/javax/swing/plaf/synth/SynthLabelUI.java ! src/share/classes/javax/swing/plaf/synth/SynthListUI.java ! src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java ! src/share/classes/javax/swing/plaf/synth/SynthMenuBarUI.java ! src/share/classes/javax/swing/plaf/synth/SynthMenuItemUI.java ! src/share/classes/javax/swing/plaf/synth/SynthMenuUI.java ! src/share/classes/javax/swing/plaf/synth/SynthOptionPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthPanelUI.java ! src/share/classes/javax/swing/plaf/synth/SynthParser.java ! src/share/classes/javax/swing/plaf/synth/SynthPopupMenuUI.java ! src/share/classes/javax/swing/plaf/synth/SynthProgressBarUI.java ! src/share/classes/javax/swing/plaf/synth/SynthRootPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java ! src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthSeparatorUI.java ! src/share/classes/javax/swing/plaf/synth/SynthSliderUI.java ! src/share/classes/javax/swing/plaf/synth/SynthSpinnerUI.java ! src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTableUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTextAreaUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTextFieldUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTextPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthToolBarUI.java ! src/share/classes/javax/swing/plaf/synth/SynthToolTipUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java ! src/share/classes/javax/swing/plaf/synth/SynthViewportUI.java ! src/share/classes/javax/swing/table/DefaultTableCellRenderer.java ! src/share/classes/javax/swing/text/DefaultCaret.java ! src/share/classes/javax/swing/text/DefaultEditorKit.java ! src/share/classes/javax/swing/text/DefaultFormatter.java ! src/share/classes/javax/swing/text/DefaultHighlighter.java ! src/share/classes/javax/swing/text/DefaultStyledDocument.java ! src/share/classes/javax/swing/text/GlyphView.java ! src/share/classes/javax/swing/text/InternationalFormatter.java ! src/share/classes/javax/swing/text/JTextComponent.java ! src/share/classes/javax/swing/text/MaskFormatter.java ! src/share/classes/javax/swing/text/NumberFormatter.java ! src/share/classes/javax/swing/text/PlainDocument.java ! src/share/classes/javax/swing/text/TabSet.java ! src/share/classes/javax/swing/text/Utilities.java ! src/share/classes/javax/swing/text/WrappedPlainView.java ! src/share/classes/javax/swing/text/html/FormView.java ! src/share/classes/javax/swing/text/html/HTMLDocument.java ! src/share/classes/javax/swing/text/html/MinimalHTMLWriter.java ! src/share/classes/javax/swing/text/html/StyleSheet.java ! src/share/classes/javax/swing/text/html/parser/Parser.java ! src/share/classes/javax/swing/text/rtf/AbstractFilter.java ! src/share/classes/sun/applet/resources/MsgAppletViewer.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/EmbeddedFrame.java ! src/share/classes/sun/awt/HKSCS.java ! src/share/classes/sun/awt/PlatformFont.java ! src/share/classes/sun/awt/SunToolkit.java ! src/share/classes/sun/awt/UngrabEvent.java ! src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java ! src/share/classes/sun/awt/image/BufImgSurfaceData.java ! src/share/classes/sun/awt/image/ImageRepresentation.java ! src/share/classes/sun/awt/image/PNGImageDecoder.java ! src/share/classes/sun/dyn/AdapterMethodHandle.java ! src/share/classes/sun/dyn/BoundMethodHandle.java ! src/share/classes/sun/dyn/CallSiteImpl.java ! src/share/classes/sun/dyn/FilterGeneric.java ! src/share/classes/sun/dyn/FilterOneArgument.java ! src/share/classes/sun/dyn/FromGeneric.java ! src/share/classes/sun/dyn/Invokers.java ! src/share/classes/sun/dyn/MethodTypeImpl.java ! src/share/classes/sun/dyn/SpreadGeneric.java ! src/share/classes/sun/dyn/ToGeneric.java ! src/share/classes/sun/dyn/empty/Empty.java ! src/share/classes/sun/dyn/package-info.java ! src/share/classes/sun/dyn/util/BytecodeDescriptor.java ! src/share/classes/sun/dyn/util/BytecodeName.java ! src/share/classes/sun/dyn/util/ValueConversions.java ! src/share/classes/sun/dyn/util/VerifyAccess.java ! src/share/classes/sun/dyn/util/VerifyType.java ! src/share/classes/sun/dyn/util/Wrapper.java ! src/share/classes/sun/font/FontManagerFactory.java ! src/share/classes/sun/font/FontUtilities.java ! src/share/classes/sun/font/StrikeCache.java ! src/share/classes/sun/font/SunFontManager.java ! src/share/classes/sun/io/ByteToCharBig5.java ! src/share/classes/sun/io/ByteToCharBig5_HKSCS.java ! src/share/classes/sun/io/ByteToCharBig5_Solaris.java ! src/share/classes/sun/io/ByteToCharISO2022.java ! src/share/classes/sun/io/ByteToCharISO2022JP.java ! src/share/classes/sun/io/ByteToCharJISAutoDetect.java ! src/share/classes/sun/io/ByteToCharMS950_HKSCS.java ! src/share/classes/sun/io/ByteToCharUTF8.java ! src/share/classes/sun/io/CharToByteBig5.java ! src/share/classes/sun/io/CharToByteBig5_HKSCS.java ! src/share/classes/sun/io/CharToByteBig5_Solaris.java ! src/share/classes/sun/io/CharToByteDBCS_ASCII.java ! src/share/classes/sun/io/CharToByteDBCS_EBCDIC.java ! src/share/classes/sun/io/CharToByteMS950_HKSCS.java ! src/share/classes/sun/io/CharToBytePCK.java ! src/share/classes/sun/io/CharToByteUnicode.java ! src/share/classes/sun/io/Converters.java ! src/share/classes/sun/java2d/Disposer.java ! src/share/classes/sun/java2d/HeadlessGraphicsEnvironment.java ! src/share/classes/sun/java2d/SurfaceData.java ! src/share/classes/sun/java2d/cmm/CMSManager.java ! src/share/classes/sun/java2d/cmm/lcms/LCMS.java ! src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java ! src/share/classes/sun/java2d/loops/DrawParallelogram.java ! src/share/classes/sun/java2d/loops/FillParallelogram.java ! src/share/classes/sun/java2d/loops/GraphicsPrimitive.java ! src/share/classes/sun/java2d/loops/RenderLoops.java ! src/share/classes/sun/java2d/pipe/BufferedPaints.java ! src/share/classes/sun/java2d/pipe/LoopPipe.java ! src/share/classes/sun/java2d/pipe/RenderBuffer.java ! src/share/classes/sun/java2d/pisces/Curve.java ! src/share/classes/sun/java2d/pisces/Dasher.java ! src/share/classes/sun/java2d/pisces/Helpers.java ! src/share/classes/sun/java2d/pisces/PiscesCache.java ! src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java ! src/share/classes/sun/java2d/pisces/Renderer.java ! src/share/classes/sun/java2d/pisces/Stroker.java ! src/share/classes/sun/java2d/pisces/TransformingPathConsumer2D.java ! src/share/classes/sun/jkernel/DownloadManager.java ! src/share/classes/sun/jvmstat/monitor/AbstractMonitor.java ! src/share/classes/sun/jvmstat/monitor/Monitor.java ! src/share/classes/sun/jvmstat/monitor/Units.java ! src/share/classes/sun/jvmstat/monitor/Variability.java ! src/share/classes/sun/jvmstat/perfdata/monitor/PerfByteArrayMonitor.java ! src/share/classes/sun/jvmstat/perfdata/monitor/PerfIntegerMonitor.java ! src/share/classes/sun/jvmstat/perfdata/monitor/PerfLongMonitor.java ! src/share/classes/sun/jvmstat/perfdata/monitor/PerfStringConstantMonitor.java ! src/share/classes/sun/jvmstat/perfdata/monitor/PerfStringMonitor.java ! src/share/classes/sun/jvmstat/perfdata/monitor/PerfStringVariableMonitor.java ! src/share/classes/sun/jvmstat/perfdata/monitor/v1_0/PerfDataBuffer.java ! src/share/classes/sun/jvmstat/perfdata/monitor/v2_0/PerfDataBuffer.java ! src/share/classes/sun/launcher/resources/launcher_de.properties ! src/share/classes/sun/launcher/resources/launcher_es.properties ! src/share/classes/sun/launcher/resources/launcher_fr.properties ! src/share/classes/sun/launcher/resources/launcher_it.properties ! src/share/classes/sun/launcher/resources/launcher_ja.properties ! src/share/classes/sun/launcher/resources/launcher_ko.properties ! src/share/classes/sun/launcher/resources/launcher_pt_BR.properties ! src/share/classes/sun/launcher/resources/launcher_sv.properties ! src/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/share/classes/sun/launcher/resources/launcher_zh_TW.properties ! src/share/classes/sun/management/Flag.java ! src/share/classes/sun/management/resources/agent_de.properties ! src/share/classes/sun/management/resources/agent_es.properties ! src/share/classes/sun/management/resources/agent_fr.properties ! src/share/classes/sun/management/resources/agent_it.properties ! src/share/classes/sun/management/resources/agent_ja.properties ! src/share/classes/sun/management/resources/agent_ko.properties ! src/share/classes/sun/management/resources/agent_pt_BR.properties ! src/share/classes/sun/management/resources/agent_sv.properties ! src/share/classes/sun/management/resources/agent_zh_CN.properties ! src/share/classes/sun/management/resources/agent_zh_TW.properties ! src/share/classes/sun/misc/BootClassLoaderHook.java ! src/share/classes/sun/misc/Launcher.java ! src/share/classes/sun/misc/VM.java ! src/share/classes/sun/net/InetAddressCachePolicy.java ! src/share/classes/sun/net/NetworkClient.java ! src/share/classes/sun/net/ftp/impl/FtpClient.java ! src/share/classes/sun/net/httpserver/ChunkedInputStream.java ! src/share/classes/sun/net/httpserver/Event.java ! src/share/classes/sun/net/httpserver/ExchangeImpl.java ! src/share/classes/sun/net/httpserver/FixedLengthInputStream.java ! src/share/classes/sun/net/httpserver/HttpConnection.java ! src/share/classes/sun/net/httpserver/Request.java ! src/share/classes/sun/net/httpserver/SSLStreams.java ! src/share/classes/sun/net/httpserver/ServerConfig.java ! src/share/classes/sun/net/httpserver/ServerImpl.java ! src/share/classes/sun/net/www/MessageHeader.java ! src/share/classes/sun/net/www/MimeTable.java ! src/share/classes/sun/net/www/http/HttpClient.java ! src/share/classes/sun/net/www/protocol/file/FileURLConnection.java ! src/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java ! src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java ! src/share/classes/sun/nio/ch/CompletedFuture.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java ! src/share/classes/sun/nio/ch/FileChannelImpl.java ! src/share/classes/sun/nio/ch/FileDispatcher.java ! src/share/classes/sun/nio/ch/IOUtil.java ! src/share/classes/sun/nio/ch/IOVecWrapper.java ! src/share/classes/sun/nio/ch/Interruptible.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/Util.java ! src/share/classes/sun/nio/cs/AbstractCharsetProvider.java ! src/share/classes/sun/nio/cs/UTF_32Coder.java ! src/share/classes/sun/nio/cs/UTF_8.java ! src/share/classes/sun/nio/cs/UnicodeEncoder.java ! src/share/classes/sun/nio/cs/ext/Big5_HKSCS_2001.java ! src/share/classes/sun/nio/cs/ext/Big5_Solaris.java ! src/share/classes/sun/nio/cs/ext/DoubleByte.java ! src/share/classes/sun/nio/cs/ext/EUC_JP.java ! src/share/classes/sun/nio/cs/ext/EUC_JP_LINUX.java ! src/share/classes/sun/nio/cs/ext/EUC_JP_Open.java ! src/share/classes/sun/nio/cs/ext/EUC_TW.java ! src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java ! src/share/classes/sun/nio/cs/ext/GB18030.java ! src/share/classes/sun/nio/cs/ext/IBM33722.java ! src/share/classes/sun/nio/cs/ext/IBM964.java ! src/share/classes/sun/nio/cs/ext/ISO2022.java ! src/share/classes/sun/nio/cs/ext/JISAutoDetect.java ! src/share/classes/sun/nio/cs/ext/MS950_HKSCS_XP.java ! src/share/classes/sun/nio/cs/ext/PCK.java ! src/share/classes/sun/nio/cs/ext/SJIS.java ! src/share/classes/sun/nio/fs/AbstractPath.java ! src/share/classes/sun/nio/fs/AbstractWatchKey.java ! src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties ! src/share/classes/sun/rmi/rmic/BatchEnvironment.java ! src/share/classes/sun/rmi/rmic/resources/rmic.properties ! src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties ! src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties ! src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties ! src/share/classes/sun/security/jca/Providers.java ! src/share/classes/sun/security/jgss/krb5/InitialToken.java ! src/share/classes/sun/security/pkcs11/P11ECKeyFactory.java ! src/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java ! src/share/classes/sun/security/provider/JavaKeyStore.java ! src/share/classes/sun/security/ssl/Krb5Helper.java ! src/share/classes/sun/security/ssl/Krb5Proxy.java ! src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java ! src/share/classes/sun/security/tools/JarSignerResources_ja.java ! src/share/classes/sun/security/tools/JarSignerResources_zh_CN.java ! src/share/classes/sun/security/util/AuthResources_de.java ! src/share/classes/sun/security/util/AuthResources_es.java ! src/share/classes/sun/security/util/AuthResources_fr.java ! src/share/classes/sun/security/util/AuthResources_it.java ! src/share/classes/sun/security/util/AuthResources_ja.java ! src/share/classes/sun/security/util/AuthResources_ko.java ! src/share/classes/sun/security/util/AuthResources_pt_BR.java ! src/share/classes/sun/security/util/AuthResources_sv.java ! src/share/classes/sun/security/util/AuthResources_zh_CN.java ! src/share/classes/sun/security/util/AuthResources_zh_TW.java ! src/share/classes/sun/security/util/Resources_fr.java ! src/share/classes/sun/security/util/Resources_it.java ! src/share/classes/sun/security/util/Resources_pt_BR.java ! src/share/classes/sun/security/x509/X509Key.java ! src/share/classes/sun/swing/SwingUtilities2.java ! src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java ! src/share/classes/sun/swing/table/DefaultTableCellHeaderRenderer.java ! src/share/classes/sun/text/resources/FormatData_be.java ! src/share/classes/sun/text/resources/FormatData_fr.java ! src/share/classes/sun/text/resources/FormatData_fr_BE.java ! src/share/classes/sun/text/resources/FormatData_fr_CA.java ! src/share/classes/sun/text/resources/FormatData_fr_CH.java ! src/share/classes/sun/tools/jar/Main.java ! src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java ! src/share/classes/sun/tools/jstat/Arguments.java ! src/share/classes/sun/tools/jstat/ExpressionResolver.java ! src/share/classes/sun/tools/jstat/JStatLogger.java ! src/share/classes/sun/tools/jstat/Jstat.java ! src/share/classes/sun/tools/jstat/OptionFinder.java ! src/share/classes/sun/tools/jstat/OptionLister.java ! src/share/classes/sun/tools/jstat/resources/jstat_options ! src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii.java ! src/share/classes/sun/util/BuddhistCalendar.java ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/logging/PlatformLogger.java ! src/share/classes/sun/util/logging/resources/logging_pt_BR.properties ! src/share/classes/sun/util/resources/CalendarData_hu.properties ! src/share/classes/sun/util/resources/CurrencyNames_uk_UA.properties ! src/share/classes/sun/util/resources/LocaleNames.properties ! src/share/classes/sun/util/resources/LocaleNames_nl.properties ! src/share/classes/sun/util/resources/LocaleNames_zh.properties ! src/share/classes/sun/util/resources/LocaleNames_zh_TW.properties ! src/share/demo/java2d/J2DBench/src/j2dbench/J2DBench.java ! src/share/demo/java2d/J2DBench/src/j2dbench/Option.java ! src/share/demo/java2d/J2DBench/src/j2dbench/Result.java ! src/share/demo/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java ! src/share/demo/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java ! src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextTests.java ! src/share/demo/jvmti/hprof/sample.makefile.txt ! src/share/javavm/export/classfile_constants.h ! src/share/native/com/sun/java/util/jar/pack/bytes.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! src/share/native/common/check_code.c ! src/share/native/common/jdk_util.c ! src/share/native/common/jni_util.c ! src/share/native/java/io/RandomAccessFile.c ! src/share/native/java/io/io_util.c ! src/share/native/java/io/io_util.h ! src/share/native/java/lang/Class.c ! src/share/native/java/lang/ClassLoader.c ! src/share/native/java/lang/System.c ! src/share/native/java/lang/fdlibm/include/fdlibm.h ! src/share/native/java/lang/java_props.h ! src/share/native/java/lang/reflect/Proxy.c ! src/share/native/java/net/net_util.c ! src/share/native/java/nio/Bits.c ! src/share/native/java/util/zip/Deflater.c ! src/share/native/java/util/zip/Inflater.c ! src/share/native/java/util/zip/ZipFile.c ! src/share/native/java/util/zip/zip_util.c ! src/share/native/java/util/zip/zip_util.h ! src/share/native/sun/awt/image/BufImgSurfaceData.c ! src/share/native/sun/awt/image/jpeg/imageioJPEG.c ! src/share/native/sun/awt/medialib/awt_ImagingLib.c ! src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c ! src/share/native/sun/awt/medialib/safe_alloc.h ! src/share/native/sun/awt/splashscreen/splashscreen_gif.c ! src/share/native/sun/awt/splashscreen/splashscreen_png.c ! src/share/native/sun/font/AccelGlyphCache.c ! src/share/native/sun/font/fontscalerdefs.h ! src/share/native/sun/font/freetypeScaler.c ! src/share/native/sun/font/sunFont.c ! src/share/native/sun/java2d/cmm/lcms/LCMS.c ! src/share/native/sun/java2d/loops/Any3Byte.c ! src/share/native/sun/java2d/loops/Any4Byte.c ! src/share/native/sun/java2d/loops/AnyByte.c ! src/share/native/sun/java2d/loops/AnyInt.c ! src/share/native/sun/java2d/loops/AnyShort.c ! src/share/native/sun/java2d/loops/DrawParallelogram.c ! src/share/native/sun/java2d/loops/FillParallelogram.c ! src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.c ! src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ! src/share/native/sun/java2d/loops/LoopMacros.h ! src/share/native/sun/java2d/loops/ProcessPath.c ! src/share/native/sun/java2d/opengl/OGLTextRenderer.c ! src/share/native/sun/management/Flag.c ! src/share/native/sun/misc/VM.c ! src/share/native/sun/misc/VMSupport.c ! src/share/native/sun/security/ec/ECC_JNI.cpp ! src/share/sample/nio/file/Chmod.java ! src/share/sample/nio/file/Copy.java ! src/share/sample/nio/file/WatchDir.java ! src/solaris/bin/jexec.c ! src/solaris/classes/java/io/UnixFileSystem.java ! src/solaris/classes/java/lang/ProcessImpl.java ! src/solaris/classes/java/lang/UNIXProcess.java.linux ! src/solaris/classes/java/lang/UNIXProcess.java.solaris ! src/solaris/classes/sun/awt/UNIXToolkit.java ! src/solaris/classes/sun/awt/X11/InfoWindow.java ! src/solaris/classes/sun/awt/X11/XBaseWindow.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XEmbeddedFrame.java ! src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java ! src/solaris/classes/sun/awt/X11/XFileDialogPeer.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/solaris/classes/sun/awt/X11/XRobotPeer.java ! src/solaris/classes/sun/awt/X11/XTextAreaPeer.java ! src/solaris/classes/sun/awt/X11/XTrayIconPeer.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11GraphicsDevice.java ! src/solaris/classes/sun/awt/X11GraphicsEnvironment.java ! src/solaris/classes/sun/awt/X11InputMethod.java ! src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties ! src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties ! src/solaris/classes/sun/awt/fontconfigs/solaris.fontconfig.properties ! src/solaris/classes/sun/awt/motif/MToolkit.java ! src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java ! src/solaris/classes/sun/java2d/x11/X11SurfaceData.java ! src/solaris/classes/sun/net/NetHooks.java ! src/solaris/classes/sun/net/sdp/SdpProvider.java ! src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java ! src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java ! src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java ! src/solaris/classes/sun/nio/ch/InheritedChannel.java ! src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java ! src/solaris/classes/sun/nio/ch/PipeImpl.java ! src/solaris/classes/sun/nio/ch/PollSelectorImpl.java ! src/solaris/classes/sun/nio/ch/SctpChannelImpl.java ! src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java ! src/solaris/classes/sun/nio/ch/SctpNet.java ! src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java ! src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java ! src/solaris/classes/sun/nio/cs/ext/COMPOUND_TEXT_Encoder.java ! src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java ! src/solaris/classes/sun/nio/fs/LinuxFileStore.java ! src/solaris/classes/sun/nio/fs/SolarisFileStore.java ! src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java ! src/solaris/classes/sun/nio/fs/UnixFileStore.java ! src/solaris/classes/sun/nio/fs/UnixPath.java ! src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java ! src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java ! src/solaris/classes/sun/tools/attach/SolarisVirtualMachine.java ! src/solaris/demo/jni/Poller/Poller.c ! src/solaris/native/java/io/FileOutputStream_md.c ! src/solaris/native/java/io/UnixFileSystem_md.c ! src/solaris/native/java/io/canonicalize_md.c ! src/solaris/native/java/io/io_util_md.c ! src/solaris/native/java/io/io_util_md.h ! src/solaris/native/java/lang/java_props_md.c ! src/solaris/native/java/lang/locale_str.h ! src/solaris/native/java/net/Inet4AddressImpl.c ! src/solaris/native/java/net/Inet6AddressImpl.c ! src/solaris/native/java/net/NetworkInterface.c ! src/solaris/native/java/net/PlainDatagramSocketImpl.c ! src/solaris/native/java/net/PlainSocketImpl.c ! src/solaris/native/java/net/net_util_md.c ! src/solaris/native/java/net/net_util_md.h ! src/solaris/native/java/nio/MappedByteBuffer.c ! src/solaris/native/sun/awt/awt.h ! src/solaris/native/sun/awt/awt_DrawingSurface.c ! src/solaris/native/sun/awt/awt_InputMethod.c ! src/solaris/native/sun/awt/awt_Robot.c ! src/solaris/native/sun/awt/awt_UNIXToolkit.c ! src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS32S16Func.c ! src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS32U16Func.c ! src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS32S16Func.c ! src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS32U16Func.c ! src/solaris/native/sun/awt/swing_GTKStyle.c ! src/solaris/native/sun/java2d/loops/java2d_Mlib.c ! src/solaris/native/sun/java2d/loops/vis_FuncArray.c ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c ! src/solaris/native/sun/java2d/x11/X11SurfaceData.h ! src/solaris/native/sun/net/sdp/SdpSupport.c ! src/solaris/native/sun/net/spi/DefaultProxySelector.c ! src/solaris/native/sun/nio/ch/IOUtil.c ! src/solaris/native/sun/nio/ch/Net.c ! src/solaris/native/sun/nio/ch/SctpNet.c ! src/solaris/native/sun/nio/ch/SocketChannelImpl.c ! src/solaris/native/sun/nio/ch/UnixAsynchronousSocketChannelImpl.c ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/solaris/native/sun/xawt/awt_Desktop.c ! src/windows/classes/java/io/Win32FileSystem.java ! src/windows/classes/java/lang/ProcessImpl.java ! src/windows/classes/sun/awt/Win32GraphicsDevice.java ! src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WEmbeddedFrame.java ! src/windows/classes/sun/awt/windows/WFileDialogPeer.java ! src/windows/classes/sun/awt/windows/WFramePeer.java ! src/windows/classes/sun/awt/windows/WInputMethod.java ! src/windows/classes/sun/awt/windows/WPrintDialogPeer.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java ! src/windows/classes/sun/awt/windows/fontconfig.properties ! src/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java ! src/windows/classes/sun/nio/ch/FileDispatcherImpl.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousChannelProvider.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java ! src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java ! src/windows/classes/sun/nio/fs/WindowsChannelFactory.java ! src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java ! src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_DirectSound.cpp ! src/windows/native/common/jni_util_md.c ! src/windows/native/java/io/FileOutputStream_md.c ! src/windows/native/java/io/WinNTFileSystem_md.c ! src/windows/native/java/io/io_util_md.c ! src/windows/native/java/io/io_util_md.h ! src/windows/native/java/lang/ProcessImpl_md.c ! src/windows/native/java/lang/java_props_md.c ! src/windows/native/java/net/NetworkInterface_winXP.c ! src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c ! src/windows/native/java/net/net_util_md.h ! src/windows/native/java/nio/MappedByteBuffer.c ! src/windows/native/java/util/TimeZone_md.c ! src/windows/native/sun/font/fontpath.c ! src/windows/native/sun/java2d/d3d/D3DGraphicsDevice.cpp ! src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp ! src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ! src/windows/native/sun/java2d/opengl/WGLSurfaceData.c ! src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp ! src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ! src/windows/native/sun/java2d/windows/WindowsFlags.cpp ! src/windows/native/sun/jkernel/DownloadDialog.cpp ! src/windows/native/sun/jkernel/DownloadHelper.cpp ! src/windows/native/sun/jkernel/kernel.rc ! src/windows/native/sun/jkernel/kernel_pt_BR.rc ! src/windows/native/sun/jkernel/stdafx.h ! src/windows/native/sun/net/spi/DefaultProxySelector.c ! src/windows/native/sun/nio/ch/DatagramChannelImpl.c ! src/windows/native/sun/nio/ch/FileDispatcherImpl.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 ! src/windows/native/sun/nio/ch/SocketDispatcher.c ! src/windows/native/sun/nio/ch/WindowsAsynchronousFileChannelImpl.c ! src/windows/native/sun/nio/ch/WindowsSelectorImpl.c ! src/windows/native/sun/nio/ch/nio_util.h ! src/windows/native/sun/windows/WPrinterJob.cpp ! src/windows/native/sun/windows/awt.h ! src/windows/native/sun/windows/awt_BitmapUtil.cpp ! src/windows/native/sun/windows/awt_Choice.cpp ! src/windows/native/sun/windows/awt_Choice.h ! src/windows/native/sun/windows/awt_DataTransferer.cpp ! src/windows/native/sun/windows/awt_Desktop.cpp ! src/windows/native/sun/windows/awt_DesktopProperties.cpp ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_DnDDS.cpp ! src/windows/native/sun/windows/awt_DrawingSurface.h ! src/windows/native/sun/windows/awt_FileDialog.cpp ! src/windows/native/sun/windows/awt_FileDialog.h ! src/windows/native/sun/windows/awt_Font.cpp ! src/windows/native/sun/windows/awt_InputMethod.cpp ! src/windows/native/sun/windows/awt_MenuItem.cpp ! src/windows/native/sun/windows/awt_PrintJob.cpp ! src/windows/native/sun/windows/awt_Robot.cpp ! src/windows/native/sun/windows/awt_TextArea.cpp ! src/windows/native/sun/windows/awt_TextComponent.h ! src/windows/native/sun/windows/awt_TextField.cpp ! src/windows/native/sun/windows/awt_TextField.h ! src/windows/native/sun/windows/awt_Toolkit.cpp ! src/windows/native/sun/windows/awt_Toolkit.h ! src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awtmsg.h ! test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java ! test/com/sun/crypto/provider/TLS/TestPremaster.java ! test/com/sun/crypto/provider/TLS/Utils.java ! test/com/sun/java/swing/plaf/gtk/Test6635110.java ! test/com/sun/jdi/PopAndInvokeTest.java ! test/com/sun/jdi/connect/spi/JdiLoadedByCustomLoader.sh ! test/com/sun/net/httpserver/Test.java ! test/com/sun/net/httpserver/Test1.java ! test/com/sun/net/httpserver/Test11.java ! test/com/sun/net/httpserver/Test12.java ! test/com/sun/net/httpserver/Test13.java ! test/com/sun/net/httpserver/Test6a.java ! test/com/sun/net/httpserver/Test7a.java ! test/com/sun/net/httpserver/Test8a.java ! test/com/sun/net/httpserver/Test9.java ! test/com/sun/net/httpserver/Test9a.java ! test/com/sun/net/httpserver/bugs/6725892/Test.java ! test/com/sun/net/httpserver/bugs/B6361557.java ! test/com/sun/net/httpserver/bugs/B6373555.java ! test/com/sun/net/httpserver/bugs/B6401598.java ! test/com/sun/nio/sctp/SctpChannel/Connect.java ! test/com/sun/nio/sctp/SctpChannel/Send.java ! test/com/sun/nio/sctp/SctpChannel/SocketOptionTests.java ! test/com/sun/nio/sctp/SctpMultiChannel/Send.java ! test/com/sun/servicetag/FindServiceTags.java ! test/com/sun/servicetag/JavaServiceTagTest1.java ! test/com/sun/servicetag/SystemRegistryTest.java ! test/com/sun/servicetag/Util.java ! test/com/sun/tools/attach/ProviderTests.sh ! test/com/sun/tracing/BasicFunctionality.java ! test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.java ! test/java/awt/EventQueue/PushPopDeadlock2/PushPopTest.java ! test/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.java ! test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.java ! test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.java ! test/java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java ! test/java/awt/regtesthelpers/process/ProcessCommunicator.java ! test/java/beans/Beans/Test4080522.java ! test/java/beans/EventHandler/Test6277246.java ! test/java/beans/EventHandler/Test6277266.java ! test/java/beans/Introspector/Test6277246.java ! test/java/beans/XMLEncoder/java_awt_GridBagConstraints.java ! test/java/io/BufferedReader/BigMark.java ! test/java/io/BufferedReader/ReadLineSync.java ! test/java/io/DataInputStream/OpsAfterClose.java ! test/java/io/DataInputStream/ReadFully.java ! test/java/io/File/Basic.java ! test/java/io/File/DeleteOnExit.java ! test/java/io/File/DeleteOnExitNPE.java ! test/java/io/File/IsHidden.java ! test/java/io/File/SetAccess.java ! test/java/io/File/SetReadOnly.java ! test/java/io/FileInputStream/LeadingSlash.java ! test/java/io/InputStream/OpsAfterClose.java ! test/java/io/InputStream/ReadParams.java ! test/java/io/InputStreamReader/GrowAfterEOF.java ! test/java/io/ObjectInputStream/ResolveProxyClass.java ! test/java/io/RandomAccessFile/EOF.java ! test/java/io/RandomAccessFile/ParameterCheck.java ! test/java/io/RandomAccessFile/ReadLine.java ! test/java/io/RandomAccessFile/Seek.java ! test/java/io/RandomAccessFile/WriteBytesChars.java ! test/java/io/RandomAccessFile/WriteUTF.java ! test/java/io/RandomAccessFile/skipBytes/SkipBytes.java ! test/java/io/Reader/Skip.java ! test/java/io/Reader/SkipNegative.java ! test/java/io/Serializable/ClassCastExceptionDetail/Read.java ! test/java/io/Serializable/auditStreamSubclass/AuditStreamSubclass.java ! test/java/io/Serializable/backRefCNFException/Read.java ! test/java/io/Serializable/checkModifiers/CheckModifiers.java ! test/java/io/Serializable/classDescFlagConflict/Read.java ! test/java/io/Serializable/classDescHooks/ClassDescHooks.java ! test/java/io/Serializable/duplicateSerialFields/Test.java ! test/java/io/Serializable/enum/badResolve/Read.java ! test/java/io/Serializable/enum/constantSubclasses/Read.java ! test/java/io/Serializable/enum/missingConstant/Read.java ! test/java/io/Serializable/evolution/RenamePackage/run.sh ! test/java/io/Serializable/fieldTypeString/Read.java ! test/java/io/Serializable/illegalHandle/Test.java ! test/java/io/Serializable/longString/LongString.java ! test/java/io/Serializable/oldTests/AnnotateClass.java ! test/java/io/Serializable/oldTests/ArrayFields.java ! test/java/io/Serializable/oldTests/ArraysOfArrays.java ! test/java/io/Serializable/oldTests/BinaryTree.java ! test/java/io/Serializable/oldTests/CircularList.java ! test/java/io/Serializable/oldTests/SimpleArrays.java ! test/java/io/Serializable/oldTests/WritePrimitive.java ! test/java/io/Serializable/packageAccess/Test.java ! test/java/io/Serializable/parents/EvolvedClass.java ! test/java/io/Serializable/parents/OriginalClass.java ! test/java/io/Serializable/proxy/Basic.java ! test/java/io/Serializable/proxy/skipMissing/Read.java ! test/java/io/Serializable/proxy/skipMissing/Write.java ! test/java/io/Serializable/readObjectNoData/Read.java ! test/java/io/Serializable/serialver/classpath/run.sh ! test/java/io/Serializable/serialver/nested/run.sh ! test/java/io/Serializable/skipWriteObject/Read.java ! test/java/io/Serializable/skippedObjCNFException/Read.java ! test/java/io/Serializable/stopCustomDeserialization/Read.java ! test/java/io/Serializable/unresolvedClassDesc/Read.java ! test/java/io/Serializable/unshared/Read.java ! test/java/io/Serializable/wrongReturnTypes/Read.java ! test/java/io/StreamTokenizer/Comment.java ! test/java/io/pathNames/GeneralWin32.java ! test/java/io/readBytes/ReadBytesBounds.java ! test/java/lang/ClassLoader/UninitializedParent.java ! test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh ! test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh ! test/java/lang/ClassLoader/defineClass/DefineClassByteBuffer.java ! test/java/lang/ClassLoader/findSystemClass/Loader.java ! test/java/lang/ProcessBuilder/Basic.java ! test/java/lang/Runtime/exec/ExecWithDir.java ! test/java/lang/String/Supplementary.java ! test/java/lang/StringBuffer/Supplementary.java ! test/java/lang/StringBuilder/Supplementary.java ! test/java/lang/StringCoding/CheckEncodings.sh ! test/java/lang/System/ExitFinalizersAndJIT.java ! test/java/lang/System/IgnoreNullSecurityManager.java ! test/java/lang/Thread/GenerifyStackTraces.java ! test/java/lang/Thread/StackTraces.java ! test/java/lang/annotation/ParameterAnnotations.java ! test/java/lang/management/ClassLoadingMXBean/LoadCounts.java ! test/java/lang/management/ManagementFactory/MXBeanProxyTest.java ! test/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java ! test/java/lang/management/MemoryMXBean/CollectionUsageThresholdConcMarkSweepGC.sh ! test/java/lang/management/MemoryMXBean/LowMemoryTest.java ! test/java/lang/management/MemoryMXBean/MemoryManagement.java ! test/java/lang/management/MemoryMXBean/Pending.java ! test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java ! test/java/lang/management/MemoryPoolMXBean/ThresholdTest.java ! test/java/lang/management/RuntimeMXBean/UpTime.java ! test/java/lang/management/ThreadMXBean/AllThreadIds.java ! test/java/lang/management/ThreadMXBean/DisableTest.java ! test/java/lang/management/ThreadMXBean/EnableTest.java ! test/java/lang/management/ThreadMXBean/FindDeadlocks.java ! test/java/lang/management/ThreadMXBean/FindMonitorDeadlock.java ! test/java/lang/management/ThreadMXBean/Locks.java ! test/java/lang/reflect/Proxy/Boxing.java ! test/java/lang/reflect/Proxy/ClassRestrictions.java ! test/java/lang/reflect/Proxy/returnTypes/Test.java ! test/java/net/Authenticator/B4769350.java ! test/java/net/BindException/Test.java ! test/java/net/CookieHandler/CookieHandlerTest.java ! test/java/net/CookieHandler/TestHttpCookie.java ! test/java/net/DatagramSocket/DatagramTimeout.java ! test/java/net/DatagramSocket/SendSize.java ! test/java/net/Inet6Address/B6214234.java ! test/java/net/Inet6Address/B6558853.java ! test/java/net/Inet6Address/serialize/Serialize.java ! test/java/net/InetAddress/CheckJNI.java ! test/java/net/MulticastSocket/NoLoopbackPackets.java ! test/java/net/MulticastSocket/SetOutgoingIf.java ! test/java/net/ProxySelector/B6737819.java ! test/java/net/ResponseCache/B6181108.java ! test/java/net/ResponseCache/ResponseCacheTest.java ! test/java/net/ResponseCache/getResponseCode.java ! test/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.java ! test/java/net/Socket/CloseAvailable.java ! test/java/net/Socket/DeadlockTest.java ! test/java/net/Socket/LingerTest.java ! test/java/net/Socket/LinkLocal.java ! test/java/net/Socket/ProxyCons.java ! test/java/net/Socket/ReadTimeout.java ! test/java/net/Socket/SetReceiveBufferSize.java ! test/java/net/Socket/SetSoLinger.java ! test/java/net/Socket/ShutdownBoth.java ! test/java/net/Socket/SoTimeout.java ! test/java/net/Socket/Timeout.java ! test/java/net/Socket/UrgentDataTest.java ! test/java/net/Socket/asyncClose/BrokenPipe.java ! test/java/net/Socket/setReuseAddress/Restart.java ! test/java/net/SocketInputStream/SocketClosedException.java ! test/java/net/SocketInputStream/SocketTimeout.java ! test/java/net/URI/Test.java ! test/java/net/URL/GetContent.java ! test/java/net/URL/TestIPv6Addresses.java ! test/java/net/URLClassLoader/ClassLoad.java ! test/java/net/URLClassLoader/HttpTest.java ! test/java/net/URLClassLoader/closetest/CloseTest.java ! test/java/net/URLConnection/B5052093.java ! test/java/net/URLConnection/DisconnectAfterEOF.java ! test/java/net/URLConnection/HandleContentTypeWithAttrs.java ! test/java/net/URLConnection/HttpContinueStackOverflow.java ! test/java/net/URLConnection/Redirect307Test.java ! test/java/net/URLConnection/RedirectLimit.java ! test/java/net/URLConnection/ResendPostBody.java ! test/java/net/URLConnection/SetIfModifiedSince.java ! test/java/net/URLConnection/TimeoutTest.java ! test/java/net/URLConnection/URLConnectionHeaders.java ! test/java/net/URLConnection/ZeroContentLength.java ! test/java/net/URLConnection/contentHandler/UserContentHandler.java ! test/java/net/ipv6tests/B6521014.java ! test/java/net/ipv6tests/TcpTest.java ! test/java/net/ipv6tests/Tests.java ! test/java/nio/Buffer/StringCharBufferSliceTest.java ! test/java/nio/BufferPoolMXBean/Basic.java ! test/java/nio/MappedByteBuffer/Basic.java ! test/java/nio/MappedByteBuffer/Force.java ! test/java/nio/MappedByteBuffer/ZeroMap.java ! test/java/nio/channels/AsyncCloseAndInterrupt.java ! test/java/nio/channels/AsynchronousChannelGroup/Basic.java ! test/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java ! test/java/nio/channels/AsynchronousChannelGroup/Identity.java ! test/java/nio/channels/AsynchronousFileChannel/Basic.java ! test/java/nio/channels/AsynchronousFileChannel/Lock.java ! test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java ! test/java/nio/channels/AsynchronousSocketChannel/Basic.java ! test/java/nio/channels/AsynchronousSocketChannel/Leaky.java ! test/java/nio/channels/Channels/Basic2.java ! test/java/nio/channels/Channels/Write.java ! test/java/nio/channels/DatagramChannel/AdaptDatagramSocket.java ! test/java/nio/channels/DatagramChannel/Connect.java ! test/java/nio/channels/DatagramChannel/EmptyBuffer.java ! test/java/nio/channels/DatagramChannel/NoSender.java ! test/java/nio/channels/DatagramChannel/ReceiveISA.java ! test/java/nio/channels/DatagramChannel/SRTest.java ! test/java/nio/channels/DatagramChannel/Sender.java ! test/java/nio/channels/DatagramChannel/SocketOptionTests.java ! test/java/nio/channels/FileChannel/Args.java ! test/java/nio/channels/FileChannel/ClosedChannelTransfer.java ! test/java/nio/channels/FileChannel/ExpandingMap.java ! test/java/nio/channels/FileChannel/Lock.java ! test/java/nio/channels/FileChannel/MapOverEnd.java ! test/java/nio/channels/FileChannel/MapReadOnly.java ! test/java/nio/channels/FileChannel/MapTest.java ! test/java/nio/channels/FileChannel/Mode.java ! test/java/nio/channels/FileChannel/Position.java ! test/java/nio/channels/FileChannel/Pread.java ! test/java/nio/channels/FileChannel/Pwrite.java ! test/java/nio/channels/FileChannel/Read.java ! test/java/nio/channels/FileChannel/ReadFull.java ! test/java/nio/channels/FileChannel/ReadToLimit.java ! test/java/nio/channels/FileChannel/ReleaseOnCloseDeadlock.java ! test/java/nio/channels/FileChannel/ScatteringRead.java ! test/java/nio/channels/FileChannel/Size.java ! test/java/nio/channels/FileChannel/Transfer.java ! test/java/nio/channels/FileChannel/TransferToChannel.java ! test/java/nio/channels/FileChannel/TransferToNonWritable.java ! test/java/nio/channels/FileChannel/Transfers.java ! test/java/nio/channels/FileChannel/Truncate.java ! test/java/nio/channels/FileChannel/TryLock.java ! test/java/nio/channels/FileChannel/Write.java ! test/java/nio/channels/Pipe/NonBlocking.java ! test/java/nio/channels/Pipe/SelectPipe.java ! test/java/nio/channels/SelectionKey/AtomicAttachTest.java ! test/java/nio/channels/Selector/BasicAccept.java ! test/java/nio/channels/Selector/BasicConnect.java ! test/java/nio/channels/Selector/ByteServer.java ! test/java/nio/channels/Selector/CheckLocking.java ! test/java/nio/channels/Selector/CloseInvalidatesKeys.java ! test/java/nio/channels/Selector/CloseThenRegister.java ! test/java/nio/channels/Selector/CloseWhenKeyIdle.java ! test/java/nio/channels/Selector/Connect.java ! test/java/nio/channels/Selector/ConnectWrite.java ! test/java/nio/channels/Selector/HelperSlowToDie.java ! test/java/nio/channels/Selector/KeysReady.java ! test/java/nio/channels/Selector/LotsOfChannels.java ! test/java/nio/channels/Selector/OpRead.java ! test/java/nio/channels/Selector/ReadAfterConnect.java ! test/java/nio/channels/Selector/RegAfterPreClose.java ! test/java/nio/channels/Selector/SelectAfterRead.java ! test/java/nio/channels/Selector/SelectAndCancel.java ! test/java/nio/channels/Selector/SelectWrite.java ! test/java/nio/channels/Selector/SelectorLimit.java ! test/java/nio/channels/Selector/SelectorTest.java ! test/java/nio/channels/Selector/WakeupNow.java ! test/java/nio/channels/Selector/WakeupOverflow.java ! test/java/nio/channels/Selector/WakeupSpeed.java ! test/java/nio/channels/Selector/lots_of_updates.sh ! test/java/nio/channels/ServerSocketChannel/SocketOptionTests.java ! test/java/nio/channels/SocketChannel/AdaptSocket.java ! test/java/nio/channels/SocketChannel/BigReadWrite.java ! test/java/nio/channels/SocketChannel/Bind.java ! test/java/nio/channels/SocketChannel/Close.java ! test/java/nio/channels/SocketChannel/CloseRegisteredChannel.java ! test/java/nio/channels/SocketChannel/CloseTimeoutChannel.java ! test/java/nio/channels/SocketChannel/IsConnectable.java ! test/java/nio/channels/SocketChannel/LocalAddress.java ! test/java/nio/channels/SocketChannel/OpenLeak.java ! test/java/nio/channels/SocketChannel/SocketInheritance.java ! test/java/nio/channels/SocketChannel/SocketOptionTests.java ! test/java/nio/channels/SocketChannel/Trivial.java ! test/java/nio/channels/SocketChannel/UnboundSocketTests.java ! test/java/nio/channels/SocketChannel/VectorIO.java ! test/java/nio/channels/SocketChannel/Write.java ! test/java/nio/channels/etc/Shadow.java ! test/java/nio/channels/spi/AsynchronousChannelProvider/Provider1.java ! test/java/nio/channels/spi/AsynchronousChannelProvider/Provider2.java ! test/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh ! test/java/nio/channels/spi/SelectorProvider/inheritedChannel/ClosedStreams.java ! test/java/nio/channels/spi/SelectorProvider/inheritedChannel/EchoTest.java ! test/java/nio/file/DirectoryStream/Basic.java ! test/java/nio/file/DirectoryStream/SecureDS.java ! test/java/nio/file/FileStore/Basic.java ! test/java/nio/file/Files/Misc.java ! test/java/nio/file/Files/PrintFileTree.java ! test/java/nio/file/Files/SkipSiblings.java ! test/java/nio/file/Files/TerminateWalk.java ! test/java/nio/file/Files/WalkWithSecurity.java ! test/java/nio/file/Files/walk_file_tree.sh ! test/java/nio/file/Path/CheckPermissions.java ! test/java/nio/file/Path/CopyAndMove.java ! test/java/nio/file/Path/InterruptCopy.java ! test/java/nio/file/Path/Misc.java ! test/java/nio/file/Path/PathOps.java ! test/java/nio/file/Path/delete_on_close.sh ! test/java/nio/file/TestUtil.java ! test/java/security/Provider/Turkish.java ! test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh ! test/java/util/Collection/BiggernYours.java ! test/java/util/Collection/IteratorAtEnd.java ! test/java/util/Collection/MOAT.java ! test/java/util/Collections/RacingCollections.java ! test/java/util/Deque/ChorusLine.java ! test/java/util/Formatter/Constructors.java ! test/java/util/Locale/PrintDefaultLocale.java ! test/java/util/Locale/data/deflocale.c ! test/java/util/Locale/data/deflocale.sh ! test/java/util/PluggableLocale/ExecTest.sh ! test/java/util/ResourceBundle/Bug4168625Test.java ! test/java/util/ResourceBundle/Bug6299235Test.sh ! test/java/util/ResourceBundle/Bug6359330.java ! test/java/util/ResourceBundle/Control/ExpirationTest.sh ! test/java/util/ResourceBundle/Test4300693.java ! test/java/util/ResourceBundle/TestBug4179766.java ! test/java/util/ServiceLoader/basic.sh ! test/java/util/concurrent/BlockingQueue/Interrupt.java ! test/java/util/concurrent/ConcurrentQueues/OfferRemoveLoops.java ! test/java/util/concurrent/CopyOnWriteArrayList/EqualsRace.java ! test/java/util/concurrent/CopyOnWriteArraySet/RacingCows.java ! test/java/util/concurrent/CyclicBarrier/Basic.java ! test/java/util/concurrent/Executors/AutoShutdown.java ! test/java/util/concurrent/Executors/Throws.java ! test/java/util/concurrent/FutureTask/BlockingTaskExecutor.java ! test/java/util/concurrent/FutureTask/Customized.java ! test/java/util/concurrent/ThreadPoolExecutor/ConfigChanges.java ! test/java/util/concurrent/ThreadPoolExecutor/Custom.java ! test/java/util/concurrent/ThreadPoolExecutor/ScheduledTickleService.java ! test/java/util/concurrent/ThreadPoolExecutor/ShutdownNowExecuteRace.java ! test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java ! test/java/util/concurrent/atomic/VMSupportsCS8.java ! test/java/util/concurrent/locks/Lock/FlakyMutex.java ! test/java/util/concurrent/locks/Lock/TimedAcquireLeak.java ! test/java/util/concurrent/locks/ReentrantReadWriteLock/Bug6571733.java ! test/java/util/regex/RegExTest.java ! test/java/util/zip/ZipFile/ReadZip.java ! test/javax/imageio/CachePremissionsTest/CachePermissionsTest.java ! test/javax/print/attribute/ServiceDialogTest.java ! test/javax/print/attribute/SidesPageRangesTest.java ! test/javax/script/ProviderTest.sh ! test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java ! test/javax/sound/midi/Gervill/SoftAudioSynthesizer/DummySourceDataLine.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/DummySourceDataLine.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java ! test/javax/swing/AbstractButton/6711682/bug6711682.java ! test/javax/swing/JLayer/SerializationTest/SerializationTest.java ! test/javax/swing/JTextArea/Test6593649.java ! test/javax/swing/plaf/nimbus/Test6919629.java ! test/javax/swing/system/6799345/TestShutdown.java ! test/sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java ! test/sun/java2d/GdiRendering/InsetClipping.java ! test/sun/java2d/SunGraphics2D/DrawImageBilinear.java ! test/sun/java2d/SunGraphics2D/SourceClippingBlitTest/SourceClippingBlitTest.java ! test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.java ! test/sun/java2d/pipe/MutableColorTest/MutableColorTest.java ! test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh ! test/sun/jvmstat/testlibrary/utils.sh ! test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh ! test/sun/misc/BootClassLoaderHook/TestHook.java ! test/sun/net/ftp/FtpGetContent.java ! test/sun/net/ftp/FtpURL.java ! test/sun/net/sdp/ProbeIB.java ! test/sun/net/sdp/sanity.sh ! test/sun/net/www/http/ChunkedInputStream/ChunkedEncodingTest.java ! test/sun/net/www/http/ChunkedInputStream/ChunkedEncodingWithProgressMonitorTest.java ! test/sun/net/www/http/ChunkedOutputStream/Test.java ! test/sun/net/www/http/HttpClient/B6726695.java ! test/sun/net/www/http/HttpClient/MultiThreadTest.java ! test/sun/net/www/http/HttpClient/ProxyTest.java ! test/sun/net/www/http/KeepAliveCache/B5045306.java ! test/sun/net/www/http/KeepAliveCache/KeepAliveTimerThread.java ! test/sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java ! test/sun/net/www/httptest/HttpServer.java ! test/sun/net/www/protocol/http/ChunkedErrorStream.java ! test/sun/net/www/protocol/http/DigestTest.java ! test/sun/nio/ch/Basic.java ! test/sun/nio/ch/TempBuffer.java ! test/sun/nio/cs/CheckHistoricalNames.java ! test/sun/nio/cs/FindDecoderBugs.java ! test/sun/nio/cs/ReadZero.java ! test/sun/nio/cs/Test4200310.sh ! test/sun/nio/cs/Test4206507.java ! test/sun/nio/cs/TestStringCoding.java ! test/sun/nio/cs/TestX11CNS.java ! test/sun/rmi/rmic/manifestClassPath/run.sh ! test/sun/security/krb5/auto/Context.java ! test/sun/security/pkcs11/KeyGenerator/TestKeyGenerator.java ! test/sun/security/pkcs11/tls/TestPremaster.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientModeClientAuth.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/B6226610.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java ! test/sun/text/resources/LocaleDataTest.java ! test/sun/tools/jps/jps-Vvml_2.sh ! test/sun/tools/jps/jps-help.sh ! test/sun/tools/jps/jps-m_2.sh ! test/sun/tools/jstat/jstatHelp.sh ! test/sun/tools/jstat/jstatOptions1.sh ! test/sun/tools/jstatd/jstatdDefaults.sh ! test/sun/tools/jstatd/jstatdExternalRegistry.sh ! test/sun/tools/jstatd/jstatdPort.sh ! test/sun/tools/jstatd/jstatdServerName.sh ! test/sun/tools/jstatd/jstatdUsage1.sh ! test/sun/util/logging/PlatformLoggerTest.java ! test/sun/util/resources/TimeZone/Bug6317929.java ! test/tools/jar/JarEntryTime.java ! test/tools/jar/index/MetaInf.java ! test/tools/launcher/ChangeDataModel.sh ! test/tools/launcher/DefaultLocaleTest.sh ! test/tools/launcher/UnicodeTest.sh Changeset: 1c72adc9d5f3 Author: ohair Date: 2010-12-28 16:12 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1c72adc9d5f3 6991482: Add global jdk makefile options to silence some VS2010 warnings Reviewed-by: prr ! make/common/Defs-windows.gmk ! make/common/shared/Defs-windows.gmk ! make/common/shared/Sanity-Settings.gmk Changeset: 0a56bdd709d0 Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0a56bdd709d0 Added tag jdk7-b124 for changeset 1c72adc9d5f3 ! .hgtags From john.coomes at oracle.com Thu Jan 6 20:45:08 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jan 2011 04:45:08 +0000 Subject: hg: jdk7/hotspot-comp/langtools: 51 new changesets Message-ID: <20110107044644.7D52547A39@hg.openjdk.java.net> Changeset: fb79ba6eb2e1 Author: cl Date: 2010-11-22 14:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/fb79ba6eb2e1 Added tag jdk7-b119 for changeset 814561077c44 ! .hgtags Changeset: d53cf2e9ad6c Author: ohair Date: 2010-12-03 19:45 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/d53cf2e9ad6c Merge ! .hgtags Changeset: abaceae7c9f8 Author: jjg Date: 2010-11-17 15:07 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/abaceae7c9f8 7000973: isBogus needs to be called on the to-be-returned entry, not on the current entry Reviewed-by: jjg Contributed-by: jan.lahoda at oracle.com ! src/share/classes/com/sun/tools/javac/code/Scope.java Changeset: 03177f49411d Author: jjg Date: 2010-11-18 16:13 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/03177f49411d 6999438: remove support for exotic identifiers from JDK 7 Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties - test/tools/javac/diags/examples/EmptyBytecodeIdent.java - test/tools/javac/diags/examples/IllegalBytecodeIdentChar.java - test/tools/javac/diags/examples/UnclosedBytecodeIdent.java - test/tools/javac/diags/examples/UnsupportedExoticID.java ! test/tools/javac/meth/InvokeDyn.java ! test/tools/javac/meth/InvokeDynTrans.java ! test/tools/javac/meth/InvokeDynTrans.out - test/tools/javac/quid/QuotedIdent.java - test/tools/javac/quid/QuotedIdent2.java + test/tools/javac/quid/T6999438.java + test/tools/javac/quid/T6999438.out Changeset: 2536dedd897e Author: mcimadamore Date: 2010-11-23 11:08 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/2536dedd897e 6995200: JDK 7 compiler crashes when type-variable is inferred from expected primitive type Summary: 15.12.2.8 should use boxing when expected type in assignment context is a primitive type Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! test/tools/javac/generics/inference/6638712/T6638712a.java + test/tools/javac/generics/inference/6995200/T6995200.java Changeset: 285896f2227a Author: jjg Date: 2010-11-23 13:32 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/285896f2227a 6942366: javadoc no longer inherits doc from sourcepath Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java + test/tools/javadoc/6942366/T6942366.java + test/tools/javadoc/6942366/Test.java + test/tools/javadoc/6942366/p/Base.java Changeset: 79d0c48d361e Author: jjg Date: 2010-11-23 15:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/79d0c48d361e 7002346: javap test relies on location of scratch directory Reviewed-by: ksrini ! test/tools/javap/T6729471.java Changeset: d44d6d8493ad Author: jjg Date: 2010-11-29 10:09 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/d44d6d8493ad 7003006: add option to list directory in deterministic order Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java Changeset: c44234f680da Author: jjg Date: 2010-11-29 14:15 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/c44234f680da 6900037: javac should warn if earlier -source is used and bootclasspath not set Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/code/Lint.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/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/BaseFileManager.java ! test/tools/javac/6341866/T6341866.java ! test/tools/javac/ClassFileModifiers/MemberModifiers.java + test/tools/javac/T6900037.java + test/tools/javac/T6900037.out ! test/tools/javac/TryWithResources/PlainTry.java ! test/tools/javac/annotations/neg/Dep.java ! test/tools/javac/diags/examples/AnnotationsNotSupported.java ! test/tools/javac/diags/examples/AssertAsIdentifier.java ! test/tools/javac/diags/examples/DiamondNotSupported.java ! test/tools/javac/diags/examples/EnumAsIdentifier.java ! test/tools/javac/diags/examples/EnumsNotSupported.java ! test/tools/javac/diags/examples/Expected2.java ! test/tools/javac/diags/examples/ForeachNotSupported.java ! test/tools/javac/diags/examples/GenericsNotSupported.java ! test/tools/javac/diags/examples/MulticatchNotSupported.java ! test/tools/javac/diags/examples/NeitherConditionalSubtype.java + test/tools/javac/diags/examples/SourceNoBootclasspath.java ! test/tools/javac/diags/examples/StaticImportNotSupported.java ! test/tools/javac/diags/examples/StringSwitchNotSupported.java ! test/tools/javac/diags/examples/TryResourceNotSupported.java ! test/tools/javac/diags/examples/TryWithoutCatchOrFinally.java ! test/tools/javac/diags/examples/UnsupportedBinaryLiteral.java ! test/tools/javac/diags/examples/UnsupportedFpLit.java ! test/tools/javac/diags/examples/UnsupportedUnderscoreLiteral.java ! test/tools/javac/diags/examples/VarargsNotSupported.java ! test/tools/javac/enum/6384542/T6384542.java ! test/tools/javac/enum/6384542/T6384542a.java ! test/tools/javac/literals/BadBinaryLiterals.java ! test/tools/javac/literals/BadUnderscoreLiterals.java ! test/tools/javac/processing/warnings/TestSourceVersionWarnings.java ! test/tools/javac/varargs/warning/Warn1.java Changeset: bcbc86cc5b31 Author: jjg Date: 2010-11-30 09:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/bcbc86cc5b31 7003477: Paths.isDefaultBootClassPath needs to be public Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/file/Paths.java Changeset: 1bf969e9792f Author: lana Date: 2010-12-06 20:35 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/1bf969e9792f Merge - test/tools/javac/diags/examples/EmptyBytecodeIdent.java - test/tools/javac/diags/examples/IllegalBytecodeIdentChar.java - test/tools/javac/diags/examples/UnclosedBytecodeIdent.java - test/tools/javac/diags/examples/UnsupportedExoticID.java - test/tools/javac/quid/QuotedIdent.java - test/tools/javac/quid/QuotedIdent2.java Changeset: 11e7b4c0476e Author: katleman Date: 2010-12-09 21:25 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/11e7b4c0476e Added tag jdk7-b121 for changeset 1bf969e9792f ! .hgtags Changeset: 9968ce958706 Author: cl Date: 2010-12-16 18:18 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/9968ce958706 Added tag jdk7-b122 for changeset 11e7b4c0476e ! .hgtags Changeset: 4f086529d05c Author: mfang Date: 2010-12-03 20:31 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4f086529d05c 6522789: [zh_CN] translation of "enclosing class" in doclet is incorrect Reviewed-by: yhuang ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties Changeset: d9deecf9181b Author: mfang Date: 2010-12-05 18:18 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/d9deecf9181b Merge Changeset: a0331c79cea9 Author: ohair Date: 2010-12-15 15:30 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/a0331c79cea9 Merge Changeset: 98570f7ba610 Author: ohair Date: 2010-12-16 19:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/98570f7ba610 Merge Changeset: 90af8d87741f Author: bpatel Date: 2010-12-01 11:02 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/90af8d87741f 6851834: Javadoc doclet needs a structured approach to generate the output HTML. Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java ! src/share/classes/com/sun/tools/doclets/formats/html/SplitIndexWriter.java - src/share/classes/com/sun/tools/doclets/formats/html/StylesheetWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java + src/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java + src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java + src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocument.java + src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java + src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java + src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/markup/RawHtml.java + src/share/classes/com/sun/tools/doclets/formats/html/markup/StringContent.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeOptionalMemberWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeRequiredMemberWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstructorWriter.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/EnumConstantWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/FieldWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/MethodWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/NestedClassWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties + src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DirectoryManager.java - src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! test/com/sun/javadoc/AccessAsciiArt/AccessAsciiArt.java ! test/com/sun/javadoc/AccessH1/AccessH1.java ! test/com/sun/javadoc/AccessSkipNav/AccessSkipNav.java ! test/com/sun/javadoc/AccessSummary/AccessSummary.java ! test/com/sun/javadoc/AuthorDD/AuthorDD.java ! test/com/sun/javadoc/JavascriptWinTitle/JavascriptWinTitle.java ! test/com/sun/javadoc/MetaTag/MetaTag.java ! test/com/sun/javadoc/ValidHtml/ValidHtml.java ! test/com/sun/javadoc/VersionNumber/VersionNumber.java ! test/com/sun/javadoc/WindowTitles/WindowTitles.java ! test/com/sun/javadoc/constantValues/TestConstantValuesDriver.java ! test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java ! test/com/sun/javadoc/testClassTree/TestClassTree.java ! test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java ! test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java ! test/com/sun/javadoc/testDocRootInlineTag/TestDocRootInlineTag.java ! test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java ! test/com/sun/javadoc/testHeadings/TestHeadings.java ! test/com/sun/javadoc/testHelpOption/TestHelpOption.java ! test/com/sun/javadoc/testHref/TestHref.java ! test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java + test/com/sun/javadoc/testHtmlDocument/TestHtmlDocument.java + test/com/sun/javadoc/testHtmlDocument/testLink.html + test/com/sun/javadoc/testHtmlDocument/testMarkup.html ! test/com/sun/javadoc/testHtmlStrongTag/TestHtmlStrongTag.java ! test/com/sun/javadoc/testHtmlTableTags/TestHtmlTableTags.java ! test/com/sun/javadoc/testHtmlTag/TestHtmlTag.java ! test/com/sun/javadoc/testIndex/TestIndex.java ! test/com/sun/javadoc/testInlineLinkLabel/TestInlineLinkLabel.java ! test/com/sun/javadoc/testInterface/TestInterface.java ! test/com/sun/javadoc/testJavascript/TestJavascript.java ! test/com/sun/javadoc/testLinkOption/TestLinkOption.java ! test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java ! test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java ! test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java ! test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java ! test/com/sun/javadoc/testNavagation/TestNavagation.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testOverridenMethods/TestMultiInheritence.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenMethodDocCopy.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java ! test/com/sun/javadoc/testPackagePage/TestPackagePage.java ! test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java ! test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java ! test/com/sun/javadoc/testSerializedForm/TestSerializedForm.java ! test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/com/sun/javadoc/testSimpleTag/TestSimpleTag.java ! test/com/sun/javadoc/testStylesheet/TestStylesheet.java ! test/com/sun/javadoc/testSummaryHeading/TestSummaryHeading.java ! test/com/sun/javadoc/testSuperclassInSerialForm/TestSuperClassInSerialForm.java ! test/com/sun/javadoc/testTagInheritence/TestTagInheritence.java ! test/com/sun/javadoc/testTaglets/TestTaglets.java ! test/com/sun/javadoc/testTaglets/taglets/Foo.java ! test/com/sun/javadoc/testThrowsHead/TestThrowsHead.java ! test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java ! test/com/sun/javadoc/testTitleInHref/TestTitleInHref.java ! test/com/sun/javadoc/testTypeParams/TestTypeParameters.java ! test/com/sun/javadoc/testUnnamedPackage/TestUnnamedPackage.java ! test/com/sun/javadoc/testValueTag/TestValueTag.java ! test/com/sun/javadoc/testWarnings/TestWarnings.java Changeset: 7e3e9f6d013f Author: jjg Date: 2010-12-02 16:37 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/7e3e9f6d013f 7004029: intermittent failures compiling pack200 Summary: remove "bogus" entries from star-import scopes Reviewed-by: mcimadamore Contributed-by: per.bothner at oracle.com ! src/share/classes/com/sun/tools/javac/code/Scope.java ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java + test/tools/javac/scope/HashCollisionTest.java + test/tools/javac/scope/StarImportTest.java Changeset: 28566c763dad Author: jjg Date: 2010-12-02 16:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/28566c763dad Merge - src/share/classes/com/sun/tools/doclets/formats/html/StylesheetWriter.java - src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java Changeset: 9359f4222545 Author: mcimadamore Date: 2010-12-03 16:31 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/9359f4222545 6956758: NPE in com.sun.tools.javac.code.Symbol - isSubClass Summary: Use of TransTypes.cast() instead of TransTypes.coerce() causes NPE in Lower Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java + test/tools/javac/generics/6956758/T6956758neg.java + test/tools/javac/generics/6956758/T6956758neg.out + test/tools/javac/generics/6956758/T6956758pos.java Changeset: aa6605d883dc Author: mcimadamore Date: 2010-12-03 16:32 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/aa6605d883dc 7002837: Diamond: javac generates diamond inference errors when in 'finder' mode Summary: Javac should disable error messages when analyzing instance creation expression in 'diamond finder' mode Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/generics/diamond/7002837/T7002837.java Changeset: 91b4f44c9742 Author: jjh Date: 2010-12-03 13:47 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/91b4f44c9742 6990209: JCK7-compiler lang/ICLS/icls006/icls00603/icls00603a.html#icls00603src test fails. Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java Changeset: d53b87e07b13 Author: lana Date: 2010-12-05 15:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/d53b87e07b13 Merge Changeset: 5fb14e67c371 Author: mcimadamore Date: 2010-12-06 11:49 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/5fb14e67c371 7003744: Compiler error concerning final variables Summary: Flow analysis does not cleanup init/uninint bit masks after for-loop Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/util/Bits.java + test/tools/javac/DefiniteAssignment/7003744/T7003744a.java + test/tools/javac/DefiniteAssignment/7003744/T7003744b.java Changeset: 56f59723fddf Author: mcimadamore Date: 2010-12-06 11:50 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/56f59723fddf 7002070: If catch clause has an incompatible type, error pointer points to first exception type in list Summary: Attribution should check each component of a disjunctive type separately, rather than checking the corresponding lub() Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/multicatch/Neg06.java + test/tools/javac/multicatch/Neg06.out Changeset: 536ee9f126b1 Author: mcimadamore Date: 2010-12-06 11:51 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/536ee9f126b1 5088429: varargs overloading problem Summary: compiler implementation for overload resolution w/ varargs method does not match JLS Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/varargs/5088429/T5088429Neg01.java + test/tools/javac/varargs/5088429/T5088429Neg01.out + test/tools/javac/varargs/5088429/T5088429Neg02.java + test/tools/javac/varargs/5088429/T5088429Neg02.out + test/tools/javac/varargs/5088429/T5088429Pos01.java + test/tools/javac/varargs/5088429/T5088429Pos02.java Changeset: 3c32c90031fd Author: jjg Date: 2010-12-07 14:13 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/3c32c90031fd 6999210: javac should be able to warn of anomalous conditions in classfiles Reviewed-by: mcimadamore, darcy ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java + test/tools/javac/T6999210.java ! test/tools/javac/annotations/6214965/T6214965.out ! test/tools/javac/annotations/6365854/test1.out ! test/tools/javac/annotations/6365854/test2.out ! test/tools/javac/diags/examples.not-yet.txt Changeset: acb02e1d5119 Author: jjg Date: 2010-12-08 13:42 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/acb02e1d5119 7004698: javap does not output CharacterRangeTable attributes correctly Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/AttributeWriter.java + test/tools/javap/T7004698.java Changeset: 23fc45d3a572 Author: darcy Date: 2010-12-08 21:21 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/23fc45d3a572 7003550: Loosen modeling requirements for annotation processing erroneous code Reviewed-by: jjg ! src/share/classes/javax/lang/model/element/package-info.java Changeset: 5ef88773462b Author: mcimadamore Date: 2010-12-09 15:50 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/5ef88773462b 7005095: Cast: compile reject sensible cast from final class to interface Summary: a previous fix to cast conversion has made the compiler too strict w.r.t. final cast Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/cast/7005095/T7005095neg.java + test/tools/javac/cast/7005095/T7005095neg.out + test/tools/javac/cast/7005095/T7005095pos.java Changeset: 1d625fbe6c22 Author: mcimadamore Date: 2010-12-09 15:50 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/1d625fbe6c22 6476118: compiler bug causes runtime ClassCastException for generics overloading Summary: compiler allows bridge methods to override unrelated method Reviewed-by: jjg ! 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/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/6476118/T6476118a.java + test/tools/javac/generics/6476118/T6476118a.out + test/tools/javac/generics/6476118/T6476118b.java + test/tools/javac/generics/6476118/T6476118b.out + test/tools/javac/generics/6476118/T6476118c.java + test/tools/javac/generics/6476118/T6476118c.out + test/tools/javac/generics/6476118/T6476118d.java Changeset: e3df8d7a9752 Author: mcimadamore Date: 2010-12-09 15:50 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/e3df8d7a9752 7005371: Multicatch: assertion error while generating LocalVariableTypeTable attribute Summary: compiler crashes with assertion error if '-g' option is passed and source contains multicatch Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java + test/tools/javac/multicatch/7005371/SubTest.java + test/tools/javac/multicatch/7005371/T7005371.java Changeset: bcf44475aeee Author: jjg Date: 2010-12-09 08:24 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/bcf44475aeee 4917091: javac rejects array over 128 in length Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/jvm/Gen.java + test/tools/javac/4917091/Test255.java + test/tools/javac/4917091/Test256a.java + test/tools/javac/4917091/Test256a.out + test/tools/javac/4917091/Test256b.java + test/tools/javac/4917091/Test256b.out Changeset: 90914ac50868 Author: jjg Date: 2010-12-09 08:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/90914ac50868 6985202: no access to doc comments from Tree API Reviewed-by: mcimadamore ! src/share/classes/com/sun/source/util/Trees.java ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java + test/tools/javac/api/TestDocComments.java Changeset: 4dd1c0176d81 Author: jjg Date: 2010-12-09 18:33 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4dd1c0176d81 7005856: avoid name clash for langtools when building on MacOS Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Changeset: 65820d0d4a97 Author: jjg Date: 2010-12-09 19:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/65820d0d4a97 6986242: cut-n-paste error in javadoc for Trees.instance(ProcessingEnvironment) Reviewed-by: darcy ! src/share/classes/com/sun/source/util/Trees.java Changeset: 2ca5866a8dfb Author: mcimadamore Date: 2010-12-10 15:23 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/2ca5866a8dfb 7005671: Regression: compiler accepts invalid cast from X[] to primitive array Summary: regression in type conversion after 292 changes Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/cast/7005671/T7005671.java + test/tools/javac/cast/7005671/T7005671.out Changeset: b1c98bfd4709 Author: mcimadamore Date: 2010-12-10 15:24 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/b1c98bfd4709 6199075: Unambiguous varargs method calls flagged as ambiguous Summary: javac does not implement overload resolution w.r.t. varargs methods as described in the JLS Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/varargs/6199075/T6199075.java Changeset: 8ec3a824f925 Author: jjg Date: 2010-12-10 07:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/8ec3a824f925 6504896: TreeMaker.Literal(Object) does not support Booleans Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java + test/tools/javac/tree/MakeLiteralTest.java Changeset: 878c8f760ded Author: jjg Date: 2010-12-12 10:05 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/878c8f760ded 6990134: minor (but red) findbugs warnings Reviewed-by: mcimadamore + src/share/classes/com/sun/tools/apt/main/AptJavaCompiler.java - src/share/classes/com/sun/tools/apt/main/JavaCompiler.java ! src/share/classes/com/sun/tools/apt/main/Main.java ! src/share/classes/com/sun/tools/apt/mirror/apt/FilerImpl.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/Resolve.java Changeset: fe43a7efd273 Author: lana Date: 2010-12-12 15:31 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/fe43a7efd273 Merge Changeset: dd9b5f767559 Author: lana Date: 2010-12-12 21:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/dd9b5f767559 Merge - src/share/classes/com/sun/tools/apt/main/JavaCompiler.java Changeset: 2199365892b1 Author: mcimadamore Date: 2010-12-13 14:56 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/2199365892b1 7006109: Add test library to simplify the task of writing automated type-system tests Summary: Types.java needs to be more stress-tested Reviewed-by: jjg + test/tools/javac/types/BoxingConversionTest.java + test/tools/javac/types/CastTest.java + test/tools/javac/types/PrimitiveConversionTest.java + test/tools/javac/types/TypeHarness.java Changeset: ffbf2b2a8611 Author: bpatel Date: 2010-12-13 13:44 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/ffbf2b2a8611 7006270: Several javadoc regression tests are failing on windows Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! test/com/sun/javadoc/testHtmlDocument/TestHtmlDocument.java Changeset: 2f2ead61db06 Author: bpatel Date: 2010-12-13 14:08 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/2f2ead61db06 Merge - src/share/classes/com/sun/tools/apt/main/JavaCompiler.java Changeset: 7b99f98b3035 Author: mcimadamore Date: 2010-12-13 15:11 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/7b99f98b3035 6993978: Project Coin: Compiler support of annotation to reduce varargs warnings Reviewed-by: jjg, darcy ! src/share/classes/com/sun/tools/javac/code/Source.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/Infer.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/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/List.java ! src/share/classes/com/sun/tools/javac/util/Warner.java ! test/tools/javac/diags/CheckExamples.java ! test/tools/javac/diags/RunExamples.java + test/tools/javac/diags/examples/TrustMeOnNonVarargsMeth.java + test/tools/javac/diags/examples/TrustMeOnReifiableVarargsParam.java + test/tools/javac/diags/examples/TrustMeOnVirtualMethod.java ! test/tools/javac/diags/examples/UncheckedGenericArrayCreation.java + test/tools/javac/diags/examples/UnsafeUseOfVarargsParam.java - test/tools/javac/diags/examples/VarargsFilename.java - test/tools/javac/diags/examples/VarargsFilenameAdditional.java ! test/tools/javac/diags/examples/VarargsNonReifiableType.java - test/tools/javac/diags/examples/VarargsPlural/VarargsFilename.java - test/tools/javac/diags/examples/VarargsPlural/VarargsPlural.java - test/tools/javac/diags/examples/VarargsPluralAdditional/VarargsFilename.java - test/tools/javac/diags/examples/VarargsPluralAdditional/VarargsPlural.java - test/tools/javac/diags/examples/VarargsPluralAdditional/VarargsPluralAdditional.java ! test/tools/javac/varargs/6730476/T6730476a.java ! test/tools/javac/varargs/6806876/T6806876.out + test/tools/javac/varargs/6993978/T6993978neg.java + test/tools/javac/varargs/6993978/T6993978neg.out ! test/tools/javac/varargs/warning/Warn4.java + test/tools/javac/varargs/warning/Warn5.java Changeset: a3b5b531542a Author: lana Date: 2010-12-20 21:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/a3b5b531542a Merge - src/share/classes/com/sun/tools/apt/main/JavaCompiler.java - src/share/classes/com/sun/tools/doclets/formats/html/StylesheetWriter.java - src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java - test/tools/javac/diags/examples/VarargsFilename.java - test/tools/javac/diags/examples/VarargsFilenameAdditional.java - test/tools/javac/diags/examples/VarargsPlural/VarargsFilename.java - test/tools/javac/diags/examples/VarargsPlural/VarargsPlural.java - test/tools/javac/diags/examples/VarargsPluralAdditional/VarargsFilename.java - test/tools/javac/diags/examples/VarargsPluralAdditional/VarargsPlural.java - test/tools/javac/diags/examples/VarargsPluralAdditional/VarargsPluralAdditional.java Changeset: 659417e931fe Author: cl Date: 2010-12-22 15:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/659417e931fe Added tag jdk7-b123 for changeset a3b5b531542a ! .hgtags Changeset: 4868a36f6fd8 Author: ohair Date: 2010-12-28 15:54 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4868a36f6fd8 6962318: Update copyright year Reviewed-by: xdono ! make/Makefile ! make/build.properties ! make/tools/CompileProperties/CompileProperties.java ! make/tools/CompileProperties/CompilePropertiesTask.java ! src/share/classes/com/sun/mirror/util/SourceOrderDeclScanner.java ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/Tree.java ! src/share/classes/com/sun/source/tree/TreeVisitor.java ! src/share/classes/com/sun/source/tree/TryTree.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/source/util/Trees.java ! src/share/classes/com/sun/tools/apt/comp/Apt.java ! src/share/classes/com/sun/tools/apt/main/CommandLine.java ! src/share/classes/com/sun/tools/apt/main/Main.java ! src/share/classes/com/sun/tools/apt/mirror/apt/FilerImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/TypeMirrorImpl.java ! src/share/classes/com/sun/tools/apt/resources/apt_ja.properties ! src/share/classes/com/sun/tools/apt/resources/apt_zh_CN.properties ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java ! src/share/classes/com/sun/tools/doclets/formats/html/SplitIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeOptionalMemberWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeRequiredMemberWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstructorWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/EnumConstantWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/FieldWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/MethodWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/NestedClassWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DirectoryManager.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/doclets/standard/Standard.java ! src/share/classes/com/sun/tools/javac/Launcher.java ! src/share/classes/com/sun/tools/javac/api/JavacTool.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Kinds.java ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.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/Infer.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/file/Paths.java ! src/share/classes/com/sun/tools/javac/jvm/CRTable.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/jvm/Items.java ! src/share/classes/com/sun/tools/javac/jvm/Target.java ! src/share/classes/com/sun/tools/javac/main/CommandLine.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/main/OptionName.java ! src/share/classes/com/sun/tools/javac/main/RecognizedOptions.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/model/JavacTypes.java ! src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java ! src/share/classes/com/sun/tools/javac/nio/PathFileObject.java ! src/share/classes/com/sun/tools/javac/parser/Keywords.java ! src/share/classes/com/sun/tools/javac/processing/JavacFiler.java ! src/share/classes/com/sun/tools/javac/processing/JavacMessager.java ! src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java ! src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! src/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/legacy.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/AbstractLog.java ! src/share/classes/com/sun/tools/javac/util/BaseFileManager.java ! src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/Bits.java ! src/share/classes/com/sun/tools/javac/util/FatalError.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java ! src/share/classes/com/sun/tools/javac/util/List.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java ! src/share/classes/com/sun/tools/javac/util/Options.java ! src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/Warner.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/DocletInvoker.java ! src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java ! src/share/classes/com/sun/tools/javadoc/Messager.java ! src/share/classes/com/sun/tools/javadoc/Start.java ! src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties ! src/share/classes/com/sun/tools/javah/JNI.java ! src/share/classes/com/sun/tools/javah/LLNI.java ! src/share/classes/com/sun/tools/javah/Mangle.java ! src/share/classes/com/sun/tools/javah/TypeSignature.java ! src/share/classes/com/sun/tools/javah/resources/version.properties-template ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! src/share/classes/com/sun/tools/javap/CodeWriter.java ! src/share/classes/com/sun/tools/javap/SourceWriter.java ! src/share/classes/javax/lang/model/element/ElementKind.java ! src/share/classes/javax/lang/model/element/ElementVisitor.java ! src/share/classes/javax/lang/model/type/MirroredTypeException.java ! src/share/classes/javax/lang/model/type/MirroredTypesException.java ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/share/classes/javax/lang/model/util/ElementScanner6.java ! src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor6.java ! src/share/classes/javax/tools/ToolProvider.java ! src/share/sample/javac/processing/src/CheckNamesProcessor.java ! test/com/sun/javadoc/AccessAsciiArt/AccessAsciiArt.java ! test/com/sun/javadoc/AccessH1/AccessH1.java ! test/com/sun/javadoc/AccessSkipNav/AccessSkipNav.java ! test/com/sun/javadoc/AccessSummary/AccessSummary.java ! test/com/sun/javadoc/AuthorDD/AuthorDD.java ! test/com/sun/javadoc/JavascriptWinTitle/JavascriptWinTitle.java ! test/com/sun/javadoc/MetaTag/MetaTag.java ! test/com/sun/javadoc/ValidHtml/ValidHtml.java ! test/com/sun/javadoc/VersionNumber/VersionNumber.java ! test/com/sun/javadoc/WindowTitles/WindowTitles.java ! test/com/sun/javadoc/constantValues/TestConstantValuesDriver.java ! test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java ! test/com/sun/javadoc/testClassTree/TestClassTree.java ! test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java ! test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java ! test/com/sun/javadoc/testDocRootInlineTag/TestDocRootInlineTag.java ! test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java ! test/com/sun/javadoc/testHeadings/TestHeadings.java ! test/com/sun/javadoc/testHelpOption/TestHelpOption.java ! test/com/sun/javadoc/testHref/TestHref.java ! test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/com/sun/javadoc/testHtmlStrongTag/TestHtmlStrongTag.java ! test/com/sun/javadoc/testHtmlTableTags/TestHtmlTableTags.java ! test/com/sun/javadoc/testHtmlTag/TestHtmlTag.java ! test/com/sun/javadoc/testIndex/TestIndex.java ! test/com/sun/javadoc/testInlineLinkLabel/TestInlineLinkLabel.java ! test/com/sun/javadoc/testInterface/TestInterface.java ! test/com/sun/javadoc/testJavascript/TestJavascript.java ! test/com/sun/javadoc/testLinkOption/TestLinkOption.java ! test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java ! test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java ! test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java ! test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java ! test/com/sun/javadoc/testNavagation/TestNavagation.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testOverridenMethods/TestMultiInheritence.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenMethodDocCopy.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java ! test/com/sun/javadoc/testPackagePage/TestPackagePage.java ! test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java ! test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java ! test/com/sun/javadoc/testSerializedForm/TestSerializedForm.java ! test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/com/sun/javadoc/testSimpleTag/TestSimpleTag.java ! test/com/sun/javadoc/testStylesheet/TestStylesheet.java ! test/com/sun/javadoc/testSummaryHeading/TestSummaryHeading.java ! test/com/sun/javadoc/testSuperclassInSerialForm/TestSuperClassInSerialForm.java ! test/com/sun/javadoc/testTagInheritence/TestTagInheritence.java ! test/com/sun/javadoc/testTaglets/TestTaglets.java ! test/com/sun/javadoc/testTaglets/taglets/Foo.java ! test/com/sun/javadoc/testThrowsHead/TestThrowsHead.java ! test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java ! test/com/sun/javadoc/testTitleInHref/TestTitleInHref.java ! test/com/sun/javadoc/testTypeParams/TestTypeParameters.java ! test/com/sun/javadoc/testUnnamedPackage/TestUnnamedPackage.java ! test/com/sun/javadoc/testValueTag/TestValueTag.java ! test/com/sun/javadoc/testWarnings/TestWarnings.java ! test/tools/javac/6341866/Anno.java ! test/tools/javac/6341866/T6341866.java ! test/tools/javac/6402516/CheckLocalElements.java ! test/tools/javac/ClassFileModifiers/ClassModifiers.java ! test/tools/javac/ClassFileModifiers/MemberModifiers.java ! test/tools/javac/EarlyAssert.java ! test/tools/javac/InterfaceAssert.java ! test/tools/javac/OverrideChecks/6738538/T6738538a.java ! test/tools/javac/OverrideChecks/6738538/T6738538b.java ! test/tools/javac/T6358024.java ! test/tools/javac/T6403466.java ! test/tools/javac/T6411379.java ! test/tools/javac/T6423583.java ! test/tools/javac/T6705935.java ! test/tools/javac/ThrowsIntersection_1.java ! test/tools/javac/ThrowsIntersection_2.java ! test/tools/javac/ThrowsIntersection_3.java ! test/tools/javac/ThrowsIntersection_4.java ! test/tools/javac/annotations/6214965/T6214965.java ! test/tools/javac/annotations/6365854/T6365854.java ! test/tools/javac/annotations/neg/Constant.java ! test/tools/javac/annotations/neg/Dep.java ! test/tools/javac/annotations/pos/TrailingComma.java ! test/tools/javac/api/6421111/T6421111.java ! test/tools/javac/api/6468404/T6468404.java ! test/tools/javac/api/6731573/T6731573.java ! test/tools/javac/api/T6392782.java ! test/tools/javac/api/T6412669.java ! test/tools/javac/api/TestOperators.java ! test/tools/javac/cast/6548436/T6548436d.java ! test/tools/javac/cast/6558559/T6558559a.java ! test/tools/javac/cast/6558559/T6558559b.java ! test/tools/javac/cast/6586091/T6586091.java ! test/tools/javac/danglingDep/DepX.java ! test/tools/javac/danglingDep/NoDepX.java ! test/tools/javac/danglingDep/Test1.java ! test/tools/javac/depOverrides/annotation/Test1.java ! test/tools/javac/depOverrides/annotation/Test2.java ! test/tools/javac/depOverrides/doccomment/Test1.java ! test/tools/javac/depOverrides/doccomment/Test2.java ! test/tools/javac/diags/examples/BadSourceFileHeader/sourcepath/p/A.java ! test/tools/javac/enum/6424358/T6424358.java ! test/tools/javac/enum/T6724345.java ! test/tools/javac/generics/Casting.java ! test/tools/javac/generics/Casting3.java ! test/tools/javac/generics/Casting4.java ! test/tools/javac/generics/InnerInterface1.java ! test/tools/javac/generics/InnerInterface2.java ! test/tools/javac/generics/Multibound1.java ! test/tools/javac/generics/MultipleInheritance.java ! test/tools/javac/generics/NameOrder.java ! test/tools/javac/generics/PermuteBound.java ! test/tools/javac/generics/PrimitiveVariant.java ! test/tools/javac/generics/T6557954.java ! test/tools/javac/generics/T6751514.java ! test/tools/javac/generics/T6869075.java ! test/tools/javac/generics/inference/6569789/T6569789.java ! test/tools/javac/generics/inference/6650759/T6650759a.java ! test/tools/javac/generics/typevars/5060485/Compatibility.java ! test/tools/javac/generics/typevars/5060485/Compatibility02.java ! test/tools/javac/generics/typevars/T6880344.java ! test/tools/javac/generics/wildcards/T6732484.java ! test/tools/javac/mandatoryWarnings/deprecated/Test.java ! test/tools/javac/mandatoryWarnings/unchecked/Test.java ! test/tools/javac/meth/InvokeMHTrans.java ! test/tools/javac/nio/compileTest/CompileTest.java ! test/tools/javac/policy/test1/Test1a.java ! test/tools/javac/policy/test2/Test.java ! test/tools/javac/processing/model/util/elements/Foo.java ! test/tools/javac/rawDiags/Note.java ! test/tools/javac/tree/TreeKindTest.java ! test/tools/javac/typeAnnotations/newlocations/BasicTest.java ! test/tools/javac/varargs/T6746184.java ! test/tools/javac/varargs/warning/Warn1.java ! test/tools/javadoc/T4994049/FileWithTabs.java ! test/tools/javadoc/T4994049/T4994049.java ! test/tools/javap/T6715251.java ! test/tools/javap/T6715753.java ! test/tools/javap/T6729471.java ! test/tools/javap/T6868539.java Changeset: 4b0560c72b52 Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4b0560c72b52 Added tag jdk7-b124 for changeset 4868a36f6fd8 ! .hgtags From igor.veresov at oracle.com Thu Jan 6 22:23:37 2011 From: igor.veresov at oracle.com (igor.veresov at oracle.com) Date: Fri, 07 Jan 2011 06:23:37 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7010618: C1: array length should be treated at int on 64bit during array allocation Message-ID: <20110107062345.5944B47A4A@hg.openjdk.java.net> Changeset: 55f868e91c3b Author: iveresov Date: 2011-01-06 16:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/55f868e91c3b 7010618: C1: array length should be treated at int on 64bit during array allocation Summary: Sign-extend the length argument during array allocation Reviewed-by: never, kvn ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp From christian.thalinger at oracle.com Fri Jan 7 03:17:24 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 7 Jan 2011 12:17:24 +0100 Subject: Request for reviews (XS): 7010913: JSR 292 ciMethodHandle does not handle MethodHandleCompiler exceptions properly Message-ID: <51358272-5BC8-4CC9-8A47-551F5EEB5E60@oracle.com> http://cr.openjdk.java.net/~twisti/7010913/webrev.01/ 7010913: JSR 292 ciMethodHandle does not handle MethodHandleCompiler exceptions properly Reviewed-by: This is a spin-off from 7009600 to fix the fact that ciMethodHandle::get_adapter does not handle MethodHandleCompiler exceptions properly. 7009600 should fix the actual conversion problem. ciMethodHandles::get_adapter should use CATCH instead of CHECK_NULL which returns a null-pointer as target method. From Christian.Thalinger at Sun.COM Fri Jan 7 09:01:00 2011 From: Christian.Thalinger at Sun.COM (Christian.Thalinger at Sun.COM) Date: Fri, 07 Jan 2011 17:01:00 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 40 new changesets Message-ID: <20110107170215.9EE8347A67@hg.openjdk.java.net> Changeset: 642e54d1850a Author: dsamersoff Date: 2010-12-09 17:53 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/642e54d1850a 6989076: JVM crashes in klassItable::initialize_itable_for_interface Summary: hotspot should check protection attribute besides the name and signature of the method when constructing vtable. Reviewed-by: dcubed ! src/share/vm/oops/klassVtable.cpp Changeset: 09b4dd4f152b Author: kamg Date: 2010-12-09 15:04 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/09b4dd4f152b 7004582: Add GetThisObject() function to JVMTI 1.2 Summary: Add 'GetThisObject' function Reviewed-by: never, coleenp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/prims/jvmti.xml ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiImpl.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/vframe_hp.cpp Changeset: a5610f0862fe Author: dholmes Date: 2010-12-09 20:12 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/a5610f0862fe 7005007: Refine use of ALT_COMPILER_PATH to avoid conflict with JPRT usage Summary: Check for CROSS_COMPILE_ARCH being set as an indicator to use ALT_COMPILER_PATH Reviewed-by: acorn, ohair ! make/linux/makefiles/build_vm_def.sh ! make/linux/makefiles/gcc.make Changeset: 7cf1a74771e8 Author: coleenp Date: 2010-12-10 12:13 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7cf1a74771e8 6988439: Parallel Class Loading test deadlock involving MethodData_lock and Pending List Lock Summary: Don't acquire methodData_lock while holding pending list lock Reviewed-by: kvn, never, ysr ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/instanceRefKlass.hpp ! src/share/vm/oops/methodOop.cpp Changeset: 2d4762ec74af Author: zgu Date: 2010-12-11 13:20 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2d4762ec74af 7003748: Decode C stack frames when symbols are presented (PhoneHome project) Summary: Implemented in-process C native stack frame decoding when symbols are available. Reviewed-by: coleenp, never ! make/solaris/makefiles/vm.make + src/os/linux/vm/decoder_linux.cpp ! src/os/linux/vm/os_linux.cpp + src/os/solaris/vm/decoder_solaris.cpp ! src/os/solaris/vm/os_solaris.cpp + src/os/windows/vm/decoder_windows.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/frame.cpp + src/share/vm/utilities/decoder.cpp + src/share/vm/utilities/decoder.hpp + src/share/vm/utilities/elfFile.cpp + src/share/vm/utilities/elfFile.hpp + src/share/vm/utilities/elfStringTable.cpp + src/share/vm/utilities/elfStringTable.hpp + src/share/vm/utilities/elfSymbolTable.cpp + src/share/vm/utilities/elfSymbolTable.hpp ! src/share/vm/utilities/vmError.cpp Changeset: 54f5dd2aa1d9 Author: zgu Date: 2010-12-11 13:46 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/54f5dd2aa1d9 Merge ! make/solaris/makefiles/vm.make - src/os/linux/launcher/java.c - src/os/linux/launcher/java.h - src/os/linux/launcher/java_md.c - src/os/linux/launcher/java_md.h - src/os/linux/vm/hpi_linux.cpp - src/os/linux/vm/hpi_linux.hpp ! src/os/linux/vm/os_linux.cpp - src/os/solaris/launcher/java.c - src/os/solaris/launcher/java.h - src/os/solaris/launcher/java_md.c - src/os/solaris/launcher/java_md.h - src/os/solaris/vm/hpi_solaris.cpp - src/os/solaris/vm/hpi_solaris.hpp ! src/os/solaris/vm/os_solaris.cpp - src/os/windows/vm/hpi_windows.cpp - src/os/windows/vm/hpi_windows.hpp ! src/os/windows/vm/os_windows.cpp - src/share/vm/prims/hpi_imported.h ! src/share/vm/runtime/frame.cpp - src/share/vm/runtime/hpi.cpp - src/share/vm/runtime/hpi.hpp Changeset: 06ba96862949 Author: coleenp Date: 2010-12-13 14:46 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/06ba96862949 Merge Changeset: b03e6b4c7c75 Author: coleenp Date: 2010-12-14 15:10 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/b03e6b4c7c75 7006471: fix for 6988439 crashes when pending list lock is null Summary: missing null check in owns_pending_list_lock() because this can be called before pending_list_lock is initialized. Reviewed-by: never, kvn ! src/share/vm/oops/instanceRefKlass.cpp Changeset: e7ad5f6f4d29 Author: stefank Date: 2010-12-15 05:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e7ad5f6f4d29 7006659: temporary adlc files are added to the build variables Summary: Don't recurse into sub-directories when looking for source files. Reviewed-by: never, brutisso ! make/linux/makefiles/vm.make ! make/solaris/makefiles/vm.make ! make/windows/create_obj_files.sh Changeset: aa6e219afbf1 Author: sla Date: 2010-12-15 07:11 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher Summary: Updates to Visual Studio project creation and development launcher Reviewed-by: stefank, coleenp ! make/linux/makefiles/buildtree.make ! make/solaris/makefiles/buildtree.make ! make/windows/build_vm_def.sh ! make/windows/create.bat ! make/windows/makefiles/adlc.make ! make/windows/makefiles/compile.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/fastdebug.make ! make/windows/makefiles/generated.make ! make/windows/makefiles/launcher.make ! make/windows/makefiles/product.make ! make/windows/makefiles/projectcreator.make ! make/windows/makefiles/rules.make ! make/windows/makefiles/vm.make ! make/windows/projectfiles/common/Makefile ! make/windows/projectfiles/compiler1/Makefile ! make/windows/projectfiles/compiler1/vm.def ! make/windows/projectfiles/compiler2/Makefile ! make/windows/projectfiles/compiler2/vm.def ! make/windows/projectfiles/core/Makefile ! make/windows/projectfiles/core/vm.def ! make/windows/projectfiles/kernel/Makefile ! make/windows/projectfiles/kernel/vm.def ! make/windows/projectfiles/tiered/Makefile ! make/windows/projectfiles/tiered/vm.def ! src/os/posix/launcher/java_md.c ! src/os/posix/launcher/launcher.script ! src/os/windows/launcher/java_md.c ! src/os/windows/vm/os_windows.cpp ! src/share/tools/ProjectCreator/BuildConfig.java ! src/share/tools/ProjectCreator/WinGammaPlatform.java ! src/share/tools/ProjectCreator/WinGammaPlatformVC6.java ! src/share/tools/ProjectCreator/WinGammaPlatformVC7.java ! src/share/tools/ProjectCreator/WinGammaPlatformVC8.java ! src/share/tools/launcher/java.c ! src/share/tools/launcher/jli_util.c Changeset: 450ece4d8a10 Author: sla Date: 2010-12-15 08:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/450ece4d8a10 Merge Changeset: 6ce496c8fc07 Author: coleenp Date: 2010-12-16 09:31 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/6ce496c8fc07 Merge Changeset: fb712ff22571 Author: tonyp Date: 2010-12-14 16:19 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/fb712ff22571 7000559: G1: assertion failure !outer || (full_collections_started == _full_collections_completed + 1) Summary: The concurrent marking thread can complete its operation and increment the full GC counter during a Full GC. This causes the nesting of increments to the start and end of Full GCs that we are expecting to be wrong. the fix is for the marking thread to join the suspendible thread set before incrementing the counter so that it's blocked until the Full GC (or any other safepoint) is finished. The change also includes some minor code cleanup (I renamed a parameter). Reviewed-by: brutisso, ysr ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: 36eef023306f Author: ysr Date: 2010-12-16 09:14 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/36eef023306f Merge Changeset: 320ef6401fce Author: ysr Date: 2010-12-16 12:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/320ef6401fce Merge Changeset: 03e1b9fce89d Author: dholmes Date: 2010-12-16 20:57 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/03e1b9fce89d 7003707: need to remove (some) system include files from the HotSpot header files Summary: move socket_available into os_linux.cpp to avoid inclusion of ioctl.h in os_linux.inline.hpp Reviewed-by: coleenp, stefank, ikrylov ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.inline.hpp Changeset: 1132ed4a0086 Author: cl Date: 2010-12-16 18:17 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/1132ed4a0086 Added tag jdk7-b122 for changeset 3a548dc9cb45 ! .hgtags Changeset: 81fc264cf826 Author: trims Date: 2010-12-16 20:32 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/81fc264cf826 Merge ! .hgtags Changeset: af96d06cc0da Author: trims Date: 2010-12-16 20:35 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/af96d06cc0da Merge Changeset: 9669f9b28410 Author: trims Date: 2010-12-16 20:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/9669f9b28410 Merge Changeset: 08b76f57574b Author: cl Date: 2010-12-22 15:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/08b76f57574b Added tag jdk7-b123 for changeset 9669f9b28410 ! .hgtags Changeset: cd8189d84e92 Author: trims Date: 2010-12-22 19:20 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/cd8189d84e92 Added tag hs20-b04 for changeset 9669f9b28410 ! .hgtags Changeset: b03260081e9b Author: johnc Date: 2010-12-17 11:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/b03260081e9b 7006113: G1: Initialize ReferenceProcessor::_is_alive_non_header field Summary: Initialize the _is_alive_non_header field of G1's reference processor with an instance of the G1CMIsAliveClosure. This will stop adding reference objects with live referents to the discovered reference lists unnecessarily. Reviewed-by: tonyp, ysr, jwilhelm, brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: 74ee0db180fa Author: ysr Date: 2010-12-17 23:41 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/74ee0db180fa 6807801: CMS: could save/restore fewer header words during scavenge Summary: Age bits need not enter the mark-word preservation calculus; also affected, in addition to CMS, per CR synopsis above, were ParNew (but not DefNew), ParallelScavenge and G1, albeit to a lesser degree than CMS. Reviewed-by: tonyp, johnc ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.hpp ! src/share/vm/oops/markOop.inline.hpp Changeset: 7c5250dbd584 Author: tonyp Date: 2010-12-19 20:57 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7c5250dbd584 6896624: G1: hotspot:::gc and hotspot:::mem-pool-gc probes are not fired Summary: Fire the gc-begin and gc-end probes for G1. Reviewed-by: kamg, ysr, jcoomes ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.hpp Changeset: 9026f05dc736 Author: johnc Date: 2010-12-23 12:19 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/9026f05dc736 Merge Changeset: 5ef9917b908d Author: trims Date: 2010-12-24 07:59 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/5ef9917b908d 7008759: Bump the HS20 build number to 05 Summary: Update the HS20 build number to 05 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 6da3527317ff Author: kevinw Date: 2010-12-17 12:14 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/6da3527317ff 7003487: clhsdbproc stacktrace fails on x64 Reviewed-by: phh ! agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java Changeset: 02895c6a2f82 Author: bobv Date: 2010-12-20 14:30 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/02895c6a2f82 7007769: VM crashes with SIGBUS writing PerfData if tmp space is full Summary: Fill perfdata file with zeros to verify available disk space Reviewed-by: coleenp, kamg ! src/os/linux/vm/perfMemory_linux.cpp Changeset: e58d06a8037e Author: dholmes Date: 2010-12-21 23:39 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e58d06a8037e 7008444: Remove unnecessary include of stdint.h in java_md.c Summary: Remove unnecessary include of stdint.h in java_md.c Reviewed-by: brutisso, kvn ! src/os/posix/launcher/java_md.c Changeset: 1e637defdda6 Author: zgu Date: 2010-12-22 11:24 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/1e637defdda6 6961186: Better VM handling of unexpected exceptions from application native code Summary: Trap uncaught C++ exception on Windows and Solaris and generate hs_err report. Reviewed-by: coleenp, bobv, dholmes ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp Changeset: c19157304e08 Author: zgu Date: 2010-12-22 11:52 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/c19157304e08 Merge ! src/os/windows/vm/os_windows.cpp Changeset: 3da13a976363 Author: coleenp Date: 2010-12-22 12:24 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/3da13a976363 Merge ! agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java Changeset: 07c62ff47437 Author: coleenp Date: 2010-12-22 16:52 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/07c62ff47437 Merge Changeset: d6cd0d55d0b5 Author: dcubed Date: 2010-12-23 07:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/d6cd0d55d0b5 6987812: 2/3 SAJDI: "gHotSpotVMTypes was not initialized properly in the remote process" Summary: Change ExportDirectoryTableImpl to return the 'Export RVA' field without modification. Read 'Base Of Data' field in optional header when PE32 format COFF file is read. Refine search for dbgeng.dll and dbghelp.dll. Other cleanups. Reviewed-by: swamyv, poonam ! agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/COFFFileParser.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DumpExports.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/TestParser.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java Changeset: e0c969b97f66 Author: zgu Date: 2010-12-27 09:30 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e0c969b97f66 6975480: VS2010 says _STATIC_CPPLIB is deprecated, may need to change this usage Summary: Disabled the warning message during compiling. Reviewed-by: coleenp, dholmes ! make/windows/makefiles/compile.make Changeset: dbf8dcf069d1 Author: zgu Date: 2010-12-27 09:56 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/dbf8dcf069d1 Merge ! make/windows/makefiles/compile.make Changeset: 06e4b9c9db76 Author: coleenp Date: 2010-12-28 09:54 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/06e4b9c9db76 Merge Changeset: 5a1e52a439fa Author: twisti Date: 2011-01-07 03:41 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/5a1e52a439fa Merge ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/vm.make ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/code/nmethod.cpp Changeset: 0e52ef6e94d3 Author: twisti Date: 2011-01-07 03:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/0e52ef6e94d3 Merge From vladimir.kozlov at oracle.com Fri Jan 7 10:05:11 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 07 Jan 2011 10:05:11 -0800 Subject: Request for reviews (XS): 7010913: JSR 292 ciMethodHandle does not handle MethodHandleCompiler exceptions properly In-Reply-To: <51358272-5BC8-4CC9-8A47-551F5EEB5E60@oracle.com> References: <51358272-5BC8-4CC9-8A47-551F5EEB5E60@oracle.com> Message-ID: <4D2755D7.6080808@oracle.com> Looks good. Vladimir Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/7010913/webrev.01/ > > 7010913: JSR 292 ciMethodHandle does not handle MethodHandleCompiler exceptions properly > Reviewed-by: > > This is a spin-off from 7009600 to fix the fact that > ciMethodHandle::get_adapter does not handle MethodHandleCompiler > exceptions properly. 7009600 should fix the actual conversion > problem. > > ciMethodHandles::get_adapter should use CATCH instead of CHECK_NULL > which returns a null-pointer as target method. From tom.rodriguez at oracle.com Fri Jan 7 11:34:11 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Fri, 7 Jan 2011 11:34:11 -0800 Subject: Request for reviews (XS): 7010913: JSR 292 ciMethodHandle does not handle MethodHandleCompiler exceptions properly In-Reply-To: <51358272-5BC8-4CC9-8A47-551F5EEB5E60@oracle.com> References: <51358272-5BC8-4CC9-8A47-551F5EEB5E60@oracle.com> Message-ID: Looks good. tom On Jan 7, 2011, at 3:17 AM, Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/7010913/webrev.01/ > > 7010913: JSR 292 ciMethodHandle does not handle MethodHandleCompiler exceptions properly > Reviewed-by: > > This is a spin-off from 7009600 to fix the fact that > ciMethodHandle::get_adapter does not handle MethodHandleCompiler > exceptions properly. 7009600 should fix the actual conversion > problem. > > ciMethodHandles::get_adapter should use CATCH instead of CHECK_NULL > which returns a null-pointer as target method. From vladimir.kozlov at oracle.com Fri Jan 7 13:32:54 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 07 Jan 2011 21:32:54 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7009756: volatile variables could be broken throw reflection API Message-ID: <20110107213256.D26E547A79@hg.openjdk.java.net> Changeset: 4fc084dac61e Author: kvn Date: 2011-01-07 10:16 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/4fc084dac61e 7009756: volatile variables could be broken throw reflection API Summary: Use Atomic::load() and Atomic::store() to access a volatile long. Reviewed-by: iveresov, jrose, dholmes, never ! src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp ! src/os_cpu/linux_x86/vm/atomic_linux_x86.inline.hpp ! src/os_cpu/linux_x86/vm/linux_x86_32.s ! src/os_cpu/linux_x86/vm/orderAccess_linux_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/atomic_solaris_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/orderAccess_solaris_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/solaris_x86_32.il ! src/os_cpu/windows_x86/vm/atomic_windows_x86.inline.hpp ! src/os_cpu/windows_x86/vm/orderAccess_windows_x86.inline.hpp ! src/share/vm/prims/unsafe.cpp From vladimir.kozlov at oracle.com Fri Jan 7 17:33:20 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Sat, 08 Jan 2011 01:33:20 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 6876037: CTW fails jdk7/hotspot/src/share/vm/opto/type.cpp:2055. assert(bits, "Use TypePtr for NULL") Message-ID: <20110108013322.A249F47A85@hg.openjdk.java.net> Changeset: 78e248949382 Author: kvn Date: 2011-01-07 11:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/78e248949382 6876037: CTW fails jdk7/hotspot/src/share/vm/opto/type.cpp:2055. assert(bits,"Use TypePtr for NULL") Summary: Add missing 0 value check in TypeRawPtr::add_offset(). Reviewed-by: never ! src/share/vm/opto/type.cpp From igor.veresov at oracle.com Sun Jan 9 20:56:19 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Sun, 09 Jan 2011 20:56:19 -0800 Subject: Request for review(M): 4930919: race condition in MDO creation at back branch locations Message-ID: <4D2A9173.8020908@oracle.com> The problem arises when a thread fails to allocate an MDO (by loosing the race) and so profile_method() returns 0. And then we reload the MDO pointer and see it's not null and has been just set by another thread which makes us decide that the data index value the profile_method() returned is valid. The solution is to reuse set_method_data_for_bcp() set up mdp: make profile_method() just to create MDO and leave bcp->di translation for set_method_data_for_bcp(). Webrev: http://cr.openjdk.java.net/~iveresov/4930919/webrev.00/ From Christian.Thalinger at Sun.COM Mon Jan 10 03:28:32 2011 From: Christian.Thalinger at Sun.COM (Christian.Thalinger at Sun.COM) Date: Mon, 10 Jan 2011 11:28:32 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL Message-ID: <20110110112837.87A9D47AFF@hg.openjdk.java.net> Changeset: d810e9a3fc33 Author: twisti Date: 2011-01-10 00:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/d810e9a3fc33 7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL Reviewed-by: never ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp From christian.thalinger at oracle.com Mon Jan 10 03:57:00 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 10 Jan 2011 12:57:00 +0100 Subject: Request for reviews (XS): 7010913: JSR 292 ciMethodHandle does not handle MethodHandleCompiler exceptions properly In-Reply-To: References: <51358272-5BC8-4CC9-8A47-551F5EEB5E60@oracle.com> Message-ID: On Jan 7, 2011, at 8:34 PM, Tom Rodriguez wrote: > Looks good. Thanks, Tom and Vladimir. -- Christian From Christian.Thalinger at Sun.COM Mon Jan 10 08:35:10 2011 From: Christian.Thalinger at Sun.COM (Christian.Thalinger at Sun.COM) Date: Mon, 10 Jan 2011 16:35:10 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7010913: JSR 292 ciMethodHandle does not handle MethodHandleCompiler exceptions properly Message-ID: <20110110163515.416B547B0A@hg.openjdk.java.net> Changeset: 70427f06ea47 Author: twisti Date: 2011-01-10 03:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/70427f06ea47 7010913: JSR 292 ciMethodHandle does not handle MethodHandleCompiler exceptions properly Reviewed-by: kvn, never ! src/share/vm/ci/ciMethodHandle.cpp ! src/share/vm/prims/methodHandleWalk.cpp From vladimir.kozlov at oracle.com Mon Jan 10 10:51:38 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 10 Jan 2011 10:51:38 -0800 Subject: Request for review(M): 4930919: race condition in MDO creation at back branch locations In-Reply-To: <4D2A9173.8020908@oracle.com> References: <4D2A9173.8020908@oracle.com> Message-ID: <4D2B553A.20001@oracle.com> Igor Veresov wrote: > The problem arises when a thread fails to allocate an MDO (by loosing > the race) and so profile_method() returns 0. And then we reload the MDO > pointer and see it's not null and has been just set by another thread > which makes us decide that the data index value the profile_method() > returned is valid. > > The solution is to reuse set_method_data_for_bcp() set up mdp: make > profile_method() just to create MDO and leave bcp->di translation for > set_method_data_for_bcp(). > > Webrev: http://cr.openjdk.java.net/~iveresov/4930919/webrev.00/ Looks good. One suggestion. Swapping registers in addptr() will allow you to avoid double branch: testptr(rax, rax); ! jcc(Assembler::zero, set_mdp); // set mdp to zero // rbx,: method // rsi: bcp call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::bcp_to_di), rbx, rsi); // rax,: mdi + // mdo is guaranteed to be non-zero here, we checked for it before the call. movptr(rbx, Address(rbx, in_bytes(methodOopDesc::method_data_offset()))); testptr(rbx, rbx); jcc(Assembler::zero, zero_continue); addptr(rbx, in_bytes(methodDataOopDesc::data_offset())); - addptr(rbx, rax); + addptr(rax, rbx); + bind(set_mdp); - movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), rbx); + movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), rax); Vladimir From igor.veresov at oracle.com Mon Jan 10 12:21:46 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Mon, 10 Jan 2011 12:21:46 -0800 Subject: Request for review(M): 4930919: race condition in MDO creation at back branch locations In-Reply-To: <4D2B553A.20001@oracle.com> References: <4D2A9173.8020908@oracle.com> <4D2B553A.20001@oracle.com> Message-ID: <4D2B6A5A.8040703@oracle.com> On 1/10/11 10:51 AM, Vladimir Kozlov wrote: > Igor Veresov wrote: >> The problem arises when a thread fails to allocate an MDO (by loosing >> the race) and so profile_method() returns 0. And then we reload the >> MDO pointer and see it's not null and has been just set by another >> thread which makes us decide that the data index value the >> profile_method() returned is valid. >> >> The solution is to reuse set_method_data_for_bcp() set up mdp: make >> profile_method() just to create MDO and leave bcp->di translation for >> set_method_data_for_bcp(). >> >> Webrev: http://cr.openjdk.java.net/~iveresov/4930919/webrev.00/ > > Looks good. One suggestion. > Swapping registers in addptr() will allow you to avoid double branch: That's an excellent suggestion, thank you! igor > > testptr(rax, rax); > ! jcc(Assembler::zero, set_mdp); // set mdp to zero > > // rbx,: method > // rsi: bcp > call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::bcp_to_di), > rbx, rsi); > // rax,: mdi > > + // mdo is guaranteed to be non-zero here, we checked for it before the > call. > movptr(rbx, Address(rbx, in_bytes(methodOopDesc::method_data_offset()))); > testptr(rbx, rbx); > jcc(Assembler::zero, zero_continue); > addptr(rbx, in_bytes(methodDataOopDesc::data_offset())); > - addptr(rbx, rax); > + addptr(rax, rbx); > + bind(set_mdp); > - movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), > rbx); > + movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), > rax); > > Vladimir From vladimir.kozlov at oracle.com Mon Jan 10 17:33:36 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 10 Jan 2011 17:33:36 -0800 Subject: Request for review(M): 4930919: race condition in MDO creation at back branch locations In-Reply-To: <4D2B6A5A.8040703@oracle.com> References: <4D2A9173.8020908@oracle.com> <4D2B553A.20001@oracle.com> <4D2B6A5A.8040703@oracle.com> Message-ID: <4D2BB370.8090503@oracle.com> Looks good but you don't need 'next' label. Vladimir Igor Veresov wrote: > On 1/10/11 10:51 AM, Vladimir Kozlov wrote: >> Igor Veresov wrote: >>> The problem arises when a thread fails to allocate an MDO (by loosing >>> the race) and so profile_method() returns 0. And then we reload the >>> MDO pointer and see it's not null and has been just set by another >>> thread which makes us decide that the data index value the >>> profile_method() returned is valid. >>> >>> The solution is to reuse set_method_data_for_bcp() set up mdp: make >>> profile_method() just to create MDO and leave bcp->di translation for >>> set_method_data_for_bcp(). >>> >>> Webrev: http://cr.openjdk.java.net/~iveresov/4930919/webrev.00/ >> >> Looks good. One suggestion. >> Swapping registers in addptr() will allow you to avoid double branch: > > That's an excellent suggestion, thank you! > > igor >> >> testptr(rax, rax); >> ! jcc(Assembler::zero, set_mdp); // set mdp to zero >> >> // rbx,: method >> // rsi: bcp >> call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::bcp_to_di), >> rbx, rsi); >> // rax,: mdi >> >> + // mdo is guaranteed to be non-zero here, we checked for it before the >> call. >> movptr(rbx, Address(rbx, in_bytes(methodOopDesc::method_data_offset()))); >> testptr(rbx, rbx); >> jcc(Assembler::zero, zero_continue); >> addptr(rbx, in_bytes(methodDataOopDesc::data_offset())); >> - addptr(rbx, rax); >> + addptr(rax, rbx); >> + bind(set_mdp); >> - movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), >> rbx); >> + movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), >> rax); >> >> Vladimir > From igor.veresov at oracle.com Mon Jan 10 18:23:20 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Mon, 10 Jan 2011 18:23:20 -0800 Subject: Request for review(M): 4930919: race condition in MDO creation at back branch locations In-Reply-To: <4D2BB370.8090503@oracle.com> References: <4D2A9173.8020908@oracle.com> <4D2B553A.20001@oracle.com> <4D2B6A5A.8040703@oracle.com> <4D2BB370.8090503@oracle.com> Message-ID: <4D2BBF18.3090502@oracle.com> On 1/10/11 5:33 PM, Vladimir Kozlov wrote: > Looks good but you don't need 'next' label. > Right. Forgot it. Thanks! igor > Vladimir > > Igor Veresov wrote: >> On 1/10/11 10:51 AM, Vladimir Kozlov wrote: >>> Igor Veresov wrote: >>>> The problem arises when a thread fails to allocate an MDO (by loosing >>>> the race) and so profile_method() returns 0. And then we reload the >>>> MDO pointer and see it's not null and has been just set by another >>>> thread which makes us decide that the data index value the >>>> profile_method() returned is valid. >>>> >>>> The solution is to reuse set_method_data_for_bcp() set up mdp: make >>>> profile_method() just to create MDO and leave bcp->di translation for >>>> set_method_data_for_bcp(). >>>> >>>> Webrev: http://cr.openjdk.java.net/~iveresov/4930919/webrev.00/ >>> >>> Looks good. One suggestion. >>> Swapping registers in addptr() will allow you to avoid double branch: >> >> That's an excellent suggestion, thank you! >> >> igor >>> >>> testptr(rax, rax); >>> ! jcc(Assembler::zero, set_mdp); // set mdp to zero >>> >>> // rbx,: method >>> // rsi: bcp >>> call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::bcp_to_di), >>> rbx, rsi); >>> // rax,: mdi >>> >>> + // mdo is guaranteed to be non-zero here, we checked for it before the >>> call. >>> movptr(rbx, Address(rbx, >>> in_bytes(methodOopDesc::method_data_offset()))); >>> testptr(rbx, rbx); >>> jcc(Assembler::zero, zero_continue); >>> addptr(rbx, in_bytes(methodDataOopDesc::data_offset())); >>> - addptr(rbx, rax); >>> + addptr(rax, rbx); >>> + bind(set_mdp); >>> - movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), >>> rbx); >>> + movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), >>> rax); >>> >>> Vladimir >> From tom.rodriguez at oracle.com Mon Jan 10 18:32:38 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 10 Jan 2011 18:32:38 -0800 Subject: Request for review(M): 4930919: race condition in MDO creation at back branch locations In-Reply-To: <4D2BBF18.3090502@oracle.com> References: <4D2A9173.8020908@oracle.com> <4D2B553A.20001@oracle.com> <4D2B6A5A.8040703@oracle.com> <4D2BB370.8090503@oracle.com> <4D2BBF18.3090502@oracle.com> Message-ID: Looks good. tom On Jan 10, 2011, at 6:23 PM, Igor Veresov wrote: > On 1/10/11 5:33 PM, Vladimir Kozlov wrote: >> Looks good but you don't need 'next' label. >> > > Right. Forgot it. Thanks! > > igor > >> Vladimir >> >> Igor Veresov wrote: >>> On 1/10/11 10:51 AM, Vladimir Kozlov wrote: >>>> Igor Veresov wrote: >>>>> The problem arises when a thread fails to allocate an MDO (by loosing >>>>> the race) and so profile_method() returns 0. And then we reload the >>>>> MDO pointer and see it's not null and has been just set by another >>>>> thread which makes us decide that the data index value the >>>>> profile_method() returned is valid. >>>>> >>>>> The solution is to reuse set_method_data_for_bcp() set up mdp: make >>>>> profile_method() just to create MDO and leave bcp->di translation for >>>>> set_method_data_for_bcp(). >>>>> >>>>> Webrev: http://cr.openjdk.java.net/~iveresov/4930919/webrev.00/ >>>> >>>> Looks good. One suggestion. >>>> Swapping registers in addptr() will allow you to avoid double branch: >>> >>> That's an excellent suggestion, thank you! >>> >>> igor >>>> >>>> testptr(rax, rax); >>>> ! jcc(Assembler::zero, set_mdp); // set mdp to zero >>>> >>>> // rbx,: method >>>> // rsi: bcp >>>> call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::bcp_to_di), >>>> rbx, rsi); >>>> // rax,: mdi >>>> >>>> + // mdo is guaranteed to be non-zero here, we checked for it before the >>>> call. >>>> movptr(rbx, Address(rbx, >>>> in_bytes(methodOopDesc::method_data_offset()))); >>>> testptr(rbx, rbx); >>>> jcc(Assembler::zero, zero_continue); >>>> addptr(rbx, in_bytes(methodDataOopDesc::data_offset())); >>>> - addptr(rbx, rax); >>>> + addptr(rax, rbx); >>>> + bind(set_mdp); >>>> - movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), >>>> rbx); >>>> + movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), >>>> rax); >>>> >>>> Vladimir >>> > From igor.veresov at oracle.com Mon Jan 10 18:33:32 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Mon, 10 Jan 2011 18:33:32 -0800 Subject: Request for review(M): 4930919: race condition in MDO creation at back branch locations In-Reply-To: References: <4D2A9173.8020908@oracle.com> <4D2B553A.20001@oracle.com> <4D2B6A5A.8040703@oracle.com> <4D2BB370.8090503@oracle.com> <4D2BBF18.3090502@oracle.com> Message-ID: <4D2BC17C.3070407@oracle.com> Thanks, Vladimir and Tom! igor On 1/10/11 6:32 PM, Tom Rodriguez wrote: > Looks good. > > tom > > On Jan 10, 2011, at 6:23 PM, Igor Veresov wrote: > >> On 1/10/11 5:33 PM, Vladimir Kozlov wrote: >>> Looks good but you don't need 'next' label. >>> >> >> Right. Forgot it. Thanks! >> >> igor >> >>> Vladimir >>> >>> Igor Veresov wrote: >>>> On 1/10/11 10:51 AM, Vladimir Kozlov wrote: >>>>> Igor Veresov wrote: >>>>>> The problem arises when a thread fails to allocate an MDO (by loosing >>>>>> the race) and so profile_method() returns 0. And then we reload the >>>>>> MDO pointer and see it's not null and has been just set by another >>>>>> thread which makes us decide that the data index value the >>>>>> profile_method() returned is valid. >>>>>> >>>>>> The solution is to reuse set_method_data_for_bcp() set up mdp: make >>>>>> profile_method() just to create MDO and leave bcp->di translation for >>>>>> set_method_data_for_bcp(). >>>>>> >>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/4930919/webrev.00/ >>>>> >>>>> Looks good. One suggestion. >>>>> Swapping registers in addptr() will allow you to avoid double branch: >>>> >>>> That's an excellent suggestion, thank you! >>>> >>>> igor >>>>> >>>>> testptr(rax, rax); >>>>> ! jcc(Assembler::zero, set_mdp); // set mdp to zero >>>>> >>>>> // rbx,: method >>>>> // rsi: bcp >>>>> call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::bcp_to_di), >>>>> rbx, rsi); >>>>> // rax,: mdi >>>>> >>>>> + // mdo is guaranteed to be non-zero here, we checked for it before the >>>>> call. >>>>> movptr(rbx, Address(rbx, >>>>> in_bytes(methodOopDesc::method_data_offset()))); >>>>> testptr(rbx, rbx); >>>>> jcc(Assembler::zero, zero_continue); >>>>> addptr(rbx, in_bytes(methodDataOopDesc::data_offset())); >>>>> - addptr(rbx, rax); >>>>> + addptr(rax, rbx); >>>>> + bind(set_mdp); >>>>> - movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), >>>>> rbx); >>>>> + movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), >>>>> rax); >>>>> >>>>> Vladimir >>>> >> > From igor.veresov at oracle.com Mon Jan 10 21:06:08 2011 From: igor.veresov at oracle.com (igor.veresov at oracle.com) Date: Tue, 11 Jan 2011 05:06:08 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 4930919: race condition in MDO creation at back branch locations Message-ID: <20110111050612.5981C47B53@hg.openjdk.java.net> Changeset: dd031b2226de Author: iveresov Date: 2011-01-10 18:46 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/dd031b2226de 4930919: race condition in MDO creation at back branch locations Summary: Reuse set_method_data_for_bcp() to setup mdp after MDO creation. Reviewed-by: kvn, never ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.hpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp From paul.hohensee at oracle.com Tue Jan 11 03:25:39 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Tue, 11 Jan 2011 06:25:39 -0500 Subject: Pls review 7011463 (S) Message-ID: <4D2C3E33.4060106@oracle.com> Sparc MacroAssembler::incr_allocated_bytes() needs a RegisterOrConstant argument. Webrev here http://cr.openjdk.java.net/~phh/7011463/webrev.00/ Christian, I should have implemented your suggestion. :( Turns out that some constant object sizes are larger than 4kb (what fits in a simm13), which will cause assertions once in awhile when an attempt is made to generate an add-immediate instruction. Thanks, Paul From christian.thalinger at oracle.com Tue Jan 11 03:37:43 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 11 Jan 2011 12:37:43 +0100 Subject: Pls review 7011463 (S) In-Reply-To: <4D2C3E33.4060106@oracle.com> References: <4D2C3E33.4060106@oracle.com> Message-ID: On Jan 11, 2011, at 12:25 PM, Paul Hohensee wrote: > Sparc MacroAssembler::incr_allocated_bytes() needs a RegisterOrConstant argument. > > Webrev here > > http://cr.openjdk.java.net/~phh/7011463/webrev.00/ > > Christian, I should have implemented your suggestion. :( > > Turns out that some constant object sizes are larger than 4kb (what fits in a simm13), > which will cause assertions once in awhile when an attempt is made to generate > an add-immediate instruction. Looks good. Other uses of RegisterOrConstant don't call the constructor explicitly when passing in as argument, but that's just a nit. -- Christian From paul.hohensee at oracle.com Tue Jan 11 03:40:06 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Tue, 11 Jan 2011 06:40:06 -0500 Subject: Pls review 7011463 (S) In-Reply-To: References: <4D2C3E33.4060106@oracle.com> Message-ID: <4D2C4196.1060407@oracle.com> Thanks, Christian, for the very quick review. Paul On 1/11/11 6:37 AM, Christian Thalinger wrote: > On Jan 11, 2011, at 12:25 PM, Paul Hohensee wrote: >> Sparc MacroAssembler::incr_allocated_bytes() needs a RegisterOrConstant argument. >> >> Webrev here >> >> http://cr.openjdk.java.net/~phh/7011463/webrev.00/ >> >> Christian, I should have implemented your suggestion. :( >> >> Turns out that some constant object sizes are larger than 4kb (what fits in a simm13), >> which will cause assertions once in awhile when an attempt is made to generate >> an add-immediate instruction. > Looks good. Other uses of RegisterOrConstant don't call the constructor explicitly when passing in as argument, but that's just a nit. > > -- Christian From John.Coomes at oracle.com Tue Jan 11 09:50:53 2011 From: John.Coomes at oracle.com (John Coomes) Date: Tue, 11 Jan 2011 09:50:53 -0800 Subject: Pls review 7011463 (S) In-Reply-To: References: <4D2C3E33.4060106@oracle.com> Message-ID: <19756.39037.51095.861734@oracle.com> Christian Thalinger (christian.thalinger at oracle.com) wrote: > On Jan 11, 2011, at 12:25 PM, Paul Hohensee wrote: > > Sparc MacroAssembler::incr_allocated_bytes() needs a RegisterOrConstant argument. > > > > Webrev here > > > > http://cr.openjdk.java.net/~phh/7011463/webrev.00/ > > > > Christian, I should have implemented your suggestion. :( > > > > Turns out that some constant object sizes are larger than 4kb (what fits in a simm13), > > which will cause assertions once in awhile when an attempt is made to generate > > an add-immediate instruction. > > Looks good. Other uses of RegisterOrConstant don't call the constructor explicitly when passing in as argument, but that's just a nit. Looks good to me also. In case you're taking a poll, I'd vote to remove the explicit calls to the ctor to reduce clutter. -John From vladimir.kozlov at oracle.com Tue Jan 11 09:54:58 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jan 2011 09:54:58 -0800 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: <4D2285CA.4000802@oracle.com> References: <4D2285CA.4000802@oracle.com> Message-ID: <4D2C9972.6030804@oracle.com> http://cr.openjdk.java.net/~kvn/7011386/webrev Fixed 7011386: race in objArrayKlass::array_klass_impl Other threads may access _lower_dimension field before it is initialized by thread which holds the lock in objArrayKlass::array_klass_impl(). Move _lower_dimension field initialization before _higher_dimension. From tom.rodriguez at oracle.com Tue Jan 11 10:04:34 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 11 Jan 2011 10:04:34 -0800 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: <4D2C9972.6030804@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D2C9972.6030804@oracle.com> Message-ID: That look good, though I keep wondering if we need a barrier in between or if those fields really should be volatile. It seems like we're playing a little loose with the locking for these lazy values. tom On Jan 11, 2011, at 9:54 AM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7011386/webrev > > Fixed 7011386: race in objArrayKlass::array_klass_impl > > Other threads may access _lower_dimension field before > it is initialized by thread which holds the lock in > objArrayKlass::array_klass_impl(). > > Move _lower_dimension field initialization before > _higher_dimension. From vladimir.kozlov at oracle.com Tue Jan 11 11:15:40 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jan 2011 11:15:40 -0800 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: References: <4D2285CA.4000802@oracle.com> <4D2C9972.6030804@oracle.com> Message-ID: <4D2CAC5C.3090406@oracle.com> Tom, Using oop_store() instead of oop_store_without_check() will generate barriers but it is overkill. I think marking receiver as volatile should be enough: void set_higher_dimension(klassOop k) volatile { oop_store_without_check((oop*) &_higher_dimension, (oop) k); } void set_lower_dimension(klassOop k) volatile { oop_store_without_check((oop*) &_lower_dimension, (oop) k); } Thanks, Vladimir Tom Rodriguez wrote: > That look good, though I keep wondering if we need a barrier in between or if those fields really should be volatile. It seems like we're playing a little loose with the locking for these lazy values. > > tom > > On Jan 11, 2011, at 9:54 AM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/7011386/webrev >> >> Fixed 7011386: race in objArrayKlass::array_klass_impl >> >> Other threads may access _lower_dimension field before >> it is initialized by thread which holds the lock in >> objArrayKlass::array_klass_impl(). >> >> Move _lower_dimension field initialization before >> _higher_dimension. > From tom.rodriguez at oracle.com Tue Jan 11 12:35:57 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 11 Jan 2011 12:35:57 -0800 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: <4D2CAC5C.3090406@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D2C9972.6030804@oracle.com> <4D2CAC5C.3090406@oracle.com> Message-ID: On Jan 11, 2011, at 11:15 AM, Vladimir Kozlov wrote: > Tom, > > Using oop_store() instead of oop_store_without_check() > will generate barriers but it is overkill. Those are gc barriers. I was really referring to fences. The code is a classic instance of the double check locking idiom for lazy init: objArrayKlassHandle ak (THREAD, this_oop->higher_dimension()); if (ak.is_null()) { if (or_null) return NULL; ResourceMark rm; JavaThread *jt = (JavaThread *)THREAD; { MutexLocker mc(Compile_lock, THREAD); // for vtables // Ensure atomic creation of higher dimensions MutexLocker mu(MultiArray_lock, THREAD); // Check if another thread beat us ak = objArrayKlassHandle(THREAD, this_oop->higher_dimension()); if( ak.is_null() ) { So doesn't that mean that we need a fence of some kind? tom > I think marking receiver as volatile should be enough: > > void set_higher_dimension(klassOop k) volatile { oop_store_without_check((oop*) &_higher_dimension, (oop) k); } > void set_lower_dimension(klassOop k) volatile { oop_store_without_check((oop*) &_lower_dimension, (oop) k); } > > Thanks, > Vladimir > > Tom Rodriguez wrote: >> That look good, though I keep wondering if we need a barrier in between or if those fields really should be volatile. It seems like we're playing a little loose with the locking for these lazy values. >> tom >> On Jan 11, 2011, at 9:54 AM, Vladimir Kozlov wrote: >>> http://cr.openjdk.java.net/~kvn/7011386/webrev >>> >>> Fixed 7011386: race in objArrayKlass::array_klass_impl >>> >>> Other threads may access _lower_dimension field before >>> it is initialized by thread which holds the lock in >>> objArrayKlass::array_klass_impl(). >>> >>> Move _lower_dimension field initialization before >>> _higher_dimension. From igor.veresov at oracle.com Tue Jan 11 12:44:57 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 11 Jan 2011 12:44:57 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 Message-ID: <4D2CC149.8060009@oracle.com> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ Thanks, igor From tom.rodriguez at oracle.com Tue Jan 11 13:01:57 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 11 Jan 2011 13:01:57 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <4D2CC149.8060009@oracle.com> References: <4D2CC149.8060009@oracle.com> Message-ID: <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: > Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ I like that you're trying to use the short one when you can but I don't think that test is sufficient. The code is generated into a temporary blob and then moved into a RuntimeStub. You could conceivably just reach in the temporary code blob but not reach in the final one. I think you need to check that the call is reachable from the highest and lowest point in the code cache instead. tom > > Thanks, > igor From paul.hohensee at oracle.com Tue Jan 11 14:16:42 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Tue, 11 Jan 2011 17:16:42 -0500 Subject: Pls review 7011463 (S) In-Reply-To: <19756.39037.51095.861734@oracle.com> References: <4D2C3E33.4060106@oracle.com> <19756.39037.51095.861734@oracle.com> Message-ID: <4D2CD6CA.3090206@oracle.com> Done. On 1/11/11 12:50 PM, John Coomes wrote: > Christian Thalinger (christian.thalinger at oracle.com) wrote: >> On Jan 11, 2011, at 12:25 PM, Paul Hohensee wrote: >>> Sparc MacroAssembler::incr_allocated_bytes() needs a RegisterOrConstant argument. >>> >>> Webrev here >>> >>> http://cr.openjdk.java.net/~phh/7011463/webrev.00/ >>> >>> Christian, I should have implemented your suggestion. :( >>> >>> Turns out that some constant object sizes are larger than 4kb (what fits in a simm13), >>> which will cause assertions once in awhile when an attempt is made to generate >>> an add-immediate instruction. >> Looks good. Other uses of RegisterOrConstant don't call the constructor explicitly when passing in as argument, but that's just a nit. > Looks good to me also. In case you're taking a poll, I'd vote to > remove the explicit calls to the ctor to reduce clutter. > > -John > From igor.veresov at oracle.com Tue Jan 11 14:47:31 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 11 Jan 2011 14:47:31 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> Message-ID: <4D2CDE03.4010501@oracle.com> On 1/11/11 1:01 PM, Tom Rodriguez wrote: > > On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: > >> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ > > I like that you're trying to use the short one when you can but I don't think that test is sufficient. The code is generated into a temporary blob and then moved into a RuntimeStub. You could conceivably just reach in the temporary code blob but not reach in the final one. I think you need to check that the call is reachable from the highest and lowest point in the code cache instead. > Yes, you're right of course. How about this one: http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ Thanks, igor From tom.rodriguez at oracle.com Tue Jan 11 15:18:31 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 11 Jan 2011 15:18:31 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <4D2CDE03.4010501@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> Message-ID: On Jan 11, 2011, at 2:47 PM, Igor Veresov wrote: > On 1/11/11 1:01 PM, Tom Rodriguez wrote: >> >> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >> >>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >> >> I like that you're trying to use the short one when you can but I don't think that test is sufficient. The code is generated into a temporary blob and then moved into a RuntimeStub. You could conceivably just reach in the temporary code blob but not reach in the final one. I think you need to check that the call is reachable from the highest and lowest point in the code cache instead. >> > > Yes, you're right of course. > > How about this one: > http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ That looks good. If you're feeling up to it, sparc.ad might benefit slightly from this since apparently it's almost always reachable so we could use the shorter sequence instead of always forcing the far call sequence. tom > > Thanks, > igor > > From vladimir.kozlov at oracle.com Tue Jan 11 15:48:19 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jan 2011 15:48:19 -0800 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: References: <4D2285CA.4000802@oracle.com> <4D2C9972.6030804@oracle.com> <4D2CAC5C.3090406@oracle.com> Message-ID: <4D2CEC43.1020409@oracle.com> You are right, I added store_store barriers and make these fields volatile: http://cr.openjdk.java.net/~kvn/7011386/webrev Vladimir Tom Rodriguez wrote: > On Jan 11, 2011, at 11:15 AM, Vladimir Kozlov wrote: > >> Tom, >> >> Using oop_store() instead of oop_store_without_check() >> will generate barriers but it is overkill. > > Those are gc barriers. I was really referring to fences. The code is a classic instance of the double check locking idiom for lazy init: > > objArrayKlassHandle ak (THREAD, this_oop->higher_dimension()); > if (ak.is_null()) { > if (or_null) return NULL; > > ResourceMark rm; > JavaThread *jt = (JavaThread *)THREAD; > { > MutexLocker mc(Compile_lock, THREAD); // for vtables > // Ensure atomic creation of higher dimensions > MutexLocker mu(MultiArray_lock, THREAD); > > // Check if another thread beat us > ak = objArrayKlassHandle(THREAD, this_oop->higher_dimension()); > if( ak.is_null() ) { > > So doesn't that mean that we need a fence of some kind? > > tom > >> I think marking receiver as volatile should be enough: >> >> void set_higher_dimension(klassOop k) volatile { oop_store_without_check((oop*) &_higher_dimension, (oop) k); } >> void set_lower_dimension(klassOop k) volatile { oop_store_without_check((oop*) &_lower_dimension, (oop) k); } >> >> Thanks, >> Vladimir >> >> Tom Rodriguez wrote: >>> That look good, though I keep wondering if we need a barrier in between or if those fields really should be volatile. It seems like we're playing a little loose with the locking for these lazy values. >>> tom >>> On Jan 11, 2011, at 9:54 AM, Vladimir Kozlov wrote: >>>> http://cr.openjdk.java.net/~kvn/7011386/webrev >>>> >>>> Fixed 7011386: race in objArrayKlass::array_klass_impl >>>> >>>> Other threads may access _lower_dimension field before >>>> it is initialized by thread which holds the lock in >>>> objArrayKlass::array_klass_impl(). >>>> >>>> Move _lower_dimension field initialization before >>>> _higher_dimension. > From vladimir.kozlov at oracle.com Tue Jan 11 15:58:50 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jan 2011 15:58:50 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <4D2CDE03.4010501@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> Message-ID: <4D2CEEBA.7020104@oracle.com> Using signed subtraction is incorrect. Use pointer_delta(b, a, 1) instead of intptr_t(b) - intptr_t(a). Could you also verify that on x86 naxt "call" do correct thing for similar case: call(RuntimeAddress(entry)) ? Thanks, Vladimir Igor Veresov wrote: > On 1/11/11 1:01 PM, Tom Rodriguez wrote: >> >> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >> >>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >> >> I like that you're trying to use the short one when you can but I >> don't think that test is sufficient. The code is generated into a >> temporary blob and then moved into a RuntimeStub. You could >> conceivably just reach in the temporary code blob but not reach in the >> final one. I think you need to check that the call is reachable from >> the highest and lowest point in the code cache instead. >> > > Yes, you're right of course. > > How about this one: > http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ > > Thanks, > igor > > From igor.veresov at oracle.com Tue Jan 11 17:08:44 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 11 Jan 2011 17:08:44 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> Message-ID: <4D2CFF1C.8090804@oracle.com> On 1/11/11 3:18 PM, Tom Rodriguez wrote: > > On Jan 11, 2011, at 2:47 PM, Igor Veresov wrote: > >> On 1/11/11 1:01 PM, Tom Rodriguez wrote: >>> >>> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >>> >>>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >>> >>> I like that you're trying to use the short one when you can but I don't think that test is sufficient. The code is generated into a temporary blob and then moved into a RuntimeStub. You could conceivably just reach in the temporary code blob but not reach in the final one. I think you need to check that the call is reachable from the highest and lowest point in the code cache instead. >>> >> >> Yes, you're right of course. >> >> How about this one: >> http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ > > That looks good. If you're feeling up to it, sparc.ad might benefit slightly from this since apparently it's almost always reachable so we could use the shorter sequence instead of always forcing the far call sequence. > Sure, here is it: http://cr.openjdk.java.net/~iveresov/7011627/webrev.02 I changed the name of the parameter of emit_call_reloc() to reflect it's current purpose. And I also added ifdefs in C1 version. igor > tom > >> >> Thanks, >> igor >> >> > From igor.veresov at oracle.com Tue Jan 11 17:31:13 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 11 Jan 2011 17:31:13 -0800 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: <4D2CEC43.1020409@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D2C9972.6030804@oracle.com> <4D2CAC5C.3090406@oracle.com> <4D2CEC43.1020409@oracle.com> Message-ID: <4D2D0461.8000502@oracle.com> Looks good. igor On 1/11/11 3:48 PM, Vladimir Kozlov wrote: > You are right, I added store_store barriers and make these fields volatile: > > http://cr.openjdk.java.net/~kvn/7011386/webrev > > Vladimir > > Tom Rodriguez wrote: >> On Jan 11, 2011, at 11:15 AM, Vladimir Kozlov wrote: >> >>> Tom, >>> >>> Using oop_store() instead of oop_store_without_check() >>> will generate barriers but it is overkill. >> >> Those are gc barriers. I was really referring to fences. The code is a >> classic instance of the double check locking idiom for lazy init: >> >> objArrayKlassHandle ak (THREAD, this_oop->higher_dimension()); >> if (ak.is_null()) { >> if (or_null) return NULL; >> >> ResourceMark rm; >> JavaThread *jt = (JavaThread *)THREAD; >> { >> MutexLocker mc(Compile_lock, THREAD); // for vtables >> // Ensure atomic creation of higher dimensions >> MutexLocker mu(MultiArray_lock, THREAD); >> >> // Check if another thread beat us >> ak = objArrayKlassHandle(THREAD, this_oop->higher_dimension()); >> if( ak.is_null() ) { >> >> So doesn't that mean that we need a fence of some kind? >> >> tom >> >>> I think marking receiver as volatile should be enough: >>> >>> void set_higher_dimension(klassOop k) volatile { >>> oop_store_without_check((oop*) &_higher_dimension, (oop) k); } >>> void set_lower_dimension(klassOop k) volatile { >>> oop_store_without_check((oop*) &_lower_dimension, (oop) k); } >>> >>> Thanks, >>> Vladimir >>> >>> Tom Rodriguez wrote: >>>> That look good, though I keep wondering if we need a barrier in >>>> between or if those fields really should be volatile. It seems like >>>> we're playing a little loose with the locking for these lazy values. >>>> tom >>>> On Jan 11, 2011, at 9:54 AM, Vladimir Kozlov wrote: >>>>> http://cr.openjdk.java.net/~kvn/7011386/webrev >>>>> >>>>> Fixed 7011386: race in objArrayKlass::array_klass_impl >>>>> >>>>> Other threads may access _lower_dimension field before >>>>> it is initialized by thread which holds the lock in >>>>> objArrayKlass::array_klass_impl(). >>>>> >>>>> Move _lower_dimension field initialization before >>>>> _higher_dimension. >> From vladimir.kozlov at oracle.com Tue Jan 11 17:29:40 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jan 2011 17:29:40 -0800 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: <4D2D0461.8000502@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D2C9972.6030804@oracle.com> <4D2CAC5C.3090406@oracle.com> <4D2CEC43.1020409@oracle.com> <4D2D0461.8000502@oracle.com> Message-ID: <4D2D0404.5020104@oracle.com> Thank you, Igor Vladimir Igor Veresov wrote: > Looks good. > > igor > > On 1/11/11 3:48 PM, Vladimir Kozlov wrote: >> You are right, I added store_store barriers and make these fields >> volatile: >> >> http://cr.openjdk.java.net/~kvn/7011386/webrev >> >> Vladimir >> >> Tom Rodriguez wrote: >>> On Jan 11, 2011, at 11:15 AM, Vladimir Kozlov wrote: >>> >>>> Tom, >>>> >>>> Using oop_store() instead of oop_store_without_check() >>>> will generate barriers but it is overkill. >>> >>> Those are gc barriers. I was really referring to fences. The code is a >>> classic instance of the double check locking idiom for lazy init: >>> >>> objArrayKlassHandle ak (THREAD, this_oop->higher_dimension()); >>> if (ak.is_null()) { >>> if (or_null) return NULL; >>> >>> ResourceMark rm; >>> JavaThread *jt = (JavaThread *)THREAD; >>> { >>> MutexLocker mc(Compile_lock, THREAD); // for vtables >>> // Ensure atomic creation of higher dimensions >>> MutexLocker mu(MultiArray_lock, THREAD); >>> >>> // Check if another thread beat us >>> ak = objArrayKlassHandle(THREAD, this_oop->higher_dimension()); >>> if( ak.is_null() ) { >>> >>> So doesn't that mean that we need a fence of some kind? >>> >>> tom >>> >>>> I think marking receiver as volatile should be enough: >>>> >>>> void set_higher_dimension(klassOop k) volatile { >>>> oop_store_without_check((oop*) &_higher_dimension, (oop) k); } >>>> void set_lower_dimension(klassOop k) volatile { >>>> oop_store_without_check((oop*) &_lower_dimension, (oop) k); } >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> Tom Rodriguez wrote: >>>>> That look good, though I keep wondering if we need a barrier in >>>>> between or if those fields really should be volatile. It seems like >>>>> we're playing a little loose with the locking for these lazy values. >>>>> tom >>>>> On Jan 11, 2011, at 9:54 AM, Vladimir Kozlov wrote: >>>>>> http://cr.openjdk.java.net/~kvn/7011386/webrev >>>>>> >>>>>> Fixed 7011386: race in objArrayKlass::array_klass_impl >>>>>> >>>>>> Other threads may access _lower_dimension field before >>>>>> it is initialized by thread which holds the lock in >>>>>> objArrayKlass::array_klass_impl(). >>>>>> >>>>>> Move _lower_dimension field initialization before >>>>>> _higher_dimension. >>> > From vladimir.kozlov at oracle.com Tue Jan 11 17:29:07 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jan 2011 17:29:07 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <4D2CFF1C.8090804@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> <4D2CFF1C.8090804@oracle.com> Message-ID: <4D2D03E3.8050609@oracle.com> There is an other place in stubGenerator_sparc.cpp: // do the call BLOCK_COMMENT("call runtime_entry"); __ call(runtime_entry, relocInfo::runtime_call_type); if (!VerifyThread) May be we should only fix MacroAssembler::call( address d, relocInfo::relocType rt ). Vladimir Igor Veresov wrote: > On 1/11/11 3:18 PM, Tom Rodriguez wrote: >> >> On Jan 11, 2011, at 2:47 PM, Igor Veresov wrote: >> >>> On 1/11/11 1:01 PM, Tom Rodriguez wrote: >>>> >>>> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >>>> >>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >>>> >>>> I like that you're trying to use the short one when you can but I >>>> don't think that test is sufficient. The code is generated into a >>>> temporary blob and then moved into a RuntimeStub. You could >>>> conceivably just reach in the temporary code blob but not reach in >>>> the final one. I think you need to check that the call is >>>> reachable from the highest and lowest point in the code cache instead. >>>> >>> >>> Yes, you're right of course. >>> >>> How about this one: >>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ >> >> That looks good. If you're feeling up to it, sparc.ad might benefit >> slightly from this since apparently it's almost always reachable so we >> could use the shorter sequence instead of always forcing the far call >> sequence. >> > > Sure, here is it: http://cr.openjdk.java.net/~iveresov/7011627/webrev.02 > > I changed the name of the parameter of emit_call_reloc() to reflect it's > current purpose. And I also added ifdefs in C1 version. > > igor > >> tom >> >>> >>> Thanks, >>> igor >>> >>> >> > From igor.veresov at oracle.com Tue Jan 11 17:38:18 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 11 Jan 2011 17:38:18 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <4D2D03E3.8050609@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> <4D2CFF1C.8090804@oracle.com> <4D2D03E3.8050609@oracle.com> Message-ID: <4D2D060A.80402@oracle.com> On 1/11/11 5:29 PM, Vladimir Kozlov wrote: > There is an other place in stubGenerator_sparc.cpp: > > // do the call > BLOCK_COMMENT("call runtime_entry"); > __ call(runtime_entry, relocInfo::runtime_call_type); > if (!VerifyThread) > > May be we should only fix MacroAssembler::call( address d, > relocInfo::relocType rt ). Yeah, maybe you're right. It could be better. I'll try that and get back with new webrev. igor > > Vladimir > > Igor Veresov wrote: >> On 1/11/11 3:18 PM, Tom Rodriguez wrote: >>> >>> On Jan 11, 2011, at 2:47 PM, Igor Veresov wrote: >>> >>>> On 1/11/11 1:01 PM, Tom Rodriguez wrote: >>>>> >>>>> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >>>>> >>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >>>>> >>>>> I like that you're trying to use the short one when you can but I >>>>> don't think that test is sufficient. The code is generated into a >>>>> temporary blob and then moved into a RuntimeStub. You could >>>>> conceivably just reach in the temporary code blob but not reach in >>>>> the final one. I think you need to check that the call is reachable >>>>> from the highest and lowest point in the code cache instead. >>>>> >>>> >>>> Yes, you're right of course. >>>> >>>> How about this one: >>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ >>> >>> That looks good. If you're feeling up to it, sparc.ad might benefit >>> slightly from this since apparently it's almost always reachable so >>> we could use the shorter sequence instead of always forcing the far >>> call sequence. >>> >> >> Sure, here is it: http://cr.openjdk.java.net/~iveresov/7011627/webrev.02 >> >> I changed the name of the parameter of emit_call_reloc() to reflect >> it's current purpose. And I also added ifdefs in C1 version. >> >> igor >> >>> tom >>> >>>> >>>> Thanks, >>>> igor >>>> >>>> >>> >> From David.Holmes at oracle.com Tue Jan 11 18:21:53 2011 From: David.Holmes at oracle.com (David Holmes) Date: Wed, 12 Jan 2011 12:21:53 +1000 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: <4D2CEC43.1020409@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D2C9972.6030804@oracle.com> <4D2CAC5C.3090406@oracle.com> <4D2CEC43.1020409@oracle.com> Message-ID: <4D2D1041.3000301@oracle.com> Vladimir Kozlov said the following on 01/12/11 09:48: > You are right, I added store_store barriers and make these fields volatile: > > http://cr.openjdk.java.net/~kvn/7011386/webrev It strikes me as very odd to have to add explicit memory barriers to code that holds two locks while it executes! I understand the problem is that there is a lock-free reader of the values being set. Where is the code that does the lock-free reading of these values? Here: 238 ak->set_lower_dimension(this_oop()); 239 OrderAccess::storestore(); 240 this_oop->set_higher_dimension(ak()); 241 OrderAccess::storestore(); what is the subsequent store that #241 is ordering with? I think this is either unnecessary, or else is intended to be a full fence() if we are really saying that the store at #240 must be made visible to all other threads. David > Vladimir > > Tom Rodriguez wrote: >> On Jan 11, 2011, at 11:15 AM, Vladimir Kozlov wrote: >> >>> Tom, >>> >>> Using oop_store() instead of oop_store_without_check() >>> will generate barriers but it is overkill. >> >> Those are gc barriers. I was really referring to fences. The code is >> a classic instance of the double check locking idiom for lazy init: >> >> objArrayKlassHandle ak (THREAD, this_oop->higher_dimension()); >> if (ak.is_null()) { >> if (or_null) return NULL; >> >> ResourceMark rm; >> JavaThread *jt = (JavaThread *)THREAD; >> { >> MutexLocker mc(Compile_lock, THREAD); // for vtables >> // Ensure atomic creation of higher dimensions >> MutexLocker mu(MultiArray_lock, THREAD); >> >> // Check if another thread beat us >> ak = objArrayKlassHandle(THREAD, this_oop->higher_dimension()); >> if( ak.is_null() ) { >> >> So doesn't that mean that we need a fence of some kind? >> >> tom >> >>> I think marking receiver as volatile should be enough: >>> >>> void set_higher_dimension(klassOop k) volatile { >>> oop_store_without_check((oop*) &_higher_dimension, (oop) k); } >>> void set_lower_dimension(klassOop k) volatile { >>> oop_store_without_check((oop*) &_lower_dimension, (oop) k); } >>> >>> Thanks, >>> Vladimir >>> >>> Tom Rodriguez wrote: >>>> That look good, though I keep wondering if we need a barrier in >>>> between or if those fields really should be volatile. It seems like >>>> we're playing a little loose with the locking for these lazy values. >>>> tom >>>> On Jan 11, 2011, at 9:54 AM, Vladimir Kozlov wrote: >>>>> http://cr.openjdk.java.net/~kvn/7011386/webrev >>>>> >>>>> Fixed 7011386: race in objArrayKlass::array_klass_impl >>>>> >>>>> Other threads may access _lower_dimension field before >>>>> it is initialized by thread which holds the lock in >>>>> objArrayKlass::array_klass_impl(). >>>>> >>>>> Move _lower_dimension field initialization before >>>>> _higher_dimension. >> From David.Holmes at oracle.com Tue Jan 11 18:28:51 2011 From: David.Holmes at oracle.com (David Holmes) Date: Wed, 12 Jan 2011 12:28:51 +1000 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: <4D2D1041.3000301@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D2C9972.6030804@oracle.com> <4D2CAC5C.3090406@oracle.com> <4D2CEC43.1020409@oracle.com> <4D2D1041.3000301@oracle.com> Message-ID: <4D2D11E3.1080503@oracle.com> David Holmes said the following on 01/12/11 12:21: > Vladimir Kozlov said the following on 01/12/11 09:48: >> You are right, I added store_store barriers and make these fields >> volatile: >> >> http://cr.openjdk.java.net/~kvn/7011386/webrev > > It strikes me as very odd to have to add explicit memory barriers to > code that holds two locks while it executes! I understand the problem is > that there is a lock-free reader of the values being set. Where is the > code that does the lock-free reading of these values? > > Here: > > 238 ak->set_lower_dimension(this_oop()); > 239 OrderAccess::storestore(); > 240 this_oop->set_higher_dimension(ak()); > 241 OrderAccess::storestore(); > > what is the subsequent store that #241 is ordering with? I think this is > either unnecessary, or else is intended to be a full fence() if we are > really saying that the store at #240 must be made visible to all other > threads. On further thought I'd say it is unnecessary. Following the barrier there will be two mutex releases that involve additional barriers. The key requirement is that if you see the store from #240 then you must see the store from #238, and the storestore at #239 achieves that. David ----- > David > >> Vladimir >> >> Tom Rodriguez wrote: >>> On Jan 11, 2011, at 11:15 AM, Vladimir Kozlov wrote: >>> >>>> Tom, >>>> >>>> Using oop_store() instead of oop_store_without_check() >>>> will generate barriers but it is overkill. >>> >>> Those are gc barriers. I was really referring to fences. The code >>> is a classic instance of the double check locking idiom for lazy init: >>> >>> objArrayKlassHandle ak (THREAD, this_oop->higher_dimension()); >>> if (ak.is_null()) { >>> if (or_null) return NULL; >>> >>> ResourceMark rm; >>> JavaThread *jt = (JavaThread *)THREAD; >>> { >>> MutexLocker mc(Compile_lock, THREAD); // for vtables >>> // Ensure atomic creation of higher dimensions >>> MutexLocker mu(MultiArray_lock, THREAD); >>> >>> // Check if another thread beat us >>> ak = objArrayKlassHandle(THREAD, this_oop->higher_dimension()); >>> if( ak.is_null() ) { >>> >>> So doesn't that mean that we need a fence of some kind? >>> >>> tom >>> >>>> I think marking receiver as volatile should be enough: >>>> >>>> void set_higher_dimension(klassOop k) volatile { >>>> oop_store_without_check((oop*) &_higher_dimension, (oop) k); } >>>> void set_lower_dimension(klassOop k) volatile { >>>> oop_store_without_check((oop*) &_lower_dimension, (oop) k); } >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> Tom Rodriguez wrote: >>>>> That look good, though I keep wondering if we need a barrier in >>>>> between or if those fields really should be volatile. It seems >>>>> like we're playing a little loose with the locking for these lazy >>>>> values. >>>>> tom >>>>> On Jan 11, 2011, at 9:54 AM, Vladimir Kozlov wrote: >>>>>> http://cr.openjdk.java.net/~kvn/7011386/webrev >>>>>> >>>>>> Fixed 7011386: race in objArrayKlass::array_klass_impl >>>>>> >>>>>> Other threads may access _lower_dimension field before >>>>>> it is initialized by thread which holds the lock in >>>>>> objArrayKlass::array_klass_impl(). >>>>>> >>>>>> Move _lower_dimension field initialization before >>>>>> _higher_dimension. >>> From vladimir.kozlov at oracle.com Tue Jan 11 18:44:59 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jan 2011 18:44:59 -0800 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: <4D2D11E3.1080503@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D2C9972.6030804@oracle.com> <4D2CAC5C.3090406@oracle.com> <4D2CEC43.1020409@oracle.com> <4D2D1041.3000301@oracle.com> <4D2D11E3.1080503@oracle.com> Message-ID: <4D2D15AB.8010003@oracle.com> Thank you, David David Holmes wrote: > David Holmes said the following on 01/12/11 12:21: >> Vladimir Kozlov said the following on 01/12/11 09:48: >>> You are right, I added store_store barriers and make these fields >>> volatile: >>> >>> http://cr.openjdk.java.net/~kvn/7011386/webrev >> >> It strikes me as very odd to have to add explicit memory barriers to >> code that holds two locks while it executes! I understand the problem >> is that there is a lock-free reader of the values being set. Where is >> the code that does the lock-free reading of these values? In objArrayKlass::multi_allocate(). >> >> Here: >> >> 238 ak->set_lower_dimension(this_oop()); >> 239 OrderAccess::storestore(); >> 240 this_oop->set_higher_dimension(ak()); >> 241 OrderAccess::storestore(); >> >> what is the subsequent store that #241 is ordering with? I think this >> is either unnecessary, or else is intended to be a full fence() if we >> are really saying that the store at #240 must be made visible to all >> other threads. > > On further thought I'd say it is unnecessary. Following the barrier > there will be two mutex releases that involve additional barriers. The > key requirement is that if you see the store from #240 then you must see > the store from #238, and the storestore at #239 achieves that. I was afraid that the store from 240 could be visible to an other thread only after locks release so that thread could get old value in the next line: 230 ak = objArrayKlassHandle(THREAD, this_oop->higher_dimension()); Thanks, Vladimir > > David > ----- >> David >> >>> Vladimir >>> >>> Tom Rodriguez wrote: >>>> On Jan 11, 2011, at 11:15 AM, Vladimir Kozlov wrote: >>>> >>>>> Tom, >>>>> >>>>> Using oop_store() instead of oop_store_without_check() >>>>> will generate barriers but it is overkill. >>>> >>>> Those are gc barriers. I was really referring to fences. The code >>>> is a classic instance of the double check locking idiom for lazy init: >>>> >>>> objArrayKlassHandle ak (THREAD, this_oop->higher_dimension()); >>>> if (ak.is_null()) { >>>> if (or_null) return NULL; >>>> >>>> ResourceMark rm; >>>> JavaThread *jt = (JavaThread *)THREAD; >>>> { >>>> MutexLocker mc(Compile_lock, THREAD); // for vtables >>>> // Ensure atomic creation of higher dimensions >>>> MutexLocker mu(MultiArray_lock, THREAD); >>>> >>>> // Check if another thread beat us >>>> ak = objArrayKlassHandle(THREAD, this_oop->higher_dimension()); >>>> if( ak.is_null() ) { >>>> >>>> So doesn't that mean that we need a fence of some kind? >>>> >>>> tom >>>> >>>>> I think marking receiver as volatile should be enough: >>>>> >>>>> void set_higher_dimension(klassOop k) volatile { >>>>> oop_store_without_check((oop*) &_higher_dimension, (oop) k); } >>>>> void set_lower_dimension(klassOop k) volatile { >>>>> oop_store_without_check((oop*) &_lower_dimension, (oop) k); } >>>>> >>>>> Thanks, >>>>> Vladimir >>>>> >>>>> Tom Rodriguez wrote: >>>>>> That look good, though I keep wondering if we need a barrier in >>>>>> between or if those fields really should be volatile. It seems >>>>>> like we're playing a little loose with the locking for these lazy >>>>>> values. >>>>>> tom >>>>>> On Jan 11, 2011, at 9:54 AM, Vladimir Kozlov wrote: >>>>>>> http://cr.openjdk.java.net/~kvn/7011386/webrev >>>>>>> >>>>>>> Fixed 7011386: race in objArrayKlass::array_klass_impl >>>>>>> >>>>>>> Other threads may access _lower_dimension field before >>>>>>> it is initialized by thread which holds the lock in >>>>>>> objArrayKlass::array_klass_impl(). >>>>>>> >>>>>>> Move _lower_dimension field initialization before >>>>>>> _higher_dimension. >>>> From tom.rodriguez at oracle.com Tue Jan 11 18:54:04 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 11 Jan 2011 18:54:04 -0800 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: <4D2D11E3.1080503@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D2C9972.6030804@oracle.com> <4D2CAC5C.3090406@oracle.com> <4D2CEC43.1020409@oracle.com> <4D2D1041.3000301@oracle.com> <4D2D11E3.1080503@oracle.com> Message-ID: On Jan 11, 2011, at 6:28 PM, David Holmes wrote: > David Holmes said the following on 01/12/11 12:21: >> Vladimir Kozlov said the following on 01/12/11 09:48: >>> You are right, I added store_store barriers and make these fields volatile: >>> >>> http://cr.openjdk.java.net/~kvn/7011386/webrev >> It strikes me as very odd to have to add explicit memory barriers to code that holds two locks while it executes! I understand the problem is that there is a lock-free reader of the values being set. Where is the code that does the lock-free reading of these values? >> Here: >> 238 ak->set_lower_dimension(this_oop()); >> 239 OrderAccess::storestore(); >> 240 this_oop->set_higher_dimension(ak()); >> 241 OrderAccess::storestore(); >> what is the subsequent store that #241 is ordering with? I think this is either unnecessary, or else is intended to be a full fence() if we are really saying that the store at #240 must be made visible to all other threads. > > On further thought I'd say it is unnecessary. Following the barrier there will be two mutex releases that involve additional barriers. The key requirement is that if you see the store from #240 then you must see the store from #238, and the storestore at #239 achieves that. That's my sense as well. tom > > David > ----- >> David >>> Vladimir >>> >>> Tom Rodriguez wrote: >>>> On Jan 11, 2011, at 11:15 AM, Vladimir Kozlov wrote: >>>> >>>>> Tom, >>>>> >>>>> Using oop_store() instead of oop_store_without_check() >>>>> will generate barriers but it is overkill. >>>> >>>> Those are gc barriers. I was really referring to fences. The code is a classic instance of the double check locking idiom for lazy init: >>>> >>>> objArrayKlassHandle ak (THREAD, this_oop->higher_dimension()); >>>> if (ak.is_null()) { >>>> if (or_null) return NULL; >>>> >>>> ResourceMark rm; >>>> JavaThread *jt = (JavaThread *)THREAD; >>>> { >>>> MutexLocker mc(Compile_lock, THREAD); // for vtables >>>> // Ensure atomic creation of higher dimensions >>>> MutexLocker mu(MultiArray_lock, THREAD); >>>> >>>> // Check if another thread beat us >>>> ak = objArrayKlassHandle(THREAD, this_oop->higher_dimension()); >>>> if( ak.is_null() ) { >>>> >>>> So doesn't that mean that we need a fence of some kind? >>>> >>>> tom >>>> >>>>> I think marking receiver as volatile should be enough: >>>>> >>>>> void set_higher_dimension(klassOop k) volatile { oop_store_without_check((oop*) &_higher_dimension, (oop) k); } >>>>> void set_lower_dimension(klassOop k) volatile { oop_store_without_check((oop*) &_lower_dimension, (oop) k); } >>>>> >>>>> Thanks, >>>>> Vladimir >>>>> >>>>> Tom Rodriguez wrote: >>>>>> That look good, though I keep wondering if we need a barrier in between or if those fields really should be volatile. It seems like we're playing a little loose with the locking for these lazy values. >>>>>> tom >>>>>> On Jan 11, 2011, at 9:54 AM, Vladimir Kozlov wrote: >>>>>>> http://cr.openjdk.java.net/~kvn/7011386/webrev >>>>>>> >>>>>>> Fixed 7011386: race in objArrayKlass::array_klass_impl >>>>>>> >>>>>>> Other threads may access _lower_dimension field before >>>>>>> it is initialized by thread which holds the lock in >>>>>>> objArrayKlass::array_klass_impl(). >>>>>>> >>>>>>> Move _lower_dimension field initialization before >>>>>>> _higher_dimension. >>>> From tom.rodriguez at oracle.com Tue Jan 11 18:55:27 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 11 Jan 2011 18:55:27 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <4D2D03E3.8050609@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> <4D2CFF1C.8090804@oracle.com> <4D2D03E3.8050609@oracle.com> Message-ID: <05880B73-7134-43B5-B651-98D8CA70E67B@oracle.com> On Jan 11, 2011, at 5:29 PM, Vladimir Kozlov wrote: > There is an other place in stubGenerator_sparc.cpp: > > // do the call > BLOCK_COMMENT("call runtime_entry"); > __ call(runtime_entry, relocInfo::runtime_call_type); > if (!VerifyThread) It's not absolutely required here because these are generated in place but fixing it in MacroAsssembler would be nice and consistent. tom > > May be we should only fix MacroAssembler::call( address d, relocInfo::relocType rt ). > > Vladimir > > Igor Veresov wrote: >> On 1/11/11 3:18 PM, Tom Rodriguez wrote: >>> >>> On Jan 11, 2011, at 2:47 PM, Igor Veresov wrote: >>> >>>> On 1/11/11 1:01 PM, Tom Rodriguez wrote: >>>>> >>>>> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >>>>> >>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >>>>> >>>>> I like that you're trying to use the short one when you can but I don't think that test is sufficient. The code is generated into a temporary blob and then moved into a RuntimeStub. You could conceivably just reach in the temporary code blob but not reach in the final one. I think you need to check that the call is reachable from the highest and lowest point in the code cache instead. >>>>> >>>> >>>> Yes, you're right of course. >>>> >>>> How about this one: >>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ >>> >>> That looks good. If you're feeling up to it, sparc.ad might benefit slightly from this since apparently it's almost always reachable so we could use the shorter sequence instead of always forcing the far call sequence. >>> >> Sure, here is it: http://cr.openjdk.java.net/~iveresov/7011627/webrev.02 >> I changed the name of the parameter of emit_call_reloc() to reflect it's current purpose. And I also added ifdefs in C1 version. >> igor >>> tom >>> >>>> >>>> Thanks, >>>> igor >>>> >>>> >>> From David.Holmes at oracle.com Tue Jan 11 19:08:55 2011 From: David.Holmes at oracle.com (David Holmes) Date: Wed, 12 Jan 2011 13:08:55 +1000 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: <4D2D15AB.8010003@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D2C9972.6030804@oracle.com> <4D2CAC5C.3090406@oracle.com> <4D2CEC43.1020409@oracle.com> <4D2D1041.3000301@oracle.com> <4D2D11E3.1080503@oracle.com> <4D2D15AB.8010003@oracle.com> Message-ID: <4D2D1B47.2090102@oracle.com> Vladimir Kozlov said the following on 01/12/11 12:44: > David Holmes wrote: >> David Holmes said the following on 01/12/11 12:21: >>> Vladimir Kozlov said the following on 01/12/11 09:48: >>>> You are right, I added store_store barriers and make these fields >>>> volatile: >>>> >>>> http://cr.openjdk.java.net/~kvn/7011386/webrev >>> >>> It strikes me as very odd to have to add explicit memory barriers to >>> code that holds two locks while it executes! I understand the problem >>> is that there is a lock-free reader of the values being set. Where is >>> the code that does the lock-free reading of these values? > > In objArrayKlass::multi_allocate(). Thanks - now I see the DCL pattern that Tom described. >>> >>> Here: >>> >>> 238 ak->set_lower_dimension(this_oop()); >>> 239 OrderAccess::storestore(); >>> 240 this_oop->set_higher_dimension(ak()); >>> 241 OrderAccess::storestore(); >>> >>> what is the subsequent store that #241 is ordering with? I think this >>> is either unnecessary, or else is intended to be a full fence() if we >>> are really saying that the store at #240 must be made visible to all >>> other threads. >> >> On further thought I'd say it is unnecessary. Following the barrier >> there will be two mutex releases that involve additional barriers. The >> key requirement is that if you see the store from #240 then you must >> see the store from #238, and the storestore at #239 achieves that. > > I was afraid that the store from 240 could be visible to an other thread > only after locks release so that thread could get old value in the next > line: > > 230 ak = objArrayKlassHandle(THREAD, this_oop->higher_dimension()); I assume you meant at 218, which is the same as 230 but without the lock held. Yes it is possible that 218 won't see the value set at 240 until the lock is released, but that is okay, it will proceed to get the lock and recheck at line 230. The key thing is that if 218 does see the value set at 240 then it must also see the value set at 238 - and the storestore achieves that. And of course the same for the change in the other file. David ----- > Thanks, > Vladimir > >> >> David >> ----- >>> David >>> >>>> Vladimir >>>> >>>> Tom Rodriguez wrote: >>>>> On Jan 11, 2011, at 11:15 AM, Vladimir Kozlov wrote: >>>>> >>>>>> Tom, >>>>>> >>>>>> Using oop_store() instead of oop_store_without_check() >>>>>> will generate barriers but it is overkill. >>>>> >>>>> Those are gc barriers. I was really referring to fences. The code >>>>> is a classic instance of the double check locking idiom for lazy init: >>>>> >>>>> objArrayKlassHandle ak (THREAD, this_oop->higher_dimension()); >>>>> if (ak.is_null()) { >>>>> if (or_null) return NULL; >>>>> >>>>> ResourceMark rm; >>>>> JavaThread *jt = (JavaThread *)THREAD; >>>>> { >>>>> MutexLocker mc(Compile_lock, THREAD); // for vtables >>>>> // Ensure atomic creation of higher dimensions >>>>> MutexLocker mu(MultiArray_lock, THREAD); >>>>> >>>>> // Check if another thread beat us >>>>> ak = objArrayKlassHandle(THREAD, this_oop->higher_dimension()); >>>>> if( ak.is_null() ) { >>>>> >>>>> So doesn't that mean that we need a fence of some kind? >>>>> >>>>> tom >>>>> >>>>>> I think marking receiver as volatile should be enough: >>>>>> >>>>>> void set_higher_dimension(klassOop k) volatile { >>>>>> oop_store_without_check((oop*) &_higher_dimension, (oop) k); } >>>>>> void set_lower_dimension(klassOop k) volatile { >>>>>> oop_store_without_check((oop*) &_lower_dimension, (oop) k); } >>>>>> >>>>>> Thanks, >>>>>> Vladimir >>>>>> >>>>>> Tom Rodriguez wrote: >>>>>>> That look good, though I keep wondering if we need a barrier in >>>>>>> between or if those fields really should be volatile. It seems >>>>>>> like we're playing a little loose with the locking for these lazy >>>>>>> values. >>>>>>> tom >>>>>>> On Jan 11, 2011, at 9:54 AM, Vladimir Kozlov wrote: >>>>>>>> http://cr.openjdk.java.net/~kvn/7011386/webrev >>>>>>>> >>>>>>>> Fixed 7011386: race in objArrayKlass::array_klass_impl >>>>>>>> >>>>>>>> Other threads may access _lower_dimension field before >>>>>>>> it is initialized by thread which holds the lock in >>>>>>>> objArrayKlass::array_klass_impl(). >>>>>>>> >>>>>>>> Move _lower_dimension field initialization before >>>>>>>> _higher_dimension. >>>>> From vladimir.kozlov at oracle.com Tue Jan 11 19:27:46 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jan 2011 19:27:46 -0800 Subject: Request for reviews (XS): 7011386: race in objArrayKlass::array_klass_impl In-Reply-To: <4D2D1B47.2090102@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D2C9972.6030804@oracle.com> <4D2CAC5C.3090406@oracle.com> <4D2CEC43.1020409@oracle.com> <4D2D1041.3000301@oracle.com> <4D2D11E3.1080503@oracle.com> <4D2D15AB.8010003@oracle.com> <4D2D1B47.2090102@oracle.com> Message-ID: <4D2D1FB2.3090301@oracle.com> Thank you, David I will remove second storestore in 241. Vladimir David Holmes wrote: > Vladimir Kozlov said the following on 01/12/11 12:44: >> David Holmes wrote: >>> David Holmes said the following on 01/12/11 12:21: >>>> Vladimir Kozlov said the following on 01/12/11 09:48: >>>>> You are right, I added store_store barriers and make these fields >>>>> volatile: >>>>> >>>>> http://cr.openjdk.java.net/~kvn/7011386/webrev >>>> >>>> It strikes me as very odd to have to add explicit memory barriers to >>>> code that holds two locks while it executes! I understand the >>>> problem is that there is a lock-free reader of the values being set. >>>> Where is the code that does the lock-free reading of these values? >> >> In objArrayKlass::multi_allocate(). > > Thanks - now I see the DCL pattern that Tom described. > >>>> >>>> Here: >>>> >>>> 238 ak->set_lower_dimension(this_oop()); >>>> 239 OrderAccess::storestore(); >>>> 240 this_oop->set_higher_dimension(ak()); >>>> 241 OrderAccess::storestore(); >>>> >>>> what is the subsequent store that #241 is ordering with? I think >>>> this is either unnecessary, or else is intended to be a full fence() >>>> if we are really saying that the store at #240 must be made visible >>>> to all other threads. >>> >>> On further thought I'd say it is unnecessary. Following the barrier >>> there will be two mutex releases that involve additional barriers. >>> The key requirement is that if you see the store from #240 then you >>> must see the store from #238, and the storestore at #239 achieves that. >> >> I was afraid that the store from 240 could be visible to an other thread >> only after locks release so that thread could get old value in the >> next line: >> >> 230 ak = objArrayKlassHandle(THREAD, >> this_oop->higher_dimension()); > > I assume you meant at 218, which is the same as 230 but without the lock > held. Yes it is possible that 218 won't see the value set at 240 until > the lock is released, but that is okay, it will proceed to get the lock > and recheck at line 230. The key thing is that if 218 does see the value > set at 240 then it must also see the value set at 238 - and the > storestore achieves that. > > And of course the same for the change in the other file. > > David > ----- > >> Thanks, >> Vladimir >> >>> >>> David >>> ----- >>>> David >>>> >>>>> Vladimir >>>>> >>>>> Tom Rodriguez wrote: >>>>>> On Jan 11, 2011, at 11:15 AM, Vladimir Kozlov wrote: >>>>>> >>>>>>> Tom, >>>>>>> >>>>>>> Using oop_store() instead of oop_store_without_check() >>>>>>> will generate barriers but it is overkill. >>>>>> >>>>>> Those are gc barriers. I was really referring to fences. The >>>>>> code is a classic instance of the double check locking idiom for >>>>>> lazy init: >>>>>> >>>>>> objArrayKlassHandle ak (THREAD, this_oop->higher_dimension()); >>>>>> if (ak.is_null()) { >>>>>> if (or_null) return NULL; >>>>>> >>>>>> ResourceMark rm; >>>>>> JavaThread *jt = (JavaThread *)THREAD; >>>>>> { >>>>>> MutexLocker mc(Compile_lock, THREAD); // for vtables >>>>>> // Ensure atomic creation of higher dimensions >>>>>> MutexLocker mu(MultiArray_lock, THREAD); >>>>>> >>>>>> // Check if another thread beat us >>>>>> ak = objArrayKlassHandle(THREAD, this_oop->higher_dimension()); >>>>>> if( ak.is_null() ) { >>>>>> >>>>>> So doesn't that mean that we need a fence of some kind? >>>>>> >>>>>> tom >>>>>> >>>>>>> I think marking receiver as volatile should be enough: >>>>>>> >>>>>>> void set_higher_dimension(klassOop k) volatile { >>>>>>> oop_store_without_check((oop*) &_higher_dimension, (oop) k); } >>>>>>> void set_lower_dimension(klassOop k) volatile { >>>>>>> oop_store_without_check((oop*) &_lower_dimension, (oop) k); } >>>>>>> >>>>>>> Thanks, >>>>>>> Vladimir >>>>>>> >>>>>>> Tom Rodriguez wrote: >>>>>>>> That look good, though I keep wondering if we need a barrier in >>>>>>>> between or if those fields really should be volatile. It seems >>>>>>>> like we're playing a little loose with the locking for these >>>>>>>> lazy values. >>>>>>>> tom >>>>>>>> On Jan 11, 2011, at 9:54 AM, Vladimir Kozlov wrote: >>>>>>>>> http://cr.openjdk.java.net/~kvn/7011386/webrev >>>>>>>>> >>>>>>>>> Fixed 7011386: race in objArrayKlass::array_klass_impl >>>>>>>>> >>>>>>>>> Other threads may access _lower_dimension field before >>>>>>>>> it is initialized by thread which holds the lock in >>>>>>>>> objArrayKlass::array_klass_impl(). >>>>>>>>> >>>>>>>>> Move _lower_dimension field initialization before >>>>>>>>> _higher_dimension. >>>>>> From vladimir.kozlov at oracle.com Tue Jan 11 23:03:06 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Wed, 12 Jan 2011 07:03:06 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7011386: race in objArrayKlass::array_klass_impl Message-ID: <20110112070310.C507747BA3@hg.openjdk.java.net> Changeset: d4fca0a6abde Author: kvn Date: 2011-01-11 20:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/d4fca0a6abde 7011386: race in objArrayKlass::array_klass_impl Summary: Move _lower_dimension field initialization before _higher_dimension and add storestore barrier. Reviewed-by: dholmes, iveresov, never ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/runtime/vmStructs.cpp From igor.veresov at oracle.com Wed Jan 12 03:55:49 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Wed, 12 Jan 2011 03:55:49 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <05880B73-7134-43B5-B651-98D8CA70E67B@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> <4D2CFF1C.8090804@oracle.com> <4D2D03E3.8050609@oracle.com> <05880B73-7134-43B5-B651-98D8CA70E67B@oracle.com> Message-ID: <4D2D96C5.7080904@oracle.com> Tom, Vladimir, Here is the fix in MacroAssembler: http://cr.openjdk.java.net/~iveresov/7011627/webrev.03/ igor On 1/11/11 6:55 PM, Tom Rodriguez wrote: > > On Jan 11, 2011, at 5:29 PM, Vladimir Kozlov wrote: > >> There is an other place in stubGenerator_sparc.cpp: >> >> // do the call >> BLOCK_COMMENT("call runtime_entry"); >> __ call(runtime_entry, relocInfo::runtime_call_type); >> if (!VerifyThread) > > It's not absolutely required here because these are generated in place but fixing it in MacroAsssembler would be nice and consistent. > > tom > >> >> May be we should only fix MacroAssembler::call( address d, relocInfo::relocType rt ). >> >> Vladimir >> >> Igor Veresov wrote: >>> On 1/11/11 3:18 PM, Tom Rodriguez wrote: >>>> >>>> On Jan 11, 2011, at 2:47 PM, Igor Veresov wrote: >>>> >>>>> On 1/11/11 1:01 PM, Tom Rodriguez wrote: >>>>>> >>>>>> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >>>>>> >>>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >>>>>> >>>>>> I like that you're trying to use the short one when you can but I don't think that test is sufficient. The code is generated into a temporary blob and then moved into a RuntimeStub. You could conceivably just reach in the temporary code blob but not reach in the final one. I think you need to check that the call is reachable from the highest and lowest point in the code cache instead. >>>>>> >>>>> >>>>> Yes, you're right of course. >>>>> >>>>> How about this one: >>>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ >>>> >>>> That looks good. If you're feeling up to it, sparc.ad might benefit slightly from this since apparently it's almost always reachable so we could use the shorter sequence instead of always forcing the far call sequence. >>>> >>> Sure, here is it: http://cr.openjdk.java.net/~iveresov/7011627/webrev.02 >>> I changed the name of the parameter of emit_call_reloc() to reflect it's current purpose. And I also added ifdefs in C1 version. >>> igor >>>> tom >>>> >>>>> >>>>> Thanks, >>>>> igor >>>>> >>>>> >>>> > From christian.thalinger at oracle.com Wed Jan 12 05:46:14 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 12 Jan 2011 14:46:14 +0100 Subject: Request for reviews (S): 7011839: JSR 292 turn on escape analysis when using invokedynamic Message-ID: <7D0D4C7C-3096-4EC0-B278-D47F904F7ACA@oracle.com> http://cr.openjdk.java.net/~twisti/7011839/webrev.01/ 7011839: JSR 292 turn on escape analysis when using invokedynamic Summary: Currently escape analysis is turned off when EnableInvokeDynamic is true. Reviewed-by: Actually I wanted to piggyback that one onto 6817525 but I think it's better to get some extra testing before turning on method handle functionality by default. The suggested fix is to enable escape analysis again but conservatively skip invokedynamic callees. From christian.thalinger at oracle.com Wed Jan 12 05:56:28 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 12 Jan 2011 14:56:28 +0100 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <4D2D96C5.7080904@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> <4D2CFF1C.8090804@oracle.com> <4D2D03E3.8050609@oracle.com> <05880B73-7134-43B5-B651-98D8CA70E67B@oracle.com> <4D2D96C5.7080904@oracle.com> Message-ID: On Jan 12, 2011, at 12:55 PM, Igor Veresov wrote: > Tom, Vladimir, > > Here is the fix in MacroAssembler: > http://cr.openjdk.java.net/~iveresov/7011627/webrev.03/ What about using pointer_delta as Vladimir suggested? -- Christian From vladimir.kozlov at oracle.com Wed Jan 12 09:22:30 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 12 Jan 2011 09:22:30 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <4D2D96C5.7080904@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> <4D2CFF1C.8090804@oracle.com> <4D2D03E3.8050609@oracle.com> <05880B73-7134-43B5-B651-98D8CA70E67B@oracle.com> <4D2D96C5.7080904@oracle.com> Message-ID: <4D2DE356.3020002@oracle.com> Looks good. Vladimir On 1/12/11 3:55 AM, Igor Veresov wrote: > Tom, Vladimir, > > Here is the fix in MacroAssembler: > http://cr.openjdk.java.net/~iveresov/7011627/webrev.03/ > > igor > > On 1/11/11 6:55 PM, Tom Rodriguez wrote: >> >> On Jan 11, 2011, at 5:29 PM, Vladimir Kozlov wrote: >> >>> There is an other place in stubGenerator_sparc.cpp: >>> >>> // do the call >>> BLOCK_COMMENT("call runtime_entry"); >>> __ call(runtime_entry, relocInfo::runtime_call_type); >>> if (!VerifyThread) >> >> It's not absolutely required here because these are generated in place but fixing it in MacroAsssembler would be nice >> and consistent. >> >> tom >> >>> >>> May be we should only fix MacroAssembler::call( address d, relocInfo::relocType rt ). >>> >>> Vladimir >>> >>> Igor Veresov wrote: >>>> On 1/11/11 3:18 PM, Tom Rodriguez wrote: >>>>> >>>>> On Jan 11, 2011, at 2:47 PM, Igor Veresov wrote: >>>>> >>>>>> On 1/11/11 1:01 PM, Tom Rodriguez wrote: >>>>>>> >>>>>>> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >>>>>>> >>>>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >>>>>>> >>>>>>> I like that you're trying to use the short one when you can but I don't think that test is sufficient. The code >>>>>>> is generated into a temporary blob and then moved into a RuntimeStub. You could conceivably just reach in the >>>>>>> temporary code blob but not reach in the final one. I think you need to check that the call is reachable from the >>>>>>> highest and lowest point in the code cache instead. >>>>>>> >>>>>> >>>>>> Yes, you're right of course. >>>>>> >>>>>> How about this one: >>>>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ >>>>> >>>>> That looks good. If you're feeling up to it, sparc.ad might benefit slightly from this since apparently it's almost >>>>> always reachable so we could use the shorter sequence instead of always forcing the far call sequence. >>>>> >>>> Sure, here is it: http://cr.openjdk.java.net/~iveresov/7011627/webrev.02 >>>> I changed the name of the parameter of emit_call_reloc() to reflect it's current purpose. And I also added ifdefs in >>>> C1 version. >>>> igor >>>>> tom >>>>> >>>>>> >>>>>> Thanks, >>>>>> igor >>>>>> >>>>>> >>>>> >> > From vladimir.kozlov at oracle.com Wed Jan 12 09:53:41 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 12 Jan 2011 09:53:41 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> <4D2CFF1C.8090804@oracle.com> <4D2D03E3.8050609@oracle.com> <05880B73-7134-43B5-B651-98D8CA70E67B@oracle.com> <4D2D96C5.7080904@oracle.com> Message-ID: <4D2DEAA5.9040306@oracle.com> We talked with Igor about it. It was wrong idea and is not needed here since is_in_wdisp30_range() checks full range (from neg to pos). Vladimir On 1/12/11 5:56 AM, Christian Thalinger wrote: > On Jan 12, 2011, at 12:55 PM, Igor Veresov wrote: >> Tom, Vladimir, >> >> Here is the fix in MacroAssembler: >> http://cr.openjdk.java.net/~iveresov/7011627/webrev.03/ > > > What about using pointer_delta as Vladimir suggested? > > -- Christian From tom.rodriguez at oracle.com Wed Jan 12 10:50:36 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 12 Jan 2011 10:50:36 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <4D2D96C5.7080904@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> <4D2CFF1C.8090804@oracle.com> <4D2D03E3.8050609@oracle.com> <05880B73-7134-43B5-B651-98D8CA70E67B@oracle.com> <4D2D96C5.7080904@oracle.com> Message-ID: <22B565E3-1A97-49F8-8682-F198630CBFA9@oracle.com> That looks great. tom On Jan 12, 2011, at 3:55 AM, Igor Veresov wrote: > Tom, Vladimir, > > Here is the fix in MacroAssembler: > http://cr.openjdk.java.net/~iveresov/7011627/webrev.03/ > > igor > > On 1/11/11 6:55 PM, Tom Rodriguez wrote: >> >> On Jan 11, 2011, at 5:29 PM, Vladimir Kozlov wrote: >> >>> There is an other place in stubGenerator_sparc.cpp: >>> >>> // do the call >>> BLOCK_COMMENT("call runtime_entry"); >>> __ call(runtime_entry, relocInfo::runtime_call_type); >>> if (!VerifyThread) >> >> It's not absolutely required here because these are generated in place but fixing it in MacroAsssembler would be nice and consistent. >> >> tom >> >>> >>> May be we should only fix MacroAssembler::call( address d, relocInfo::relocType rt ). >>> >>> Vladimir >>> >>> Igor Veresov wrote: >>>> On 1/11/11 3:18 PM, Tom Rodriguez wrote: >>>>> >>>>> On Jan 11, 2011, at 2:47 PM, Igor Veresov wrote: >>>>> >>>>>> On 1/11/11 1:01 PM, Tom Rodriguez wrote: >>>>>>> >>>>>>> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >>>>>>> >>>>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >>>>>>> >>>>>>> I like that you're trying to use the short one when you can but I don't think that test is sufficient. The code is generated into a temporary blob and then moved into a RuntimeStub. You could conceivably just reach in the temporary code blob but not reach in the final one. I think you need to check that the call is reachable from the highest and lowest point in the code cache instead. >>>>>>> >>>>>> >>>>>> Yes, you're right of course. >>>>>> >>>>>> How about this one: >>>>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ >>>>> >>>>> That looks good. If you're feeling up to it, sparc.ad might benefit slightly from this since apparently it's almost always reachable so we could use the shorter sequence instead of always forcing the far call sequence. >>>>> >>>> Sure, here is it: http://cr.openjdk.java.net/~iveresov/7011627/webrev.02 >>>> I changed the name of the parameter of emit_call_reloc() to reflect it's current purpose. And I also added ifdefs in C1 version. >>>> igor >>>>> tom >>>>> >>>>>> >>>>>> Thanks, >>>>>> igor >>>>>> >>>>>> >>>>> >> > From igor.veresov at oracle.com Wed Jan 12 12:21:42 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Wed, 12 Jan 2011 12:21:42 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <22B565E3-1A97-49F8-8682-F198630CBFA9@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> <4D2CFF1C.8090804@oracle.com> <4D2D03E3.8050609@oracle.com> <05880B73-7134-43B5-B651-98D8CA70E67B@oracle.com> <4D2D96C5.7080904@oracle.com> <22B565E3-1A97-49F8-8682-F198630CBFA9@oracle.com> Message-ID: <4D2E0D56.7020408@oracle.com> Thanks Vladimir, Tom and Paul! igor On 1/12/11 10:50 AM, Tom Rodriguez wrote: > That looks great. > > tom > > On Jan 12, 2011, at 3:55 AM, Igor Veresov wrote: > >> Tom, Vladimir, >> >> Here is the fix in MacroAssembler: >> http://cr.openjdk.java.net/~iveresov/7011627/webrev.03/ >> >> igor >> >> On 1/11/11 6:55 PM, Tom Rodriguez wrote: >>> >>> On Jan 11, 2011, at 5:29 PM, Vladimir Kozlov wrote: >>> >>>> There is an other place in stubGenerator_sparc.cpp: >>>> >>>> // do the call >>>> BLOCK_COMMENT("call runtime_entry"); >>>> __ call(runtime_entry, relocInfo::runtime_call_type); >>>> if (!VerifyThread) >>> >>> It's not absolutely required here because these are generated in place but fixing it in MacroAsssembler would be nice and consistent. >>> >>> tom >>> >>>> >>>> May be we should only fix MacroAssembler::call( address d, relocInfo::relocType rt ). >>>> >>>> Vladimir >>>> >>>> Igor Veresov wrote: >>>>> On 1/11/11 3:18 PM, Tom Rodriguez wrote: >>>>>> >>>>>> On Jan 11, 2011, at 2:47 PM, Igor Veresov wrote: >>>>>> >>>>>>> On 1/11/11 1:01 PM, Tom Rodriguez wrote: >>>>>>>> >>>>>>>> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >>>>>>>> >>>>>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >>>>>>>> >>>>>>>> I like that you're trying to use the short one when you can but I don't think that test is sufficient. The code is generated into a temporary blob and then moved into a RuntimeStub. You could conceivably just reach in the temporary code blob but not reach in the final one. I think you need to check that the call is reachable from the highest and lowest point in the code cache instead. >>>>>>>> >>>>>>> >>>>>>> Yes, you're right of course. >>>>>>> >>>>>>> How about this one: >>>>>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ >>>>>> >>>>>> That looks good. If you're feeling up to it, sparc.ad might benefit slightly from this since apparently it's almost always reachable so we could use the shorter sequence instead of always forcing the far call sequence. >>>>>> >>>>> Sure, here is it: http://cr.openjdk.java.net/~iveresov/7011627/webrev.02 >>>>> I changed the name of the parameter of emit_call_reloc() to reflect it's current purpose. And I also added ifdefs in C1 version. >>>>> igor >>>>>> tom >>>>>> >>>>>>> >>>>>>> Thanks, >>>>>>> igor >>>>>>> >>>>>>> >>>>>> >>> >> > From john.r.rose at oracle.com Wed Jan 12 15:00:08 2011 From: john.r.rose at oracle.com (John Rose) Date: Wed, 12 Jan 2011 15:00:08 -0800 Subject: Request for reviews (S): 7011839: JSR 292 turn on escape analysis when using invokedynamic In-Reply-To: <7D0D4C7C-3096-4EC0-B278-D47F904F7ACA@oracle.com> References: <7D0D4C7C-3096-4EC0-B278-D47F904F7ACA@oracle.com> Message-ID: On Jan 12, 2011, at 5:46 AM, Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/7011839/webrev.01/ The arg_size computation is very fragile. To start with, the arg_size value should be computed in one place. As the code is written, arg_base points at the implicit argument to indy, which (I think) is not really on the stack. I suggest this code: 234 // compute size of arguments 235 int arg_size = target->arg_size(); if (code == Bytecodes::_invokedynamic) { assert(!target->is_static(), "receiver explicit in method"); arg_size--; // implicit, not really on stack } 236 if (!target->is_loaded() && code == Bytecodes::_invokestatic) { assert(!target->is_static(), "receiver explicit in unloaded method"); 237 arg_size--; 238 } The second assertion is for good measure. The bare "arg_size--" makes me nervous. Otherwise, good. -- John From igor.veresov at oracle.com Wed Jan 12 18:13:51 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Wed, 12 Jan 2011 18:13:51 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <4D2E0D56.7020408@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> <4D2CFF1C.8090804@oracle.com> <4D2D03E3.8050609@oracle.com> <05880B73-7134-43B5-B651-98D8CA70E67B@oracle.com> <4D2D96C5.7080904@oracle.com> <22B565E3-1A97-49F8-8682-F198630CBFA9@oracle.com> <4D2E0D56.7020408@oracle.com> Message-ID: <4D2E5FDF.8090109@oracle.com> Sorry guys, this is hopefully the last time: http://cr.openjdk.java.net/~iveresov/7011627/webrev.04 MachCallRuntimeNode::ret_addr_offset() needed fixing... Thanks, igor On 1/12/11 12:21 PM, Igor Veresov wrote: > Thanks Vladimir, Tom and Paul! > > igor > > On 1/12/11 10:50 AM, Tom Rodriguez wrote: >> That looks great. >> >> tom >> >> On Jan 12, 2011, at 3:55 AM, Igor Veresov wrote: >> >>> Tom, Vladimir, >>> >>> Here is the fix in MacroAssembler: >>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.03/ >>> >>> igor >>> >>> On 1/11/11 6:55 PM, Tom Rodriguez wrote: >>>> >>>> On Jan 11, 2011, at 5:29 PM, Vladimir Kozlov wrote: >>>> >>>>> There is an other place in stubGenerator_sparc.cpp: >>>>> >>>>> // do the call >>>>> BLOCK_COMMENT("call runtime_entry"); >>>>> __ call(runtime_entry, relocInfo::runtime_call_type); >>>>> if (!VerifyThread) >>>> >>>> It's not absolutely required here because these are generated in >>>> place but fixing it in MacroAsssembler would be nice and consistent. >>>> >>>> tom >>>> >>>>> >>>>> May be we should only fix MacroAssembler::call( address d, >>>>> relocInfo::relocType rt ). >>>>> >>>>> Vladimir >>>>> >>>>> Igor Veresov wrote: >>>>>> On 1/11/11 3:18 PM, Tom Rodriguez wrote: >>>>>>> >>>>>>> On Jan 11, 2011, at 2:47 PM, Igor Veresov wrote: >>>>>>> >>>>>>>> On 1/11/11 1:01 PM, Tom Rodriguez wrote: >>>>>>>>> >>>>>>>>> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >>>>>>>>> >>>>>>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >>>>>>>>> >>>>>>>>> I like that you're trying to use the short one when you can but >>>>>>>>> I don't think that test is sufficient. The code is generated >>>>>>>>> into a temporary blob and then moved into a RuntimeStub. You >>>>>>>>> could conceivably just reach in the temporary code blob but not >>>>>>>>> reach in the final one. I think you need to check that the call >>>>>>>>> is reachable from the highest and lowest point in the code >>>>>>>>> cache instead. >>>>>>>>> >>>>>>>> >>>>>>>> Yes, you're right of course. >>>>>>>> >>>>>>>> How about this one: >>>>>>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ >>>>>>> >>>>>>> That looks good. If you're feeling up to it, sparc.ad might >>>>>>> benefit slightly from this since apparently it's almost always >>>>>>> reachable so we could use the shorter sequence instead of always >>>>>>> forcing the far call sequence. >>>>>>> >>>>>> Sure, here is it: >>>>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.02 >>>>>> I changed the name of the parameter of emit_call_reloc() to >>>>>> reflect it's current purpose. And I also added ifdefs in C1 version. >>>>>> igor >>>>>>> tom >>>>>>> >>>>>>>> >>>>>>>> Thanks, >>>>>>>> igor >>>>>>>> >>>>>>>> >>>>>>> >>>> >>> >> > From tom.rodriguez at oracle.com Wed Jan 12 18:17:44 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 12 Jan 2011 18:17:44 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <4D2E5FDF.8090109@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> <4D2CFF1C.8090804@oracle.com> <4D2D03E3.8050609@oracle.com> <05880B73-7134-43B5-B651-98D8CA70E67B@oracle.com> <4D2D96C5.7080904@oracle.com> <22B565E3-1A97-49F8-8682-F198630CBFA9@oracle.com> <4D2E0D56.7020408@oracle.com> <4D2E5FDF.8090109@oracle.com> Message-ID: <2C38FEE6-050B-473D-B533-AC61BAAD8909@oracle.com> That looks even better. ;) tom On Jan 12, 2011, at 6:13 PM, Igor Veresov wrote: > Sorry guys, this is hopefully the last time: > http://cr.openjdk.java.net/~iveresov/7011627/webrev.04 > > MachCallRuntimeNode::ret_addr_offset() needed fixing... > > Thanks, > igor > > On 1/12/11 12:21 PM, Igor Veresov wrote: >> Thanks Vladimir, Tom and Paul! >> >> igor >> >> On 1/12/11 10:50 AM, Tom Rodriguez wrote: >>> That looks great. >>> >>> tom >>> >>> On Jan 12, 2011, at 3:55 AM, Igor Veresov wrote: >>> >>>> Tom, Vladimir, >>>> >>>> Here is the fix in MacroAssembler: >>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.03/ >>>> >>>> igor >>>> >>>> On 1/11/11 6:55 PM, Tom Rodriguez wrote: >>>>> >>>>> On Jan 11, 2011, at 5:29 PM, Vladimir Kozlov wrote: >>>>> >>>>>> There is an other place in stubGenerator_sparc.cpp: >>>>>> >>>>>> // do the call >>>>>> BLOCK_COMMENT("call runtime_entry"); >>>>>> __ call(runtime_entry, relocInfo::runtime_call_type); >>>>>> if (!VerifyThread) >>>>> >>>>> It's not absolutely required here because these are generated in >>>>> place but fixing it in MacroAsssembler would be nice and consistent. >>>>> >>>>> tom >>>>> >>>>>> >>>>>> May be we should only fix MacroAssembler::call( address d, >>>>>> relocInfo::relocType rt ). >>>>>> >>>>>> Vladimir >>>>>> >>>>>> Igor Veresov wrote: >>>>>>> On 1/11/11 3:18 PM, Tom Rodriguez wrote: >>>>>>>> >>>>>>>> On Jan 11, 2011, at 2:47 PM, Igor Veresov wrote: >>>>>>>> >>>>>>>>> On 1/11/11 1:01 PM, Tom Rodriguez wrote: >>>>>>>>>> >>>>>>>>>> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >>>>>>>>>> >>>>>>>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >>>>>>>>>> >>>>>>>>>> I like that you're trying to use the short one when you can but >>>>>>>>>> I don't think that test is sufficient. The code is generated >>>>>>>>>> into a temporary blob and then moved into a RuntimeStub. You >>>>>>>>>> could conceivably just reach in the temporary code blob but not >>>>>>>>>> reach in the final one. I think you need to check that the call >>>>>>>>>> is reachable from the highest and lowest point in the code >>>>>>>>>> cache instead. >>>>>>>>>> >>>>>>>>> >>>>>>>>> Yes, you're right of course. >>>>>>>>> >>>>>>>>> How about this one: >>>>>>>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ >>>>>>>> >>>>>>>> That looks good. If you're feeling up to it, sparc.ad might >>>>>>>> benefit slightly from this since apparently it's almost always >>>>>>>> reachable so we could use the shorter sequence instead of always >>>>>>>> forcing the far call sequence. >>>>>>>> >>>>>>> Sure, here is it: >>>>>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.02 >>>>>>> I changed the name of the parameter of emit_call_reloc() to >>>>>>> reflect it's current purpose. And I also added ifdefs in C1 version. >>>>>>> igor >>>>>>>> tom >>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> igor >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>> >>>> >>> >> > From vladimir.kozlov at oracle.com Wed Jan 12 18:17:47 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 12 Jan 2011 18:17:47 -0800 Subject: Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30 In-Reply-To: <4D2E5FDF.8090109@oracle.com> References: <4D2CC149.8060009@oracle.com> <31D92C91-5C1C-436D-8FD0-0A31EC8E53AC@oracle.com> <4D2CDE03.4010501@oracle.com> <4D2CFF1C.8090804@oracle.com> <4D2D03E3.8050609@oracle.com> <05880B73-7134-43B5-B651-98D8CA70E67B@oracle.com> <4D2D96C5.7080904@oracle.com> <22B565E3-1A97-49F8-8682-F198630CBFA9@oracle.com> <4D2E0D56.7020408@oracle.com> <4D2E5FDF.8090109@oracle.com> Message-ID: <4D2E60CB.80501@oracle.com> Good. Vladimir Igor Veresov wrote: > Sorry guys, this is hopefully the last time: > http://cr.openjdk.java.net/~iveresov/7011627/webrev.04 > > MachCallRuntimeNode::ret_addr_offset() needed fixing... > > Thanks, > igor > > On 1/12/11 12:21 PM, Igor Veresov wrote: >> Thanks Vladimir, Tom and Paul! >> >> igor >> >> On 1/12/11 10:50 AM, Tom Rodriguez wrote: >>> That looks great. >>> >>> tom >>> >>> On Jan 12, 2011, at 3:55 AM, Igor Veresov wrote: >>> >>>> Tom, Vladimir, >>>> >>>> Here is the fix in MacroAssembler: >>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.03/ >>>> >>>> igor >>>> >>>> On 1/11/11 6:55 PM, Tom Rodriguez wrote: >>>>> >>>>> On Jan 11, 2011, at 5:29 PM, Vladimir Kozlov wrote: >>>>> >>>>>> There is an other place in stubGenerator_sparc.cpp: >>>>>> >>>>>> // do the call >>>>>> BLOCK_COMMENT("call runtime_entry"); >>>>>> __ call(runtime_entry, relocInfo::runtime_call_type); >>>>>> if (!VerifyThread) >>>>> >>>>> It's not absolutely required here because these are generated in >>>>> place but fixing it in MacroAsssembler would be nice and consistent. >>>>> >>>>> tom >>>>> >>>>>> >>>>>> May be we should only fix MacroAssembler::call( address d, >>>>>> relocInfo::relocType rt ). >>>>>> >>>>>> Vladimir >>>>>> >>>>>> Igor Veresov wrote: >>>>>>> On 1/11/11 3:18 PM, Tom Rodriguez wrote: >>>>>>>> >>>>>>>> On Jan 11, 2011, at 2:47 PM, Igor Veresov wrote: >>>>>>>> >>>>>>>>> On 1/11/11 1:01 PM, Tom Rodriguez wrote: >>>>>>>>>> >>>>>>>>>> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote: >>>>>>>>>> >>>>>>>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/ >>>>>>>>>> >>>>>>>>>> I like that you're trying to use the short one when you can but >>>>>>>>>> I don't think that test is sufficient. The code is generated >>>>>>>>>> into a temporary blob and then moved into a RuntimeStub. You >>>>>>>>>> could conceivably just reach in the temporary code blob but not >>>>>>>>>> reach in the final one. I think you need to check that the call >>>>>>>>>> is reachable from the highest and lowest point in the code >>>>>>>>>> cache instead. >>>>>>>>>> >>>>>>>>> >>>>>>>>> Yes, you're right of course. >>>>>>>>> >>>>>>>>> How about this one: >>>>>>>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/ >>>>>>>> >>>>>>>> That looks good. If you're feeling up to it, sparc.ad might >>>>>>>> benefit slightly from this since apparently it's almost always >>>>>>>> reachable so we could use the shorter sequence instead of always >>>>>>>> forcing the far call sequence. >>>>>>>> >>>>>>> Sure, here is it: >>>>>>> http://cr.openjdk.java.net/~iveresov/7011627/webrev.02 >>>>>>> I changed the name of the parameter of emit_call_reloc() to >>>>>>> reflect it's current purpose. And I also added ifdefs in C1 version. >>>>>>> igor >>>>>>>> tom >>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> igor >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>> >>>> >>> >> > From igor.veresov at oracle.com Thu Jan 13 01:00:23 2011 From: igor.veresov at oracle.com (igor.veresov at oracle.com) Date: Thu, 13 Jan 2011 09:00:23 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7011627: C1: call_RT must support targets that don't fit in wdisp30 Message-ID: <20110113090027.195E547BE2@hg.openjdk.java.net> Changeset: c17b998c5926 Author: iveresov Date: 2011-01-12 18:33 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/c17b998c5926 7011627: C1: call_RT must support targets that don't fit in wdisp30 Summary: Make both compilers emit near and far calls when necessary. Reviewed-by: never, kvn, phh ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/sparc.ad From christian.thalinger at oracle.com Thu Jan 13 04:17:23 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 13 Jan 2011 13:17:23 +0100 Subject: Request for reviews (S): 7011839: JSR 292 turn on escape analysis when using invokedynamic In-Reply-To: References: <7D0D4C7C-3096-4EC0-B278-D47F904F7ACA@oracle.com> Message-ID: <5E5ACD32-64A6-494F-AB8F-7C981397A558@oracle.com> On Jan 13, 2011, at 12:00 AM, John Rose wrote: > On Jan 12, 2011, at 5:46 AM, Christian Thalinger wrote: > >> http://cr.openjdk.java.net/~twisti/7011839/webrev.01/ > > The arg_size computation is very fragile. To start with, the arg_size value should be computed in one place. > > As the code is written, arg_base points at the implicit argument to indy, which (I think) is not really on the stack. > > I suggest this code: > > 234 // compute size of arguments > 235 int arg_size = target->arg_size(); > if (code == Bytecodes::_invokedynamic) { > assert(!target->is_static(), "receiver explicit in method"); > arg_size--; // implicit, not really on stack > } > 236 if (!target->is_loaded() && code == Bytecodes::_invokestatic) { > assert(!target->is_static(), "receiver explicit in unloaded method"); > 237 arg_size--; > 238 } I like that better. I'd like to keep the invokedynamic check as I couldn't reproduce any escaping case with an invokedynamic call site (using Indify). I think the reason is because they all bail before out as native call sites. > > The second assertion is for good measure. The bare "arg_size--" makes me nervous. We can't use that assert since ciMethod::is_static uses check_is_loaded which asserts on is_loaded. http://cr.openjdk.java.net/~twisti/7011839/webrev.02/ -- Christian From Christian.Thalinger at Sun.COM Thu Jan 13 10:07:34 2011 From: Christian.Thalinger at Sun.COM (Christian.Thalinger at Sun.COM) Date: Thu, 13 Jan 2011 18:07:34 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 15 new changesets Message-ID: <20110113180802.1D73047BFF@hg.openjdk.java.net> Changeset: 36c186bcc085 Author: coleenp Date: 2011-01-03 14:09 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/36c186bcc085 6302804: Hotspot VM dies ungraceful death when C heap is exhausted in various places. Summary: enhance the error reporting mechanism to help user to fix the problem rather than making it look like a VM error. Reviewed-by: kvn, kamg ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/vmError.cpp ! src/share/vm/utilities/vmError.hpp Changeset: 0eb90baf1b69 Author: coleenp Date: 2011-01-05 21:23 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/0eb90baf1b69 6583275: Hotspot crash in vm_perform_shutdown_actions due to uninitialized TLS during out of memory handling Summary: Call get_thread_slow() in vm_perform_shutdown actions and add null check. Reviewed-by: kvn, dholmes, jcoomes ! src/share/vm/runtime/java.cpp Changeset: 039eb4201e06 Author: alanb Date: 2011-01-07 03:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/039eb4201e06 7009975: Large file support broken in hs20-b04 Reviewed-by: phh, acorn, kamg ! src/os/solaris/vm/os_solaris.cpp Changeset: 2f9d59b0fa5c Author: bobv Date: 2011-01-07 12:44 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2f9d59b0fa5c 7009268: guarantee(middle - slop > start) failed: need enough space to divide up Summary: Codebuffer can overflow on test with large number of calls Reviewed-by: dholmes, collins ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_Compilation.hpp Changeset: 4537d449ba57 Author: bobv Date: 2011-01-07 15:57 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/4537d449ba57 Merge Changeset: b1a2afa37ec4 Author: phh Date: 2011-01-07 10:42 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/b1a2afa37ec4 7003271: Hotspot should track cumulative Java heap bytes allocated on a per-thread basis Summary: Track allocated bytes in Thread's, update on TLAB retirement and direct allocation in Eden and tenured, add JNI methods for ThreadMXBean. Reviewed-by: coleenp, kvn, dholmes, ysr ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.hpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/thread_solaris.inline.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/memory/threadLocalAllocBuffer.cpp ! src/share/vm/memory/threadLocalAllocBuffer.hpp ! src/share/vm/opto/macro.cpp ! src/share/vm/prims/jvmti.xml ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/services/jmm.h ! src/share/vm/services/management.cpp ! src/share/vm/services/threadService.cpp ! src/share/vm/services/threadService.hpp Changeset: 55d7d18ccff9 Author: dcubed Date: 2011-01-07 13:59 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/55d7d18ccff9 Merge Changeset: 84f36150fcc3 Author: dcubed Date: 2011-01-07 15:54 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/84f36150fcc3 Merge ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/os/solaris/vm/os_solaris.cpp Changeset: 0a8e0d4345b3 Author: trims Date: 2011-01-03 15:30 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/0a8e0d4345b3 7010068: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - first pass Summary: Update the copyright to be 2010 on all changed files in OpenJDK Reviewed-by: jcoomes ! agent/src/os/linux/libproc_impl.c ! agent/src/os/linux/ps_core.c ! agent/src/os/linux/ps_proc.c ! agent/src/os/linux/symtab.c ! agent/src/os/linux/symtab.h ! agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeInvoke.java ! agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeWithCPIndex.java ! agent/src/share/classes/sun/jvm/hotspot/interpreter/Bytecodes.java ! agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java ! agent/src/share/classes/sun/jvm/hotspot/memory/SystemDictionary.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCache.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheEntry.java ! agent/src/share/classes/sun/jvm/hotspot/oops/GenerateOopMap.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ByteCodeRewriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/sa.js ! make/hotspot_distro ! make/hotspot_version ! make/jprt.gmk ! make/jprt.properties ! make/linux/makefiles/defs.make ! make/linux/makefiles/jvmti.make ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/linux/makefiles/product.make ! make/linux/makefiles/saproc.make ! make/linux/makefiles/shark.make ! make/linux/makefiles/sparcWorks.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/fastdebug.make ! make/solaris/makefiles/jvmti.make ! make/solaris/makefiles/optimized.make ! make/solaris/makefiles/product.make ! make/solaris/makefiles/saproc.make ! make/windows/build.bat ! make/windows/get_msc_ver.sh ! make/windows/makefiles/defs.make ! make/windows/makefiles/sanity.make ! src/os/solaris/dtrace/hotspot.d ! src/os_cpu/linux_x86/vm/linux_x86_32.s ! src/os_cpu/solaris_x86/vm/solaris_x86_32.il ! src/os_cpu/solaris_x86/vm/solaris_x86_32.s ! src/os_cpu/solaris_x86/vm/solaris_x86_64.il ! test/Makefile ! test/compiler/6431242/Test.java ! test/compiler/6857159/Test6857159.java ! test/compiler/6877254/Test.java ! test/compiler/6895383/Test.java ! test/compiler/6896727/Test.java Changeset: 09d92cbb793b Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/09d92cbb793b Added tag jdk7-b124 for changeset 0a8e0d4345b3 ! .hgtags Changeset: f6a707dbaddb Author: trims Date: 2011-01-07 19:09 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f6a707dbaddb Added tag hs20-b05 for changeset 0a8e0d4345b3 ! .hgtags Changeset: 9fc3ffb1e0b1 Author: trims Date: 2011-01-07 22:42 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/9fc3ffb1e0b1 7011125: Bump the HS20 build number to 06 Summary: Update the HS20 build number to 06 Reviewed-by: jcoomes ! make/hotspot_version Changeset: e24ab3fa6aaf Author: trims Date: 2011-01-07 22:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e24ab3fa6aaf Merge ! make/jprt.properties Changeset: bb8e3b66bde6 Author: twisti Date: 2011-01-13 07:20 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/bb8e3b66bde6 Merge ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/os_cpu/linux_x86/vm/linux_x86_32.s ! src/os_cpu/solaris_x86/vm/solaris_x86_32.il Changeset: 5ae3e3b03224 Author: twisti Date: 2011-01-13 07:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/5ae3e3b03224 Merge ! src/cpu/sparc/vm/assembler_sparc.hpp From Christian.Thalinger at Sun.COM Fri Jan 14 13:12:09 2011 From: Christian.Thalinger at Sun.COM (Christian.Thalinger at Sun.COM) Date: Fri, 14 Jan 2011 21:12:09 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 20 new changesets Message-ID: <20110114211245.518EB47C68@hg.openjdk.java.net> Changeset: df307487d610 Author: dholmes Date: 2011-01-09 17:16 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/df307487d610 7010665: Misplaced membar in C1 implementation of Unsafe.get/putXXX Summary: Modify membars to match regular volatile variable handling Reviewed-by: iveresov, kvn, never ! src/share/vm/c1/c1_LIRGenerator.cpp Changeset: e31d8c656c5b Author: dcubed Date: 2011-01-10 09:23 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e31d8c656c5b Merge ! src/share/vm/c1/c1_LIRGenerator.cpp Changeset: 7246a374a9f2 Author: kamg Date: 2011-01-10 17:14 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7246a374a9f2 6458402: 3 jvmti tests fail with CMS and +ExplicitGCInvokesConcurrent Summary: Make JvmtiGCMark safe to run non-safepoint and instrument CMS Reviewed-by: ysr, dcubed ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.cpp ! src/share/vm/gc_implementation/parallelScavenge/vmPSOperations.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.hpp ! src/share/vm/prims/jvmti.xml ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiImpl.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/jvmtiTagMap.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/jniHandles.cpp Changeset: db2b0f8c1cef Author: kamg Date: 2011-01-11 10:06 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/db2b0f8c1cef 6814943: getcpool001 catches more than one JvmtiThreadState problem Summary: Mark field volatile, use membars, and change access order to close race Reviewed-by: dcubed, dholmes ! src/share/vm/prims/jvmtiEventController.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: 5577848f5923 Author: phh Date: 2011-01-11 17:33 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/5577848f5923 7011463: Sparc MacroAssembler::incr_allocated_bytes() needs a RegisterOrConstant argument Summary: Replaced incr_allocated_bytes() formals var_size_in_bytes and con_size_in_bytes with a single RegisterOrConstant formal. Reviewed-by: twisti, jcoomes ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp Changeset: 0ca32cc95d7b Author: phh Date: 2011-01-11 17:50 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/0ca32cc95d7b Merge Changeset: 8f8dfba37802 Author: kevinw Date: 2011-01-12 15:44 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/8f8dfba37802 6994753: Implement optional hook to a Java method at VM startup. Reviewed-by: mchung, acorn ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/prims/jvm.h ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/java.hpp ! src/share/vm/runtime/thread.cpp Changeset: 34d64ad817f4 Author: coleenp Date: 2011-01-12 13:59 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/34d64ad817f4 7009828: Fix for 6938627 breaks visualvm monitoring when -Djava.io.tmpdir is defined Summary: Change get_temp_directory() back to /tmp and %TEMP% like it always was and where the tools expect it to be. Reviewed-by: phh, dcubed, kamg, alanb ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/utilities/vmError.cpp Changeset: 856ecff79cf7 Author: dcubed Date: 2011-01-13 08:32 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/856ecff79cf7 Merge ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/templateTable_sparc.cpp Changeset: 4947ee68d19c Author: ysr Date: 2011-01-06 23:50 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/4947ee68d19c 7008136: CMS: assert((HeapWord*)nextChunk <= _limit) failed: sweep invariant Summary: The recorded _sweep_limit may not necessarily remain a block boundary as the old generation expands during a concurrent cycle. Terminal actions inside the sweep closure need to be aware of this as they cross over the limit. Reviewed-by: johnc, minqi ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Changeset: 2250ee17e258 Author: tonyp Date: 2011-01-12 13:06 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2250ee17e258 7007068: G1: refine the BOT during evac failure handling Summary: During evacuation failure handling we refine the BOT to reflect the location of all the objects in the regions we scan. The changeset includes some minor cleanup: a) non-product print_on() method on the G1 BOT class, b) added more complete BOT verification during heap / region verification, c) slight modification to the BOT set up for humongous regions to be more consistent with the BOT set up during evac failure handling, and d) removed a couple of unused methods. Reviewed-by: johnc, ysr ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp Changeset: b158bed62ef5 Author: tonyp Date: 2011-01-12 16:34 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/b158bed62ef5 6994297: G1: do first-level slow-path allocations with a CAS Summary: First attempt to allocate out the current alloc region using a CAS instead of taking the Heap_lock (first level of G1's slow allocation path). Only if that fails and it's necessary to replace the current alloc region take the Heap_lock (that's the second level of G1's slow allocation path). Reviewed-by: johnc, brutisso, ysr ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp Changeset: 2e0b0c4671e4 Author: brutisso Date: 2011-01-13 04:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2e0b0c4671e4 6941122: G1: UseLargePages does not work with G1 garbage collector Summary: Pass the value of UseLargePages instead of false as the "large" parameter when reserving the G1 heap. Reviewed-by: tonyp, johnc, phh ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: c91cc404ca46 Author: ysr Date: 2011-01-13 11:33 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/c91cc404ca46 7011940: iCMS: SIGSEGV in SweepClosure::do_already_free_chunk(FreeChunk*)+0x360 Summary: Revert a (relaxed version of the) bounds-check that was incorrectly removed in the fix for 7008136. Reviewed-by: jmasa, johnc ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: ffd725ff6943 Author: johnc Date: 2011-01-13 17:19 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/ffd725ff6943 Merge ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 4c851c931d00 Author: cl Date: 2011-01-13 16:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/4c851c931d00 Added tag jdk7-b125 for changeset e24ab3fa6aaf ! .hgtags Changeset: e4f8c88cf6f0 Author: trims Date: 2011-01-13 22:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e4f8c88cf6f0 Added tag hs20-b06 for changeset e24ab3fa6aaf ! .hgtags Changeset: 76d6282dcfe5 Author: trims Date: 2011-01-13 22:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/76d6282dcfe5 7012348: Bump the HS20 build number to 07 Summary: Update the HS20 build number to 07 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 0915f9be781c Author: trims Date: 2011-01-13 22:54 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/0915f9be781c Merge Changeset: 75efcee5ac47 Author: minqi Date: 2010-10-07 13:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/75efcee5ac47 6966589: hs16-b08 causes java.lang.StackOverflowError Reviewed-by: mchung, dholmes, chrisphi ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp From vladimir.kozlov at oracle.com Tue Jan 18 15:19:07 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 18 Jan 2011 15:19:07 -0800 Subject: Request for reviews (S): 7012965: Fix failed on sparc for 7009756: volatile variables could be broken throw reflection API Message-ID: <4D361FEB.8010001@oracle.com> http://cr.openjdk.java.net/~kvn/7012965/webrev Fixed 7012965: Fix failed on sparc for 7009756: volatile variables could be broken throw reflection API In 32 bit VM C++ generated code does not guaranty atomicity for volatile long moves. Use LDX/STX on v9 and LDD/STD on v8 sparc for volatile long moves. From tom.rodriguez at oracle.com Tue Jan 18 15:38:07 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 18 Jan 2011 15:38:07 -0800 Subject: Request for reviews (S): 7012965: Fix failed on sparc for 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D361FEB.8010001@oracle.com> References: <4D361FEB.8010001@oracle.com> Message-ID: <908F80E8-5A66-436B-A62B-0BCFDD5354ED@oracle.com> Thanks Dan and Vladimir. tom On Jan 18, 2011, at 3:19 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7012965/webrev > > Fixed 7012965: Fix failed on sparc for 7009756: volatile variables could be broken throw reflection API > > In 32 bit VM C++ generated code does not guaranty atomicity for volatile long moves. > > Use LDX/STX on v9 and LDD/STD on v8 sparc for volatile long moves. From tom.rodriguez at oracle.com Tue Jan 18 15:40:47 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 18 Jan 2011 15:40:47 -0800 Subject: Request for reviews (S): 7012965: Fix failed on sparc for 7009756: volatile variables could be broken throw reflection API In-Reply-To: <908F80E8-5A66-436B-A62B-0BCFDD5354ED@oracle.com> References: <4D361FEB.8010001@oracle.com> <908F80E8-5A66-436B-A62B-0BCFDD5354ED@oracle.com> Message-ID: On Jan 18, 2011, at 3:38 PM, Tom Rodriguez wrote: > Thanks Dan and Vladimir. Oops, wrong thread. > > tom > > On Jan 18, 2011, at 3:19 PM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/7012965/webrev >> >> Fixed 7012965: Fix failed on sparc for 7009756: volatile variables could be broken throw reflection API >> >> In 32 bit VM C++ generated code does not guaranty atomicity for volatile long moves. >> >> Use LDX/STX on v9 and LDD/STD on v8 sparc for volatile long moves. What does the .volatile directive do? Is that supported in older sparc assemblers? Otherwise it looks ok. tom From igor.veresov at oracle.com Tue Jan 18 15:45:46 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 18 Jan 2011 15:45:46 -0800 Subject: Request for review(XS): 7012766: assert(false) failed: DEBUG MESSAGE in MacroAssembler::debug32 Message-ID: <4D36262A.8000902@oracle.com> Interpreter expects to see methodOop in rbx on method entry, which needs to be restored after call to profile_method. Webrev: http://cr.openjdk.java.net/~iveresov/7012766/webrev.00 Tested: failing nightly Thanks, igor From vladimir.kozlov at oracle.com Tue Jan 18 15:48:25 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 18 Jan 2011 15:48:25 -0800 Subject: Request for reviews (S): 7012965: Fix failed on sparc for 7009756: volatile variables could be broken throw reflection API In-Reply-To: References: <4D361FEB.8010001@oracle.com> <908F80E8-5A66-436B-A62B-0BCFDD5354ED@oracle.com> Message-ID: <4D3626C9.7060905@oracle.com> Tom Rodriguez wrote: > > What does the .volatile directive do? Is that supported in older sparc assemblers? Otherwise it looks ok. > > tom ".volatile - Defines the beginning of a block of instruction. The instructions in the section may not be changed. The block of instruction should end at a .nonvolatile pseudo-op and should not contain any Control Transfer Instructions (CTI) or labels." ".nonvolatile - Defines the end of a block of instruction. The instructions in the block may not be permuted." All other methods in this file have these directives for long time so I copied it to be consistent. This code will be backported only into JDK6 where we had these directives already. From vladimir.kozlov at oracle.com Tue Jan 18 15:54:52 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 18 Jan 2011 15:54:52 -0800 Subject: Request for review(XS): 7012766: assert(false) failed: DEBUG MESSAGE in MacroAssembler::debug32 In-Reply-To: <4D36262A.8000902@oracle.com> References: <4D36262A.8000902@oracle.com> Message-ID: <4D36284C.5080106@oracle.com> Looks good. Vladimir Igor Veresov wrote: > Interpreter expects to see methodOop in rbx on method entry, which needs > to be restored after call to profile_method. > > Webrev: http://cr.openjdk.java.net/~iveresov/7012766/webrev.00 > > Tested: failing nightly > > Thanks, > igor From tom.rodriguez at oracle.com Tue Jan 18 15:59:12 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 18 Jan 2011 15:59:12 -0800 Subject: Request for reviews (S): 7012965: Fix failed on sparc for 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D3626C9.7060905@oracle.com> References: <4D361FEB.8010001@oracle.com> <908F80E8-5A66-436B-A62B-0BCFDD5354ED@oracle.com> <4D3626C9.7060905@oracle.com> Message-ID: <85630123-73CD-439B-8937-F21E4D9FBF88@oracle.com> On Jan 18, 2011, at 3:48 PM, Vladimir Kozlov wrote: > Tom Rodriguez wrote: >> What does the .volatile directive do? Is that supported in older sparc assemblers? Otherwise it looks ok. >> tom > > ".volatile - Defines the beginning of a block of instruction. The instructions in the section may not be changed. The block of instruction should end at a .nonvolatile pseudo-op and should not contain any Control Transfer Instructions (CTI) or labels." > ".nonvolatile - Defines the end of a block of instruction. The instructions in the block may not be permuted." > > All other methods in this file have these directives for long time so I copied it to be consistent. > This code will be backported only into JDK6 where we had these directives already. I hadn't noticed that before. Looks fine then. tom From vladimir.kozlov at oracle.com Tue Jan 18 16:01:29 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 18 Jan 2011 16:01:29 -0800 Subject: Request for reviews (S): 7012965: Fix failed on sparc for 7009756: volatile variables could be broken throw reflection API In-Reply-To: <85630123-73CD-439B-8937-F21E4D9FBF88@oracle.com> References: <4D361FEB.8010001@oracle.com> <908F80E8-5A66-436B-A62B-0BCFDD5354ED@oracle.com> <4D3626C9.7060905@oracle.com> <85630123-73CD-439B-8937-F21E4D9FBF88@oracle.com> Message-ID: <4D3629D9.1000002@oracle.com> Thank you, Tom Vladimir Tom Rodriguez wrote: > On Jan 18, 2011, at 3:48 PM, Vladimir Kozlov wrote: > >> Tom Rodriguez wrote: >>> What does the .volatile directive do? Is that supported in older sparc assemblers? Otherwise it looks ok. >>> tom >> ".volatile - Defines the beginning of a block of instruction. The instructions in the section may not be changed. The block of instruction should end at a .nonvolatile pseudo-op and should not contain any Control Transfer Instructions (CTI) or labels." >> ".nonvolatile - Defines the end of a block of instruction. The instructions in the block may not be permuted." >> >> All other methods in this file have these directives for long time so I copied it to be consistent. >> This code will be backported only into JDK6 where we had these directives already. > > I hadn't noticed that before. Looks fine then. > > tom > From tom.rodriguez at oracle.com Tue Jan 18 16:06:05 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 18 Jan 2011 16:06:05 -0800 Subject: Request for review(XS): 7012766: assert(false) failed: DEBUG MESSAGE in MacroAssembler::debug32 In-Reply-To: <4D36262A.8000902@oracle.com> References: <4D36262A.8000902@oracle.com> Message-ID: There are four calls to profile_method in x86 code but I only see two fixed. Don't the other need fixed? Actually set_method_data_pointer_for_bc seems strangely coded to me. void InterpreterMacroAssembler::set_method_data_pointer_for_bcp() { assert(ProfileInterpreter, "must be profiling interpreter"); Label set_mdp; push(rax); push(rbx); get_method(rbx); Why couldn't it either assume it was valid or correctly set it up? tom On Jan 18, 2011, at 3:45 PM, Igor Veresov wrote: > Interpreter expects to see methodOop in rbx on method entry, which needs to be restored after call to profile_method. > > Webrev: http://cr.openjdk.java.net/~iveresov/7012766/webrev.00 > > Tested: failing nightly > > Thanks, > igor From igor.veresov at oracle.com Tue Jan 18 17:23:50 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 18 Jan 2011 17:23:50 -0800 Subject: Request for review(XS): 7012766: assert(false) failed: DEBUG MESSAGE in MacroAssembler::debug32 In-Reply-To: References: <4D36262A.8000902@oracle.com> Message-ID: <4D363D26.8090909@oracle.com> On 1/18/11 4:06 PM, Tom Rodriguez wrote: > There are four calls to profile_method in x86 code but I only see two fixed. Don't the other need fixed? No, in other cases it's not required. > Actually set_method_data_pointer_for_bc seems strangely coded to me. > > void InterpreterMacroAssembler::set_method_data_pointer_for_bcp() { > assert(ProfileInterpreter, "must be profiling interpreter"); > Label set_mdp; > push(rax); > push(rbx); > > get_method(rbx); > > Why couldn't it either assume it was valid or correctly set it up? We can do it the following way: http://cr.openjdk.java.net/~iveresov/7012766/webrev.01/ It still have redundant push/pop of rbx at two other call sites, we can get rid of them but I feel uneasy about killing registers in template generating methods. Or we can have an optional "bool save_method_in" parameter? igor > > tom > > On Jan 18, 2011, at 3:45 PM, Igor Veresov wrote: > >> Interpreter expects to see methodOop in rbx on method entry, which needs to be restored after call to profile_method. >> >> Webrev: http://cr.openjdk.java.net/~iveresov/7012766/webrev.00 >> >> Tested: failing nightly >> >> Thanks, >> igor > From tom.rodriguez at oracle.com Tue Jan 18 17:40:59 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 18 Jan 2011 17:40:59 -0800 Subject: Request for review(XS): 7012766: assert(false) failed: DEBUG MESSAGE in MacroAssembler::debug32 In-Reply-To: <4D363D26.8090909@oracle.com> References: <4D36262A.8000902@oracle.com> <4D363D26.8090909@oracle.com> Message-ID: <9D9C1B3C-948F-42CF-A175-7A351313B4CD@oracle.com> On Jan 18, 2011, at 5:23 PM, Igor Veresov wrote: > On 1/18/11 4:06 PM, Tom Rodriguez wrote: >> There are four calls to profile_method in x86 code but I only see two fixed. Don't the other need fixed? > No, in other cases it's not required. Oh I see. The old code reloads the methodOop but doesn't keep it around in a register which seems a little odd. I guess the call site in generate_normal_entry are the odd ones that expect the value to be maintained. Looks ok then. > >> Actually set_method_data_pointer_for_bc seems strangely coded to me. >> >> void InterpreterMacroAssembler::set_method_data_pointer_for_bcp() { >> assert(ProfileInterpreter, "must be profiling interpreter"); >> Label set_mdp; >> push(rax); >> push(rbx); >> >> get_method(rbx); >> >> Why couldn't it either assume it was valid or correctly set it up? > > We can do it the following way: > > http://cr.openjdk.java.net/~iveresov/7012766/webrev.01/ > > It still have redundant push/pop of rbx at two other call sites, we can get rid of them but I feel uneasy about killing registers in template generating methods. Or we can have an optional "bool save_method_in" parameter? I don't really like that much better. The original was more straightforward particularly given the difference in the callers. tom > > igor > >> >> tom >> >> On Jan 18, 2011, at 3:45 PM, Igor Veresov wrote: >> >>> Interpreter expects to see methodOop in rbx on method entry, which needs to be restored after call to profile_method. >>> >>> Webrev: http://cr.openjdk.java.net/~iveresov/7012766/webrev.00 >>> >>> Tested: failing nightly >>> >>> Thanks, >>> igor >> > From igor.veresov at oracle.com Tue Jan 18 17:45:39 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 18 Jan 2011 17:45:39 -0800 Subject: Request for review(XS): 7012766: assert(false) failed: DEBUG MESSAGE in MacroAssembler::debug32 In-Reply-To: <9D9C1B3C-948F-42CF-A175-7A351313B4CD@oracle.com> References: <4D36262A.8000902@oracle.com> <4D363D26.8090909@oracle.com> <9D9C1B3C-948F-42CF-A175-7A351313B4CD@oracle.com> Message-ID: <4D364243.7050601@oracle.com> On 1/18/11 5:40 PM, Tom Rodriguez wrote: > > On Jan 18, 2011, at 5:23 PM, Igor Veresov wrote: > >> On 1/18/11 4:06 PM, Tom Rodriguez wrote: >>> There are four calls to profile_method in x86 code but I only see two fixed. Don't the other need fixed? >> No, in other cases it's not required. > > Oh I see. The old code reloads the methodOop but doesn't keep it around in a register which seems a little odd. I guess the call site in generate_normal_entry are the odd ones that expect the value to be maintained. Looks ok then. > >> >>> Actually set_method_data_pointer_for_bc seems strangely coded to me. >>> >>> void InterpreterMacroAssembler::set_method_data_pointer_for_bcp() { >>> assert(ProfileInterpreter, "must be profiling interpreter"); >>> Label set_mdp; >>> push(rax); >>> push(rbx); >>> >>> get_method(rbx); >>> >>> Why couldn't it either assume it was valid or correctly set it up? >> >> We can do it the following way: >> >> http://cr.openjdk.java.net/~iveresov/7012766/webrev.01/ >> >> It still have redundant push/pop of rbx at two other call sites, we can get rid of them but I feel uneasy about killing registers in template generating methods. Or we can have an optional "bool save_method_in" parameter? > > I don't really like that much better. The original was more straightforward particularly given the difference in the callers. Ok, I'll keep the original then... Thanks, Tom! igor > > tom > >> >> igor >> >>> >>> tom >>> >>> On Jan 18, 2011, at 3:45 PM, Igor Veresov wrote: >>> >>>> Interpreter expects to see methodOop in rbx on method entry, which needs to be restored after call to profile_method. >>>> >>>> Webrev: http://cr.openjdk.java.net/~iveresov/7012766/webrev.00 >>>> >>>> Tested: failing nightly >>>> >>>> Thanks, >>>> igor >>> >> > From igor.veresov at oracle.com Tue Jan 18 21:04:10 2011 From: igor.veresov at oracle.com (igor.veresov at oracle.com) Date: Wed, 19 Jan 2011 05:04:10 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 2 new changesets Message-ID: <20110119050414.5B63847F0A@hg.openjdk.java.net> Changeset: 85c73c0edb06 Author: kvn Date: 2011-01-18 17:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/85c73c0edb06 7012965: Fix failed on sparc for 7009756: volatile variables could be broken throw reflection API Summary: Use LDX/STX on v9 and LDD/STD on v8 sparc for volatile long moves. Reviewed-by: never ! src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp ! src/os_cpu/solaris_sparc/vm/orderAccess_solaris_sparc.inline.hpp ! src/os_cpu/solaris_sparc/vm/solaris_sparc.il Changeset: b599a4c6c2df Author: iveresov Date: 2011-01-18 18:00 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/b599a4c6c2df 7012766: assert(false) failed: DEBUG MESSAGE in MacroAssembler::debug32 Summary: Interpreter expects to see methodOop in rbx on method entry, which needs to be restored after call to profile_method. Reviewed-by: kvn, never ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp From christian.thalinger at oracle.com Wed Jan 19 02:26:08 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 19 Jan 2011 11:26:08 +0100 Subject: Request for reviews (S): 7011839: JSR 292 turn on escape analysis when using invokedynamic In-Reply-To: <5E5ACD32-64A6-494F-AB8F-7C981397A558@oracle.com> References: <7D0D4C7C-3096-4EC0-B278-D47F904F7ACA@oracle.com> <5E5ACD32-64A6-494F-AB8F-7C981397A558@oracle.com> Message-ID: Vladimir, could you please review this change? -- Christian On Jan 13, 2011, at 1:17 PM, Christian Thalinger wrote: > On Jan 13, 2011, at 12:00 AM, John Rose wrote: >> On Jan 12, 2011, at 5:46 AM, Christian Thalinger wrote: >> >>> http://cr.openjdk.java.net/~twisti/7011839/webrev.01/ >> >> The arg_size computation is very fragile. To start with, the arg_size value should be computed in one place. >> >> As the code is written, arg_base points at the implicit argument to indy, which (I think) is not really on the stack. >> >> I suggest this code: >> >> 234 // compute size of arguments >> 235 int arg_size = target->arg_size(); >> if (code == Bytecodes::_invokedynamic) { >> assert(!target->is_static(), "receiver explicit in method"); >> arg_size--; // implicit, not really on stack >> } >> 236 if (!target->is_loaded() && code == Bytecodes::_invokestatic) { >> assert(!target->is_static(), "receiver explicit in unloaded method"); >> 237 arg_size--; >> 238 } > > I like that better. I'd like to keep the invokedynamic check as I couldn't reproduce any escaping case with an invokedynamic call site (using Indify). I think the reason is because they all bail before out as native call sites. > >> >> The second assertion is for good measure. The bare "arg_size--" makes me nervous. > > We can't use that assert since ciMethod::is_static uses check_is_loaded which asserts on is_loaded. > > http://cr.openjdk.java.net/~twisti/7011839/webrev.02/ From vladimir.kozlov at oracle.com Wed Jan 19 07:19:43 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 19 Jan 2011 07:19:43 -0800 Subject: Request for reviews (S): 7011839: JSR 292 turn on escape analysis when using invokedynamic In-Reply-To: References: <7D0D4C7C-3096-4EC0-B278-D47F904F7ACA@oracle.com> <5E5ACD32-64A6-494F-AB8F-7C981397A558@oracle.com> Message-ID: <4D37010F.8080503@oracle.com> Looks good. Vladimir On 1/19/11 2:26 AM, Christian Thalinger wrote: > Vladimir, could you please review this change? -- Christian > > On Jan 13, 2011, at 1:17 PM, Christian Thalinger wrote: >> On Jan 13, 2011, at 12:00 AM, John Rose wrote: >>> On Jan 12, 2011, at 5:46 AM, Christian Thalinger wrote: >>> >>>> http://cr.openjdk.java.net/~twisti/7011839/webrev.01/ >>> >>> The arg_size computation is very fragile. To start with, the arg_size value should be computed in one place. >>> >>> As the code is written, arg_base points at the implicit argument to indy, which (I think) is not really on the stack. >>> >>> I suggest this code: >>> >>> 234 // compute size of arguments >>> 235 int arg_size = target->arg_size(); >>> if (code == Bytecodes::_invokedynamic) { >>> assert(!target->is_static(), "receiver explicit in method"); >>> arg_size--; // implicit, not really on stack >>> } >>> 236 if (!target->is_loaded()&& code == Bytecodes::_invokestatic) { >>> assert(!target->is_static(), "receiver explicit in unloaded method"); >>> 237 arg_size--; >>> 238 } >> >> I like that better. I'd like to keep the invokedynamic check as I couldn't reproduce any escaping case with an invokedynamic call site (using Indify). I think the reason is because they all bail before out as native call sites. >> >>> >>> The second assertion is for good measure. The bare "arg_size--" makes me nervous. >> >> We can't use that assert since ciMethod::is_static uses check_is_loaded which asserts on is_loaded. >> >> http://cr.openjdk.java.net/~twisti/7011839/webrev.02/ > > From christian.thalinger at oracle.com Wed Jan 19 10:10:45 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 19 Jan 2011 19:10:45 +0100 Subject: Request for reviews (S): 7011839: JSR 292 turn on escape analysis when using invokedynamic In-Reply-To: <4D37010F.8080503@oracle.com> References: <7D0D4C7C-3096-4EC0-B278-D47F904F7ACA@oracle.com> <5E5ACD32-64A6-494F-AB8F-7C981397A558@oracle.com> <4D37010F.8080503@oracle.com> Message-ID: <78982A3A-0E13-4324-8702-F6F0964BAD78@oracle.com> On Jan 19, 2011, at 4:19 PM, Vladimir Kozlov wrote: > Looks good. Thank you, Vladimir. -- Christian > > Vladimir > > On 1/19/11 2:26 AM, Christian Thalinger wrote: >> Vladimir, could you please review this change? -- Christian >> >> On Jan 13, 2011, at 1:17 PM, Christian Thalinger wrote: >>> On Jan 13, 2011, at 12:00 AM, John Rose wrote: >>>> On Jan 12, 2011, at 5:46 AM, Christian Thalinger wrote: >>>> >>>>> http://cr.openjdk.java.net/~twisti/7011839/webrev.01/ >>>> >>>> The arg_size computation is very fragile. To start with, the arg_size value should be computed in one place. >>>> >>>> As the code is written, arg_base points at the implicit argument to indy, which (I think) is not really on the stack. >>>> >>>> I suggest this code: >>>> >>>> 234 // compute size of arguments >>>> 235 int arg_size = target->arg_size(); >>>> if (code == Bytecodes::_invokedynamic) { >>>> assert(!target->is_static(), "receiver explicit in method"); >>>> arg_size--; // implicit, not really on stack >>>> } >>>> 236 if (!target->is_loaded()&& code == Bytecodes::_invokestatic) { >>>> assert(!target->is_static(), "receiver explicit in unloaded method"); >>>> 237 arg_size--; >>>> 238 } >>> >>> I like that better. I'd like to keep the invokedynamic check as I couldn't reproduce any escaping case with an invokedynamic call site (using Indify). I think the reason is because they all bail before out as native call sites. >>> >>>> >>>> The second assertion is for good measure. The bare "arg_size--" makes me nervous. >>> >>> We can't use that assert since ciMethod::is_static uses check_is_loaded which asserts on is_loaded. >>> >>> http://cr.openjdk.java.net/~twisti/7011839/webrev.02/ From john.r.rose at oracle.com Thu Jan 20 11:12:07 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 20 Jan 2011 11:12:07 -0800 Subject: review request (L): 7013417: JSR 292 needs to support variadic method handle calls Message-ID: <6167D4FE-6EBC-4B64-9D60-DE673AAB2E02@oracle.com> This is a chunk of EG cleanup work, consisting of JDK code changes only. http://cr.openjdk.java.net/~jrose/7013417/webrev.00/ We will want to put in a fast-path for this in the JVM, later. More changes in the pipeline: - JDK only: 7012650 implement JSR 292 EG adjustments through January 2010 - JVM & JDK: 7012648 move JSR 292 to package java.lang.invoke and adjust names The rename change will require a phased introduction of JVM changes (to adjust hard-coded dependencies), followed by JDK changes. -- John From christian.thalinger at oracle.com Thu Jan 20 11:56:59 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 20 Jan 2011 20:56:59 +0100 Subject: review request (L): 7013417: JSR 292 needs to support variadic method handle calls In-Reply-To: <6167D4FE-6EBC-4B64-9D60-DE673AAB2E02@oracle.com> References: <6167D4FE-6EBC-4B64-9D60-DE673AAB2E02@oracle.com> Message-ID: <5671F77C-FF84-49BD-AFDB-94A8F62506FF@oracle.com> On Jan 20, 2011, at 8:12 PM, John Rose wrote: > This is a chunk of EG cleanup work, consisting of JDK code changes only. > > http://cr.openjdk.java.net/~jrose/7013417/webrev.00/ > > We will want to put in a fast-path for this in the JVM, later. > > More changes in the pipeline: > > - JDK only: 7012650 implement JSR 292 EG adjustments through January 2010 > > - JVM & JDK: 7012648 move JSR 292 to package java.lang.invoke and adjust names > > The rename change will require a phased introduction of JVM changes (to adjust hard-coded dependencies), followed by JDK changes. Looks good. -- Christian From john.r.rose at oracle.com Thu Jan 20 11:59:47 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 20 Jan 2011 11:59:47 -0800 Subject: review request (L): 7012650: implement JSR 292 EG adjustments through January 2010 Message-ID: <92C8F3EB-FEE6-4832-803F-FB2942696E19@oracle.com> These are the rest of the EG-requested changes for JSR 292: http://cr.openjdk.java.net/~jrose/7012650/webrev.00/ After these changes, plus some renames, we will be ready for formal Public Review. (The two deprecated methods were going to be removed, but we ran into some minor technical problems, which we are working on.) -- John From tom.rodriguez at oracle.com Thu Jan 20 12:01:50 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 20 Jan 2011 12:01:50 -0800 Subject: review (M) for 6809483: hotspot:::method_entry are not correctly generated for "method()V" Message-ID: 6809483: hotspot:::method_entry are not correctly generated for "method()V" Reviewed-by: The support for ExtendedDTrace probes requires notification points at the inline boundaries but that was missing so dtrace notifications were missed for inlined things. I added a RuntimeCall instruction to be used for these notifications and insert the proper ones during parsing. Tested with failing test from report. From john.r.rose at oracle.com Thu Jan 20 12:03:45 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 20 Jan 2011 12:03:45 -0800 Subject: review request (L): 7013417: JSR 292 needs to support variadic method handle calls In-Reply-To: <5671F77C-FF84-49BD-AFDB-94A8F62506FF@oracle.com> References: <6167D4FE-6EBC-4B64-9D60-DE673AAB2E02@oracle.com> <5671F77C-FF84-49BD-AFDB-94A8F62506FF@oracle.com> Message-ID: <3F1ED9F5-89D6-4DBB-96E8-3926C9247D84@oracle.com> On Jan 20, 2011, at 11:56 AM, Christian Thalinger wrote: > Looks good. -- Christian Thanks. And thanks for the detailed pre-review based on the mlvm patch. -- John From Christian.Thalinger at Sun.COM Thu Jan 20 12:07:54 2011 From: Christian.Thalinger at Sun.COM (Christian.Thalinger at Sun.COM) Date: Thu, 20 Jan 2011 20:07:54 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7011839: JSR 292 turn on escape analysis when using invokedynamic Message-ID: <20110120200755.E50A847FD2@hg.openjdk.java.net> Changeset: bb2c2878f134 Author: twisti Date: 2011-01-20 08:25 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/bb2c2878f134 7011839: JSR 292 turn on escape analysis when using invokedynamic Summary: Currently escape analysis is turned off when EnableInvokeDynamic is true. Reviewed-by: jrose, kvn ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/runtime/arguments.cpp From john.r.rose at oracle.com Thu Jan 20 12:36:44 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 20 Jan 2011 12:36:44 -0800 Subject: review request (L): 7013417: JSR 292 needs to support variadic method handle calls In-Reply-To: <3F1ED9F5-89D6-4DBB-96E8-3926C9247D84@oracle.com> References: <6167D4FE-6EBC-4B64-9D60-DE673AAB2E02@oracle.com> <5671F77C-FF84-49BD-AFDB-94A8F62506FF@oracle.com> <3F1ED9F5-89D6-4DBB-96E8-3926C9247D84@oracle.com> Message-ID: <1D8C67ED-4407-4592-A2B2-0DBB1E3B7CF3@oracle.com> Oops; one more change. (Didn't run the unit tests properly.) http://cr.openjdk.java.net/~jrose/7013417/webrev.01 Three files changed: - http://cr.openjdk.java.net/~jrose/7013417/webrev.01/src/share/classes/sun/dyn/CallSiteImpl.java.udiff.html (one char diff in last hunk: s/TRANSITIONAL/!TRANSITIONAL/) - http://cr.openjdk.java.net/~jrose/7013417/webrev.01+/test/java/dyn/InvokeDynamicPrintArgs.java.udiff.html (updated example and smoke test: now the smoke comes out of the right places) - http://cr.openjdk.java.net/~jrose/7013417/webrev.01/test/java/dyn/indify/Indify.java.udiff.html (updated copy of Indify) -- John On Jan 20, 2011, at 12:03 PM, John Rose wrote: > On Jan 20, 2011, at 11:56 AM, Christian Thalinger wrote: > >> Looks good. -- Christian > > Thanks. And thanks for the detailed pre-review based on the mlvm patch. -- John From christian.thalinger at oracle.com Thu Jan 20 12:43:52 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 20 Jan 2011 21:43:52 +0100 Subject: review request (L): 7013417: JSR 292 needs to support variadic method handle calls In-Reply-To: <1D8C67ED-4407-4592-A2B2-0DBB1E3B7CF3@oracle.com> References: <6167D4FE-6EBC-4B64-9D60-DE673AAB2E02@oracle.com> <5671F77C-FF84-49BD-AFDB-94A8F62506FF@oracle.com> <3F1ED9F5-89D6-4DBB-96E8-3926C9247D84@oracle.com> <1D8C67ED-4407-4592-A2B2-0DBB1E3B7CF3@oracle.com> Message-ID: On Jan 20, 2011, at 9:36 PM, John Rose wrote: > Oops; one more change. (Didn't run the unit tests properly.) > > http://cr.openjdk.java.net/~jrose/7013417/webrev.01 > > Three files changed: > > - http://cr.openjdk.java.net/~jrose/7013417/webrev.01/src/share/classes/sun/dyn/CallSiteImpl.java.udiff.html > (one char diff in last hunk: s/TRANSITIONAL/!TRANSITIONAL/) > > - http://cr.openjdk.java.net/~jrose/7013417/webrev.01+/test/java/dyn/InvokeDynamicPrintArgs.java.udiff.html > (updated example and smoke test: now the smoke comes out of the right places) > > - http://cr.openjdk.java.net/~jrose/7013417/webrev.01/test/java/dyn/indify/Indify.java.udiff.html > (updated copy of Indify) Finally InvokeDynamicPrintArgs's output is fixed. That should help testing results. -- Christian From igor.veresov at oracle.com Thu Jan 20 13:17:42 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 20 Jan 2011 13:17:42 -0800 Subject: review (M) for 6809483: hotspot:::method_entry are not correctly generated for "method()V" In-Reply-To: References: Message-ID: <4D38A676.1080002@oracle.com> Tom, you forgot the link to the webrev... igor On 1/20/11 12:01 PM, Tom Rodriguez wrote: > 6809483: hotspot:::method_entry are not correctly generated for "method()V" > Reviewed-by: > > The support for ExtendedDTrace probes requires notification points at > the inline boundaries but that was missing so dtrace notifications > were missed for inlined things. I added a RuntimeCall instruction to > be used for these notifications and insert the proper ones during > parsing. Tested with failing test from report. From john.r.rose at oracle.com Thu Jan 20 13:23:37 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 20 Jan 2011 13:23:37 -0800 Subject: review request (L): 7012650: implement JSR 292 EG adjustments through January 2010 In-Reply-To: <92C8F3EB-FEE6-4832-803F-FB2942696E19@oracle.com> References: <92C8F3EB-FEE6-4832-803F-FB2942696E19@oracle.com> Message-ID: The webrev is refreshed; there are now changes to ClassValue.java. http://cr.openjdk.java.net/~jrose/7012650/webrev.00/src/share/classes/java/dyn/ClassValue.java.udiff.html -- John On Jan 20, 2011, at 11:59 AM, John Rose wrote: > These are the rest of the EG-requested changes for JSR 292: > http://cr.openjdk.java.net/~jrose/7012650/webrev.00/ > > After these changes, plus some renames, we will be ready for formal Public Review. > > (The two deprecated methods were going to be removed, but we ran into some minor technical problems, which we are working on.) > > -- John From tom.rodriguez at oracle.com Thu Jan 20 13:30:20 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 20 Jan 2011 13:30:20 -0800 Subject: review (M) for 6809483: hotspot:::method_entry are not correctly generated for "method()V" In-Reply-To: <4D38A676.1080002@oracle.com> References: <4D38A676.1080002@oracle.com> Message-ID: <4D9FE2B7-693C-47E8-8D9E-E77352A7C6CC@oracle.com> http://cr.openjdk.java.net/~never/6809483 tom On Jan 20, 2011, at 1:17 PM, Igor Veresov wrote: > Tom, you forgot the link to the webrev... > > igor > > On 1/20/11 12:01 PM, Tom Rodriguez wrote: >> 6809483: hotspot:::method_entry are not correctly generated for "method()V" >> Reviewed-by: >> >> The support for ExtendedDTrace probes requires notification points at >> the inline boundaries but that was missing so dtrace notifications >> were missed for inlined things. I added a RuntimeCall instruction to >> be used for these notifications and insert the proper ones during >> parsing. Tested with failing test from report. > From igor.veresov at oracle.com Thu Jan 20 13:53:24 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 20 Jan 2011 13:53:24 -0800 Subject: review (M) for 6809483: hotspot:::method_entry are not correctly generated for "method()V" In-Reply-To: <4D9FE2B7-693C-47E8-8D9E-E77352A7C6CC@oracle.com> References: <4D38A676.1080002@oracle.com> <4D9FE2B7-693C-47E8-8D9E-E77352A7C6CC@oracle.com> Message-ID: <4D38AED4.8050103@oracle.com> Looks good! Only copyrights need updating. igor On 1/20/11 1:30 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/6809483 > > tom > > On Jan 20, 2011, at 1:17 PM, Igor Veresov wrote: > >> Tom, you forgot the link to the webrev... >> >> igor >> >> On 1/20/11 12:01 PM, Tom Rodriguez wrote: >>> 6809483: hotspot:::method_entry are not correctly generated for "method()V" >>> Reviewed-by: >>> >>> The support for ExtendedDTrace probes requires notification points at >>> the inline boundaries but that was missing so dtrace notifications >>> were missed for inlined things. I added a RuntimeCall instruction to >>> be used for these notifications and insert the proper ones during >>> parsing. Tested with failing test from report. >> > From tom.rodriguez at oracle.com Thu Jan 20 13:56:22 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 20 Jan 2011 13:56:22 -0800 Subject: review (S) for 7008809: should report the class in ArrayStoreExceptions from compiled code Message-ID: http://cr.openjdk.java.net/~never/7008809 7008809: should report the class in ArrayStoreExceptions from compiled code Reviewed-by: The fix for 4826718 added the type of the object in ArrayStoreException but didn't update C1 to report the same thing. The fix is to simply pass the argument the same way it's done for ClassCastException. Tested with failing test case. From tom.rodriguez at oracle.com Thu Jan 20 13:59:06 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 20 Jan 2011 13:59:06 -0800 Subject: review (M) for 6809483: hotspot:::method_entry are not correctly generated for "method()V" In-Reply-To: <4D38AED4.8050103@oracle.com> References: <4D38A676.1080002@oracle.com> <4D9FE2B7-693C-47E8-8D9E-E77352A7C6CC@oracle.com> <4D38AED4.8050103@oracle.com> Message-ID: On Jan 20, 2011, at 1:53 PM, Igor Veresov wrote: > Looks good! Only copyrights need updating. I updated them. Thanks! tom > > igor > > On 1/20/11 1:30 PM, Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/6809483 >> >> tom >> >> On Jan 20, 2011, at 1:17 PM, Igor Veresov wrote: >> >>> Tom, you forgot the link to the webrev... >>> >>> igor >>> >>> On 1/20/11 12:01 PM, Tom Rodriguez wrote: >>>> 6809483: hotspot:::method_entry are not correctly generated for "method()V" >>>> Reviewed-by: >>>> >>>> The support for ExtendedDTrace probes requires notification points at >>>> the inline boundaries but that was missing so dtrace notifications >>>> were missed for inlined things. I added a RuntimeCall instruction to >>>> be used for these notifications and insert the proper ones during >>>> parsing. Tested with failing test from report. >>> >> > From forax at univ-mlv.fr Thu Jan 20 15:09:48 2011 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Fri, 21 Jan 2011 00:09:48 +0100 Subject: review request (L): 7012650: implement JSR 292 EG adjustments through January 2010 In-Reply-To: References: <92C8F3EB-FEE6-4832-803F-FB2942696E19@oracle.com> Message-ID: <4D38C0BC.9090708@univ-mlv.fr> On 01/20/2011 10:23 PM, John Rose wrote: > The webrev is refreshed; there are now changes to ClassValue.java. > > http://cr.openjdk.java.net/~jrose/7012650/webrev.00/src/share/classes/java/dyn/ClassValue.java.udiff.html > > -- John Hi John, I suppose that classValueFrom() shoud be static. The implementation of FromMethodhandle.computeValue() creates a hole in the typesystem. You mix parameterized type (T) and MethodHandle that aren't typed by the compiler. return (T) result; // this cast is unsafe and not enforced anywhere I wonder if it's not better to wait the introduction of lambda here. R?mi > On Jan 20, 2011, at 11:59 AM, John Rose wrote: > >> These are the rest of the EG-requested changes for JSR 292: >> http://cr.openjdk.java.net/~jrose/7012650/webrev.00/ >> >> After these changes, plus some renames, we will be ready for formal Public Review. >> >> (The two deprecated methods were going to be removed, but we ran into some minor technical problems, which we are working on.) >> >> -- John From igor.veresov at oracle.com Thu Jan 20 15:20:42 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 20 Jan 2011 15:20:42 -0800 Subject: review (S) for 7008809: should report the class in ArrayStoreExceptions from compiled code In-Reply-To: References: Message-ID: <4D38C34A.3090307@oracle.com> This looks good too. igor On 1/20/11 1:56 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7008809 > > 7008809: should report the class in ArrayStoreExceptions from compiled code > Reviewed-by: > > The fix for 4826718 added the type of the object in > ArrayStoreException but didn't update C1 to report the same thing. > The fix is to simply pass the argument the same way it's done for > ClassCastException. Tested with failing test case. From john.coomes at oracle.com Thu Jan 20 20:37:30 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 21 Jan 2011 04:37:30 +0000 Subject: hg: jdk7/hotspot-comp/corba: 2 new changesets Message-ID: <20110121043733.E684747003@hg.openjdk.java.net> Changeset: d7532bcd3742 Author: cl Date: 2011-01-13 16:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/d7532bcd3742 Added tag jdk7-b125 for changeset 1ce58c72b789 ! .hgtags Changeset: 64775e83f4df Author: cl Date: 2011-01-20 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/64775e83f4df Added tag jdk7-b126 for changeset d7532bcd3742 ! .hgtags From john.coomes at oracle.com Thu Jan 20 20:37:41 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 21 Jan 2011 04:37:41 +0000 Subject: hg: jdk7/hotspot-comp/jaxp: 7 new changesets Message-ID: <20110121043741.8200647004@hg.openjdk.java.net> Changeset: 116b935148bc Author: cl Date: 2011-01-13 16:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/116b935148bc Added tag jdk7-b125 for changeset 6c9bdee0cc3a ! .hgtags Changeset: 63190d0ca619 Author: ohair Date: 2010-12-16 13:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/63190d0ca619 7007257: jaxp 1.4.5 jdk7 1st integration Reviewed-by: joehw ! jaxp.properties Changeset: ce7b69a2d927 Author: lana Date: 2010-12-22 22:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/ce7b69a2d927 Merge Changeset: 3a829f5ba9d2 Author: lana Date: 2011-01-04 16:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/3a829f5ba9d2 Merge Changeset: 64c84c62ec2a Author: lana Date: 2011-01-13 14:55 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/64c84c62ec2a Merge Changeset: 2fde639439c1 Author: lana Date: 2011-01-14 13:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/2fde639439c1 Merge Changeset: c532d6dbc8d1 Author: cl Date: 2011-01-20 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/c532d6dbc8d1 Added tag jdk7-b126 for changeset 2fde639439c1 ! .hgtags From john.coomes at oracle.com Thu Jan 20 20:37:48 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 21 Jan 2011 04:37:48 +0000 Subject: hg: jdk7/hotspot-comp/jaxws: 7 new changesets Message-ID: <20110121043748.4F87A47005@hg.openjdk.java.net> Changeset: e8fc02b4c889 Author: cl Date: 2011-01-13 16:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/e8fc02b4c889 Added tag jdk7-b125 for changeset d72eea121c3b ! .hgtags Changeset: aca101db2361 Author: ohair Date: 2010-12-16 13:14 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/aca101db2361 7006853: Integrate JAX-WS 2.2.2 RI into JDK 7 Reviewed-by: ramap ! jaxws.properties Changeset: 8ac759987b08 Author: lana Date: 2010-12-22 22:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/8ac759987b08 Merge Changeset: 466e89f7e5be Author: lana Date: 2011-01-04 16:37 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/466e89f7e5be Merge ! jaxws.properties Changeset: dba69d6345d9 Author: lana Date: 2011-01-13 14:55 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/dba69d6345d9 Merge Changeset: 6d772c5119d5 Author: lana Date: 2011-01-14 13:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/6d772c5119d5 Merge Changeset: ef19f173578c Author: cl Date: 2011-01-20 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/ef19f173578c Added tag jdk7-b126 for changeset 6d772c5119d5 ! .hgtags From john.coomes at oracle.com Thu Jan 20 20:41:39 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 21 Jan 2011 04:41:39 +0000 Subject: hg: jdk7/hotspot-comp/jdk: 78 new changesets Message-ID: <20110121045539.76A4747012@hg.openjdk.java.net> Changeset: 3972926bc8f1 Author: cl Date: 2011-01-13 16:44 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3972926bc8f1 Added tag jdk7-b125 for changeset 0a56bdd709d0 ! .hgtags Changeset: 4d6f9aaa2600 Author: flar Date: 2010-12-14 13:25 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4d6f9aaa2600 6766342: Improve performance of Ductus rasterizer Reviewed-by: jgodinez, prr ! make/sun/awt/make.depend ! make/sun/awt/mapfile-vers ! make/sun/awt/mapfile-vers-linux ! src/share/classes/sun/dc/DuctusRenderingEngine.java ! src/share/classes/sun/java2d/SurfaceData.java ! src/share/classes/sun/java2d/loops/CompositeType.java ! src/share/classes/sun/java2d/loops/MaskFill.java ! src/share/classes/sun/java2d/pipe/AAShapePipe.java ! src/share/classes/sun/java2d/pipe/AlphaColorPipe.java ! src/share/classes/sun/java2d/pipe/RenderingEngine.java ! src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java ! src/share/native/sun/java2d/loops/DrawParallelogram.c ! src/share/native/sun/java2d/loops/FillParallelogram.c ! src/share/native/sun/java2d/loops/MaskFill.c + src/share/native/sun/java2d/loops/ParallelogramUtils.h ! src/solaris/native/sun/java2d/loops/vis_IntArgbPre_Mask.c ! src/solaris/native/sun/java2d/loops/vis_SrcMaskFill.c + test/java/awt/Graphics2D/RenderClipTest/6766342.tests + test/java/awt/Graphics2D/RenderClipTest/RenderClipTest.java Changeset: 9d0eebb55003 Author: bae Date: 2010-12-15 19:47 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9d0eebb55003 6782574: AffineTransformOp.filter(BufferedImage, BufferedImage) fails with InternalError Reviewed-by: igor, prr ! src/share/classes/java/awt/image/SinglePixelPackedSampleModel.java ! src/share/native/sun/awt/image/awt_parseImage.c + test/java/awt/image/IncorrectSampleMaskTest.java Changeset: 6a219e5ccfd7 Author: bae Date: 2010-12-17 13:18 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6a219e5ccfd7 7006948: FindBugs warning in IndexColorModel class Reviewed-by: igor, prr ! src/share/classes/java/awt/image/IndexColorModel.java Changeset: 33a0f66771d5 Author: jgodinez Date: 2010-12-17 09:39 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/33a0f66771d5 6635462: D3D: REGRESSION: XOR rendering is extremly slow Reviewed-by: igor, prr ! src/share/classes/javax/swing/DefaultDesktopManager.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/java2d/d3d/D3DSurfaceData.java Changeset: 0125062d65b6 Author: bae Date: 2010-12-20 10:38 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0125062d65b6 6736178: java.awt.image.SampleModel constructor unexpectedly throws IllegalArgumentException Reviewed-by: jgodinez, prr ! src/share/classes/java/awt/image/SampleModel.java Changeset: b0f9760f3103 Author: prr Date: 2010-12-22 13:32 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b0f9760f3103 7007299: FileFontStrike appears not to be threadsafe? Reviewed-by: igor, jgodinez ! src/share/classes/sun/font/FileFontStrike.java Changeset: 1513ccf103a9 Author: prr Date: 2010-12-22 13:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1513ccf103a9 6996867: Garbage rendering of LCD text with SRC composite mode Reviewed-by: igor, jgodinez ! src/share/classes/sun/java2d/SurfaceData.java + test/java/awt/Graphics2D/DrawString/LCDTextSrcEa.java Changeset: 78d0a8d449fd Author: bae Date: 2010-12-23 14:27 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/78d0a8d449fd 7002627: JNI Critical Arrays should be released with the original (unmodified) pointer Reviewed-by: jgodinez, prr ! src/share/native/sun/java2d/pipe/BufferedMaskBlit.c Changeset: cb3c0ffb27bb Author: lana Date: 2010-12-23 00:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cb3c0ffb27bb Merge - src/share/classes/java/dyn/BootstrapMethod.java - src/share/classes/java/dyn/LinkagePermission.java - src/share/classes/java/dyn/MethodHandleProvider.java - src/share/classes/sun/dyn/JavaMethodHandle.java - src/share/demo/nio/zipfs/META-INF/services/java.nio.file.spi.FileSystemProvider - src/share/demo/nio/zipfs/com/sun/nio/zipfs/JarFileSystemProvider.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipCoder.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipConstants.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipDirectoryStream.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributeView.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributes.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileStore.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystem.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystemProvider.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipInfo.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipPath.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipUtils.java - test/java/dyn/JavaDocExamples.java Changeset: 155d91257957 Author: lana Date: 2010-12-23 08:47 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/155d91257957 Merge Changeset: 7fff69f28bf4 Author: jgodinez Date: 2010-12-23 10:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7fff69f28bf4 6913300: Missing serialVersionUID in javax.print.attribute.standard.DialogTypeSelection Reviewed-by: igor, prr ! src/share/classes/javax/print/attribute/standard/DialogTypeSelection.java Changeset: b22c74e20a1b Author: jgodinez Date: 2010-12-23 11:01 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b22c74e20a1b 6949749: regression cases need to be updated by removing "System.exit(0)" Reviewed-by: igor, prr ! test/java/awt/PrintJob/Text/StringWidth.java Changeset: 417acb7e8fa1 Author: prr Date: 2010-12-23 15:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/417acb7e8fa1 6891551: Font rasterisation uses more heap than needed for some strikes. Reviewed-by: jgodinez ! src/share/classes/sun/font/FileFontStrike.java Changeset: 4e47e55dd717 Author: prr Date: 2010-12-23 21:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4e47e55dd717 6927458: font system should cache transient strikes with weak references. Reviewed-by: igor, jgodinez ! src/share/classes/sun/font/Font2D.java Changeset: 99c540ac926c Author: bae Date: 2010-12-24 14:05 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/99c540ac926c 6983028: java/awt/FontClass/FontPrivilege.java Reviewed-by: prr ! test/java/awt/FontClass/FontPrivilege.java Changeset: 14033e1600ac Author: prr Date: 2010-12-24 09:31 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/14033e1600ac 6997210: Solaris 11 has no development support for DGA: Cannot build JDK Reviewed-by: bae, ohair ! make/sun/Makefile Changeset: 70bfa0af3969 Author: bae Date: 2010-12-30 11:33 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/70bfa0af3969 7003434: test/closed/java/awt/FullScreen/DisplayChangeVITest/DisplayChangeVITest.java fails with ClassCastExc Reviewed-by: jgodinez, prr ! src/windows/classes/sun/java2d/opengl/WGLVolatileSurfaceManager.java Changeset: 9320dcfb5398 Author: lana Date: 2011-01-05 11:21 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9320dcfb5398 Merge - make/common/internal/BinaryPlugs.gmk ! make/sun/Makefile ! make/sun/awt/mapfile-vers ! make/sun/awt/mapfile-vers-linux ! src/share/classes/java/awt/image/IndexColorModel.java ! src/share/classes/java/awt/image/SampleModel.java ! src/share/classes/javax/swing/DefaultDesktopManager.java ! src/share/classes/sun/java2d/SurfaceData.java ! src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java ! src/share/native/sun/java2d/loops/DrawParallelogram.c ! src/share/native/sun/java2d/loops/FillParallelogram.c ! src/windows/classes/sun/awt/windows/WComponentPeer.java Changeset: 3db5ac2b4c62 Author: andrew Date: 2010-12-14 13:51 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3db5ac2b4c62 6444769: java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.html fails Summary: Remove unneeded test Reviewed-by: anthony - test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.html - test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.java Changeset: b9706aff91a3 Author: lana Date: 2010-12-15 11:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b9706aff91a3 Merge - src/share/classes/sun/net/httpserver/SelectorCache.java Changeset: 4a0970a420d5 Author: anthony Date: 2010-12-16 21:48 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4a0970a420d5 6993803: Request to update SplashScreen specification 6984255: Request for java.awt.SplashScreen spec update: mention possibility of having custom "-splash" option 6992416: [Spec clarification request] Is color deviation for splash screen image allowed? 6992833: [Spec clarification request] point (0,0) in SplashScreen.createGraphics() 6993071: java.awt.SplashScreen should mention that no unnecessary distortions to the image are allowed 6993113: [Spec clarification request] getSplashScreen(): null or HeadlessException? 6996439: [Spec clarification request] Is any delay with splashscreen appearance allowed? Summary: Update SplashScreen specification Reviewed-by: art ! src/share/classes/java/awt/SplashScreen.java Changeset: 8dbb797793b0 Author: anthony Date: 2010-12-22 17:37 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8dbb797793b0 6998323: Unexpected color change after invoking SplashScreen.update() Summary: Fix the blendRGB() function Reviewed-by: art, dcherepanov ! src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.h Changeset: 15c45fdd572c Author: lana Date: 2010-12-23 10:20 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/15c45fdd572c Merge - src/share/classes/java/dyn/BootstrapMethod.java - src/share/classes/java/dyn/LinkagePermission.java - src/share/classes/java/dyn/MethodHandleProvider.java - src/share/classes/sun/dyn/JavaMethodHandle.java - src/share/demo/nio/zipfs/META-INF/services/java.nio.file.spi.FileSystemProvider - src/share/demo/nio/zipfs/com/sun/nio/zipfs/JarFileSystemProvider.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipCoder.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipConstants.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipDirectoryStream.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributeView.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributes.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileStore.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystem.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystemProvider.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipInfo.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipPath.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipUtils.java - src/share/native/sun/font/layout/HebrewLigatureData.cpp - src/share/native/sun/font/layout/HebrewShaping.cpp - src/share/native/sun/font/layout/HebrewShaping.h - test/java/dyn/JavaDocExamples.java Changeset: 6e4d9f4466f6 Author: dcherepanov Date: 2010-12-27 18:37 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6e4d9f4466f6 4887645: Remove "awt.threadgroup" system property Reviewed-by: art, anthony ! src/share/classes/sun/awt/SunToolkit.java Changeset: a0a4f73b3d1d Author: dcherepanov Date: 2010-12-27 18:42 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a0a4f73b3d1d 6957765: Test Bug - javax/swing/SwingWorker/6480289/bug6480289.java failed on 1.7.0b94 but passed on previous Reviewed-by: art, alexp - test/javax/swing/SwingWorker/6480289/bug6480289.java Changeset: 33d4e0de0424 Author: dcherepanov Date: 2010-12-27 18:43 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/33d4e0de0424 6866808: nsk/stress/jck12a/jck12a014 crashes with SIGSEGV at [libjvm.so+0xc5b10] Reviewed-by: art ! src/solaris/native/sun/xawt/XToolkit.c Changeset: c90a0da7649e Author: dcherepanov Date: 2010-12-27 18:45 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c90a0da7649e 6921598: PrinterDialog hidden behind other frames Reviewed-by: art ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_Dialog.h Changeset: 39e9d5613145 Author: dav Date: 2010-12-28 17:13 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/39e9d5613145 6999766: Changes to correct c/c++ language issues for use of parfait Reviewed-by: uta, amenkov ! src/windows/native/sun/windows/Devices.h ! src/windows/native/sun/windows/awt.h ! src/windows/native/sun/windows/awt_Debug.cpp ! src/windows/native/sun/windows/awt_Debug.h ! src/windows/native/sun/windows/awt_DesktopProperties.cpp ! src/windows/native/sun/windows/awt_TextArea.h ! src/windows/native/sun/windows/awt_Toolkit.h Changeset: 8b05f9b91765 Author: dav Date: 2010-12-29 15:13 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8b05f9b91765 7008106: com/sun/awt/Translucency/WindowOpacity.java test fails just against jdk7 b122 Reviewed-by: dcherepanov ! test/com/sun/awt/Translucency/WindowOpacity.java Changeset: 78364959fc73 Author: dav Date: 2010-12-29 17:36 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/78364959fc73 6963357: After clicking the "Load" button,the case FileDialogUserFilterTest.html crashes in jdk7 b98. Reviewed-by: dcherepanov ! src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c Changeset: aa03f76d0e80 Author: lana Date: 2011-01-05 15:54 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/aa03f76d0e80 Merge - make/common/internal/BinaryPlugs.gmk ! src/share/classes/java/awt/SplashScreen.java ! src/share/classes/sun/awt/SunToolkit.java ! src/windows/native/sun/windows/awt.h ! src/windows/native/sun/windows/awt_DesktopProperties.cpp ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_Toolkit.h Changeset: bde32b5becf1 Author: lana Date: 2011-01-06 18:01 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/bde32b5becf1 Merge - test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.html - test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.java - test/javax/swing/SwingWorker/6480289/bug6480289.java Changeset: ec02d02d3409 Author: okutsu Date: 2010-12-15 11:38 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ec02d02d3409 6990037: font warnings in the build, missing fonts Reviewed-by: peytoia ! make/sun/awt/Makefile ! src/share/classes/sun/awt/FontConfiguration.java Changeset: cd7b5fb40005 Author: okutsu Date: 2010-12-17 16:56 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cd7b5fb40005 7007583: (tz) Windows-only: update tzmappings for KB2443685 Reviewed-by: peytoia ! src/windows/lib/tzmappings Changeset: 7c7e4a0330bc Author: okutsu Date: 2010-12-17 17:13 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7c7e4a0330bc 6644493: [Fmt-Da] SimpleDateFormat parsing RFC822 time offset is slow Reviewed-by: peytoia ! src/share/classes/java/text/SimpleDateFormat.java ! test/java/text/Format/DateFormat/ISO8601ZoneTest.java Changeset: f710204034fd Author: okutsu Date: 2010-12-17 18:06 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f710204034fd 6983207: API: MessageFormat quote handling discrepancy Reviewed-by: peytoia ! src/share/classes/java/text/MessageFormat.java Changeset: 89d065844fb6 Author: okutsu Date: 2010-12-21 10:58 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/89d065844fb6 6943959: NumericShaper API doc doesn't describe ARABIC/EASTERN_ARABIC precedence Reviewed-by: peytoia ! src/share/classes/java/awt/font/NumericShaper.java Changeset: 8da79c7d137e Author: okutsu Date: 2010-12-21 11:20 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8da79c7d137e 7007905: javazic produces wrong line numbers Reviewed-by: peytoia ! make/tools/src/build/tools/javazic/Zoneinfo.java Changeset: 55d9205735e1 Author: naoto Date: 2010-12-21 16:14 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/55d9205735e1 4940539: Constructor of java.util.Locale should handle ISO 639-2 Language Codes Reviewed-by: okutsu ! src/share/classes/java/util/Locale.java ! test/java/util/Locale/LocaleTest.java Changeset: 403a88eeac15 Author: lana Date: 2010-12-22 16:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/403a88eeac15 Merge - src/share/classes/java/dyn/BootstrapMethod.java - src/share/classes/java/dyn/LinkagePermission.java - src/share/classes/java/dyn/MethodHandleProvider.java - src/share/classes/sun/dyn/JavaMethodHandle.java - src/share/demo/nio/zipfs/META-INF/services/java.nio.file.spi.FileSystemProvider - src/share/demo/nio/zipfs/com/sun/nio/zipfs/JarFileSystemProvider.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipCoder.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipConstants.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipDirectoryStream.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributeView.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributes.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileStore.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystem.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystemProvider.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipInfo.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipPath.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipUtils.java - src/share/native/sun/font/layout/HebrewLigatureData.cpp - src/share/native/sun/font/layout/HebrewShaping.cpp - src/share/native/sun/font/layout/HebrewShaping.h - test/java/dyn/JavaDocExamples.java Changeset: c8b383fd8adf Author: rupashka Date: 2010-12-23 17:39 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c8b383fd8adf 6973773: JCK manual case JSliderTests.html#JSlider fails in jdk7 b100 Reviewed-by: alexp ! src/share/classes/javax/swing/JSlider.java Changeset: 69b2e5838eee Author: rupashka Date: 2010-12-23 18:25 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/69b2e5838eee 7007708: TEST: javax/swing/JScrollBar/6542335/bug6542335.java failes agaisnt jdk7 on solaris/linux Reviewed-by: alexp ! test/javax/swing/JScrollBar/6542335/bug6542335.java Changeset: 94e0438c74c3 Author: okutsu Date: 2010-12-27 14:13 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/94e0438c74c3 7003643: [Fmt-Me] MessageFormat.toPattern produces wrong quoted string and subformat modifiers 7008195: [Fmt-Me] Improve MessageFormat.applyPattern performance Reviewed-by: naoto, peytoia ! src/share/classes/java/text/MessageFormat.java + test/java/text/Format/MessageFormat/Bug7003643.java ! test/java/util/PluggableLocale/DateFormatProviderTest.java ! test/java/util/PluggableLocale/DateFormatProviderTest.sh ! test/java/util/PluggableLocale/NumberFormatProviderTest.java ! test/java/util/PluggableLocale/NumberFormatProviderTest.sh ! test/java/util/PluggableLocale/fooprovider.jar ! test/java/util/PluggableLocale/providersrc/DateFormatProviderImpl.java + test/java/util/PluggableLocale/providersrc/FooDateFormat.java + test/java/util/PluggableLocale/providersrc/FooNumberFormat.java ! test/java/util/PluggableLocale/providersrc/Makefile ! test/java/util/PluggableLocale/providersrc/NumberFormatProviderImpl.java Changeset: c06d4327c0f2 Author: rupashka Date: 2010-12-27 15:28 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c06d4327c0f2 6959584: closed/javax/swing/JFileChooser/4847375/bug4847375.java : compilation failed Reviewed-by: alexp + test/javax/swing/JFileChooser/4847375/bug4847375.java Changeset: 72f1247e9ff5 Author: rupashka Date: 2010-12-27 17:41 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/72f1247e9ff5 6532833: PIT: Metal LAF - The right side border is not shown for the Spinner after the removing the buttons Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/basic/BasicSpinnerUI.java + test/javax/swing/JSpinner/6532833/bug6532833.java Changeset: 2c3c88a389b0 Author: amenkov Date: 2010-12-28 16:37 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/2c3c88a389b0 6842956: Assertion error in javax_sound on 64-bit RHEL 5.3 with 32-bit JDK Reviewed-by: bae ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiIn.c Changeset: ac1e3f99a69e Author: amenkov Date: 2010-12-29 16:26 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ac1e3f99a69e 7006997: A typo in MidiSystem.getTransmitter() implementation code Reviewed-by: dav ! src/share/classes/javax/sound/midi/MidiSystem.java Changeset: be27227ff554 Author: amenkov Date: 2010-12-30 14:57 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/be27227ff554 6989702: sound native code compiler warnings Reviewed-by: bae ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_CommonUtils.c ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCMUtils.h ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c Changeset: 349b67ae3e08 Author: lana Date: 2011-01-04 23:41 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/349b67ae3e08 Merge - make/common/internal/BinaryPlugs.gmk ! make/sun/awt/Makefile ! src/share/classes/java/text/MessageFormat.java ! src/share/classes/javax/sound/midi/MidiSystem.java Changeset: fff6fd437f4a Author: lana Date: 2011-01-06 18:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/fff6fd437f4a Merge Changeset: 6d3fb387da8e Author: ksrini Date: 2010-12-14 07:42 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6d3fb387da8e 6990106: FindBugs scan - Malicious code vulnerability Warnings in com.sun.java.util.jar.pack.* Reviewed-by: mduigou, briangoetz ! src/share/classes/com/sun/java/util/jar/pack/AdaptiveCoding.java ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ! src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java ! src/share/classes/com/sun/java/util/jar/pack/Code.java ! src/share/classes/com/sun/java/util/jar/pack/Coding.java ! src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/com/sun/java/util/jar/pack/Constants.java ! src/share/classes/com/sun/java/util/jar/pack/Driver.java ! src/share/classes/com/sun/java/util/jar/pack/Fixups.java ! src/share/classes/com/sun/java/util/jar/pack/Histogram.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.java ! src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java ! src/share/classes/com/sun/java/util/jar/pack/Package.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java ! src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java ! src/share/classes/com/sun/java/util/jar/pack/PropMap.java ! src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java ! src/share/classes/com/sun/java/util/jar/pack/Utils.java ! src/share/classes/java/util/jar/Pack200.java Changeset: 68cc30a3a1fd Author: ksrini Date: 2010-12-14 08:13 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/68cc30a3a1fd 7006704: (pack200) add missing file for 6990106 Reviewed-by: mduigou, briangoetz + src/share/classes/com/sun/java/util/jar/pack/FixedList.java Changeset: a72e7147816f Author: lancea Date: 2010-12-14 16:08 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a72e7147816f 7006454: Typo in javadocs typo for Statement.executeBatch @since Reviewed-by: alanb ! src/share/classes/java/sql/Statement.java Changeset: 0ef137ae6f3b Author: alanb Date: 2010-12-15 09:15 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0ef137ae6f3b 6927816: Demo crash in heaptracker with Non-Sun JDK due to possible violation of JNI spec Reviewed-by: ohair, alanb Contributed-by: spoole at uk.ibm.com ! src/share/demo/jvmti/heapTracker/heapTracker.c Changeset: e6ed7c95d94f Author: xuelei Date: 2010-12-15 22:42 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e6ed7c95d94f 7006265: Javadoc warnings Reviewed-by: weijun ! src/share/classes/javax/net/ssl/X509ExtendedTrustManager.java Changeset: e67a399dd4ad Author: sundar Date: 2010-12-16 20:52 +0530 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e67a399dd4ad 6980447: Rhino JavaScript engine code in jdk-7 has to updated with the latest code from Rhino 1.7R3. Summary: Updating Rhino javascript engine with version 1.7R3. Issue 6427783 (E4X support is missing from Sun's Mozilla JavaScript implementation) is also fixed as a side-effect. Reviewed-by: alanb, jjh ! src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java ! src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java ! src/share/classes/com/sun/script/javascript/RhinoTopLevel.java ! src/share/classes/com/sun/tools/script/shell/init.js - test/javax/script/E4XErrorTest.java ! test/javax/script/VersionTest.java Changeset: 1f0f0737f04e Author: weijun Date: 2010-12-17 11:03 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1f0f0737f04e 6975866: api/org_ietf/jgss/GSSContext/index.html#wrapUnwrapIOTest started to fail since jdk7 b102 Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/krb5/CipherHelper.java ! src/share/classes/sun/security/jgss/krb5/MessageToken_v2.java ! src/share/classes/sun/security/jgss/krb5/MicToken_v2.java ! src/share/classes/sun/security/jgss/krb5/WrapToken.java ! src/share/classes/sun/security/jgss/krb5/WrapToken_v2.java ! test/sun/security/krb5/auto/BasicKrb5Test.java ! test/sun/security/krb5/auto/Context.java - test/sun/security/krb5/auto/basic.sh Changeset: ae84db37130a Author: ksrini Date: 2010-12-18 09:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ae84db37130a 7007157: (pack200) stripping attributes causes a NPE Reviewed-by: jrose, mduigou, dholmes ! src/share/classes/com/sun/java/util/jar/pack/ClassReader.java + test/tools/pack200/T7007157.java Changeset: 449dfb061fde Author: smarks Date: 2010-12-20 13:47 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/449dfb061fde 6880112: Project Coin: Port JDK core library code to use diamond operator Reviewed-by: darcy, lancea, alanb, briangoetz, mduigou, mchung ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/com/sun/java/util/jar/pack/Package.java ! src/share/classes/java/io/DeleteOnExitHook.java ! src/share/classes/java/io/File.java ! src/share/classes/java/io/FileInputStream.java ! src/share/classes/java/io/FileOutputStream.java ! src/share/classes/java/io/FilePermission.java ! src/share/classes/java/io/ObjectInputStream.java ! src/share/classes/java/io/ObjectOutputStream.java ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/lang/ApplicationShutdownHooks.java ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/CharacterName.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/ProcessBuilder.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/StringCoding.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/lang/Throwable.java ! src/share/classes/java/lang/management/ManagementFactory.java ! src/share/classes/java/lang/management/PlatformComponent.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/lang/reflect/ReflectAccess.java ! src/share/classes/java/sql/DriverManager.java ! src/share/classes/java/util/AbstractList.java ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/EnumMap.java ! src/share/classes/java/util/EnumSet.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/HashSet.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/IdentityHashMap.java ! src/share/classes/java/util/JumboEnumSet.java ! src/share/classes/java/util/LinkedHashMap.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/ListResourceBundle.java ! src/share/classes/java/util/PriorityQueue.java ! src/share/classes/java/util/Properties.java ! src/share/classes/java/util/RegularEnumSet.java ! src/share/classes/java/util/ServiceLoader.java ! src/share/classes/java/util/TimSort.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/TreeSet.java ! src/share/classes/java/util/WeakHashMap.java ! src/share/classes/java/util/logging/FileHandler.java ! src/share/classes/java/util/logging/Level.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/LogRecord.java ! src/share/classes/java/util/logging/Logger.java ! src/share/classes/java/util/logging/Logging.java ! src/share/classes/java/util/prefs/AbstractPreferences.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/java/util/zip/ZipOutputStream.java ! src/share/classes/sun/io/Converters.java ! src/share/classes/sun/util/logging/PlatformLogger.java ! src/solaris/classes/java/lang/ProcessEnvironment.java ! src/solaris/classes/java/util/prefs/FileSystemPreferences.java ! src/windows/classes/java/lang/ProcessEnvironment.java ! test/java/io/Serializable/NPEProvoker/NPEProvoker.java ! test/java/lang/instrument/ilib/Inject.java ! test/java/lang/instrument/ilib/InjectBytecodes.java ! test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java ! test/java/util/Random/DistinctSeeds.java ! test/java/util/logging/ClassLoaderLeakTest.java Changeset: d2a0e795c1c2 Author: weijun Date: 2010-12-21 17:35 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d2a0e795c1c2 6996367: improve HandshakeHash Reviewed-by: xuelei ! src/share/classes/sun/security/ssl/ClientHandshaker.java ! src/share/classes/sun/security/ssl/HandshakeHash.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java Changeset: d36ad8686f6d Author: kevinw Date: 2010-12-21 11:32 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d36ad8686f6d 6968933: Clip loop() deadlock in DirectAudioDevice$DirectClip.run Reviewed-by: amenkov ! src/share/classes/com/sun/media/sound/DirectAudioDevice.java Changeset: 9deace8396f9 Author: ptisnovs Date: 2010-12-22 14:37 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9deace8396f9 6560348: PIT : java/awt/xembed/server/RunTestXEmbed.java fails Summary: Testcase correction. Reviewed-by: anthony ! test/java/awt/xembed/server/TestXEmbedServer.java Changeset: 0d826185a92e Author: xuelei Date: 2010-12-22 06:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0d826185a92e 6996365: Evaluate the priorities of cipher suites Reviewed-by: wetmore ! src/share/classes/sun/security/ssl/CipherSuite.java Changeset: d4c2d2d72cfc Author: valeriep Date: 2010-12-22 18:30 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d4c2d2d72cfc 6581254: pkcs11 provider fails to parse configuration file contains windows short path Summary: Modified configuration parsing code to support "~". Reviewed-by: weijun ! src/share/classes/sun/security/pkcs11/Config.java + test/sun/security/pkcs11/Provider/ConfigShortPath.java + test/sun/security/pkcs11/Provider/csp.cfg Changeset: 6acd81baf2c7 Author: lana Date: 2010-12-22 23:12 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6acd81baf2c7 Merge - src/share/classes/java/dyn/BootstrapMethod.java - src/share/classes/java/dyn/LinkagePermission.java - src/share/classes/java/dyn/MethodHandleProvider.java ! src/share/classes/java/lang/Character.java ! src/share/classes/java/util/ListResourceBundle.java - src/share/classes/sun/dyn/JavaMethodHandle.java - src/share/native/sun/font/layout/HebrewLigatureData.cpp - src/share/native/sun/font/layout/HebrewShaping.cpp - src/share/native/sun/font/layout/HebrewShaping.h - test/java/dyn/JavaDocExamples.java Changeset: 5beec82bf20d Author: ksrini Date: 2010-12-23 13:51 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5beec82bf20d 7002386: (launcher) fix XshowSettings Reviewed-by: darcy, mchung, naoto ! src/share/bin/java.c ! src/share/classes/sun/launcher/LauncherHelper.java ! test/tools/launcher/Settings.java Changeset: 3c4afaacd345 Author: dcubed Date: 2010-12-23 23:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3c4afaacd345 7005984: 3/3 Incorrect values of S0C and S0CMX appear with -gcnewcapacity in jstat Summary: Swap S0C and S0CMX column values. Reviewed-by: ohair, dholmes, poonam ! src/share/classes/sun/tools/jstat/resources/jstat_options ! test/sun/tools/jstat/gcNewCapacityOutput1.awk Changeset: adff75ebdc00 Author: valeriep Date: 2010-12-22 19:19 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/adff75ebdc00 6924489: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_OPERATION_NOT_INITIALIZED Summary: Reset cipher state to un-initialized wherever necessary. Reviewed-by: weijun ! src/share/classes/sun/security/pkcs11/P11Cipher.java Changeset: 3254c3ae63fe Author: valeriep Date: 2010-12-27 11:39 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3254c3ae63fe Merge - src/share/classes/java/dyn/BootstrapMethod.java - src/share/classes/java/dyn/LinkagePermission.java - src/share/classes/java/dyn/MethodHandleProvider.java - src/share/classes/sun/dyn/JavaMethodHandle.java - src/share/native/sun/font/layout/HebrewLigatureData.cpp - src/share/native/sun/font/layout/HebrewShaping.cpp - src/share/native/sun/font/layout/HebrewShaping.h - test/java/dyn/JavaDocExamples.java Changeset: 6f2d19ef67b1 Author: alanb Date: 2011-01-04 17:49 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6f2d19ef67b1 7010192: InetAddress.isReachable hits ShouldNotReachHere with hs20-b04 (win) Reviewed-by: chegar ! src/windows/native/java/net/Inet4AddressImpl.c ! src/windows/native/java/net/Inet6AddressImpl.c Changeset: 4379c762ec50 Author: sherman Date: 2011-01-04 14:17 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4379c762ec50 7009618: regression test failed caused by the fix for 7003462 Summary: avoid caching the "ended" Inflater in ZipFile class Reviewed-by: alanb ! src/share/classes/java/util/zip/Inflater.java ! src/share/classes/java/util/zip/ZipFile.java + test/java/util/zip/ZipFile/FinalizeZipFile.java Changeset: 58aa8eadae5f Author: lana Date: 2011-01-04 17:05 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/58aa8eadae5f Merge - make/common/internal/BinaryPlugs.gmk ! src/share/classes/com/sun/java/util/jar/pack/AdaptiveCoding.java ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java ! src/share/classes/com/sun/java/util/jar/pack/Code.java ! src/share/classes/com/sun/java/util/jar/pack/Coding.java ! src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java ! src/share/classes/com/sun/java/util/jar/pack/Fixups.java ! src/share/classes/com/sun/java/util/jar/pack/Histogram.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java ! src/share/classes/java/io/FileOutputStream.java ! src/share/classes/java/lang/ProcessBuilder.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/util/AbstractList.java ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/ListResourceBundle.java ! src/share/classes/java/util/PriorityQueue.java ! src/share/classes/java/util/Properties.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/TreeSet.java ! src/share/classes/java/util/logging/LogRecord.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/sun/io/Converters.java ! src/share/classes/sun/tools/jstat/resources/jstat_options ! src/share/classes/sun/util/logging/PlatformLogger.java ! test/sun/security/krb5/auto/Context.java Changeset: d56c111ec6dc Author: jjg Date: 2011-01-06 14:32 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d56c111ec6dc 7010537: javah no longer depends on javadoc Reviewed-by: ohair ! make/common/shared/Defs-java.gmk Changeset: c4ec4f80f44e Author: lana Date: 2011-01-06 18:05 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c4ec4f80f44e Merge - test/javax/script/E4XErrorTest.java - test/sun/security/krb5/auto/basic.sh Changeset: 1513e13fae08 Author: lana Date: 2011-01-13 15:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1513e13fae08 Merge - test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.html - test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.java - test/javax/script/E4XErrorTest.java - test/javax/swing/SwingWorker/6480289/bug6480289.java - test/sun/security/krb5/auto/basic.sh Changeset: 8361ef97a0f9 Author: lana Date: 2011-01-14 13:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8361ef97a0f9 Merge Changeset: 29e09de1d0b4 Author: cl Date: 2011-01-20 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/29e09de1d0b4 Added tag jdk7-b126 for changeset 8361ef97a0f9 ! .hgtags From john.coomes at oracle.com Thu Jan 20 20:37:22 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 21 Jan 2011 04:37:22 +0000 Subject: hg: jdk7/hotspot-comp: 2 new changesets Message-ID: <20110121043722.F386F47001@hg.openjdk.java.net> Changeset: b566d4909056 Author: cl Date: 2011-01-13 16:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/b566d4909056 Added tag jdk7-b125 for changeset 5c4df7e99277 ! .hgtags Changeset: bd70f76b0309 Author: cl Date: 2011-01-20 15:51 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/bd70f76b0309 Added tag jdk7-b126 for changeset b566d4909056 ! .hgtags From igor.veresov at oracle.com Thu Jan 20 21:28:42 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 20 Jan 2011 21:28:42 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub Message-ID: <4D39198A.6010804@oracle.com> access_filed_patching and load_klass_patching stubs are using effectively a bp instruction to jump to deopt blob. This limits the distance between the deopt blob and these stub to 2^20, which is not enough. Since this situation could become possible also with a 32bit VM (the distance is only 1M), I decided to always use long jumps. Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ Thanks, igor From vladimir.kozlov at oracle.com Thu Jan 20 21:45:33 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 20 Jan 2011 21:45:33 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub In-Reply-To: <4D39198A.6010804@oracle.com> References: <4D39198A.6010804@oracle.com> Message-ID: <4D391D7D.3010405@oracle.com> Looks good. vladimir On 1/20/11 9:28 PM, Igor Veresov wrote: > access_filed_patching and load_klass_patching stubs are using effectively a bp instruction to jump to deopt blob. This > limits the distance between the deopt blob and these stub to 2^20, which is not enough. Since this situation could > become possible also with a 32bit VM (the distance is only 1M), I decided to always use long jumps. > > Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ > > Thanks, > igor > From igor.veresov at oracle.com Thu Jan 20 21:45:53 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 20 Jan 2011 21:45:53 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub In-Reply-To: <4D39198A.6010804@oracle.com> References: <4D39198A.6010804@oracle.com> Message-ID: <4D391D91.5090200@oracle.com> After a bit of a thought, I decided to leave the 32bit as it was. Webrev updated: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ igor On 1/20/11 9:28 PM, Igor Veresov wrote: > access_filed_patching and load_klass_patching stubs are using > effectively a bp instruction to jump to deopt blob. This limits the > distance between the deopt blob and these stub to 2^20, which is not > enough. Since this situation could become possible also with a 32bit VM > (the distance is only 1M), I decided to always use long jumps. > > Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ > > Thanks, > igor > From tom.rodriguez at oracle.com Thu Jan 20 22:00:05 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 20 Jan 2011 22:00:05 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub In-Reply-To: <4D391D91.5090200@oracle.com> References: <4D39198A.6010804@oracle.com> <4D391D91.5090200@oracle.com> Message-ID: <8A994E8A-BE93-4FBC-9C7D-CE1844253489@oracle.com> On Jan 20, 2011, at 9:45 PM, Igor Veresov wrote: > After a bit of a thought, I decided to leave the 32bit as it was. > Webrev updated: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ Can't G3 have live values in it? I think you might have to do: diff -r 5ae3e3b03224 src/cpu/sparc/vm/c1_Runtime1_sparc.cpp --- a/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp Thu Jan 13 07:28:47 2011 -0800 +++ b/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp Thu Jan 20 21:57:50 2011 -0800 @@ -343,9 +343,14 @@ // returned. restore_live_registers(sasm); - __ restore(); +#ifdef _LP64 + __ relocate(relocInfo::runtime_call_type); + AddressLiteral dest(deopt_blob->unpack_with_reexecution()); + __ jump_to(dest, O0); +#else __ br(Assembler::always, false, Assembler::pt, deopt_blob->unpack_with_reexecution(), relocInfo::runtime_call_type); - __ delayed()->nop(); +#endif + __ delayed()->restore(); __ bind(no_deopt); restore_live_registers(sasm); This is similar to what is done in generate_handle_exception for similar reasons. tom > > igor > > On 1/20/11 9:28 PM, Igor Veresov wrote: >> access_filed_patching and load_klass_patching stubs are using >> effectively a bp instruction to jump to deopt blob. This limits the >> distance between the deopt blob and these stub to 2^20, which is not >> enough. Since this situation could become possible also with a 32bit VM >> (the distance is only 1M), I decided to always use long jumps. >> >> Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >> >> Thanks, >> igor >> > > From tom.rodriguez at oracle.com Thu Jan 20 22:09:32 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 20 Jan 2011 22:09:32 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub In-Reply-To: <4D391D91.5090200@oracle.com> References: <4D39198A.6010804@oracle.com> <4D391D91.5090200@oracle.com> Message-ID: <3C476D4A-F5F6-43CC-BE2D-65586D3D3569@oracle.com> Actually, how does this happen? deopt blob and patching stubs are created pretty early so how could they be that far apart? The branch has a signed reach of 22 bits worth of words so it can reach +/- 8M. How could there be 8M between the deopt blob and the patching stub? tom On Jan 20, 2011, at 9:45 PM, Igor Veresov wrote: > After a bit of a thought, I decided to leave the 32bit as it was. > Webrev updated: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ > > igor > > On 1/20/11 9:28 PM, Igor Veresov wrote: >> access_filed_patching and load_klass_patching stubs are using >> effectively a bp instruction to jump to deopt blob. This limits the >> distance between the deopt blob and these stub to 2^20, which is not >> enough. Since this situation could become possible also with a 32bit VM >> (the distance is only 1M), I decided to always use long jumps. >> >> Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >> >> Thanks, >> igor >> > > From igor.veresov at oracle.com Thu Jan 20 22:15:33 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 20 Jan 2011 22:15:33 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub In-Reply-To: <3C476D4A-F5F6-43CC-BE2D-65586D3D3569@oracle.com> References: <4D39198A.6010804@oracle.com> <4D391D91.5090200@oracle.com> <3C476D4A-F5F6-43CC-BE2D-65586D3D3569@oracle.com> Message-ID: <4D392485.5050902@oracle.com> On 1/20/11 10:09 PM, Tom Rodriguez wrote: > Actually, how does this happen? deopt blob and patching stubs are created pretty early so how could they be that far apart? The branch has a signed reach of 22 bits worth of words so it can reach +/- 8M. How could there be 8M between the deopt blob and the patching stub? > For sparcv9 we generate "bp", which have a range of 2^19 of words, see MacroAssembler::br(). igor > tom > > On Jan 20, 2011, at 9:45 PM, Igor Veresov wrote: > >> After a bit of a thought, I decided to leave the 32bit as it was. >> Webrev updated: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >> >> igor >> >> On 1/20/11 9:28 PM, Igor Veresov wrote: >>> access_filed_patching and load_klass_patching stubs are using >>> effectively a bp instruction to jump to deopt blob. This limits the >>> distance between the deopt blob and these stub to 2^20, which is not >>> enough. Since this situation could become possible also with a 32bit VM >>> (the distance is only 1M), I decided to always use long jumps. >>> >>> Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>> >>> Thanks, >>> igor >>> >> >> > From igor.veresov at oracle.com Thu Jan 20 22:19:14 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 20 Jan 2011 22:19:14 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub In-Reply-To: <8A994E8A-BE93-4FBC-9C7D-CE1844253489@oracle.com> References: <4D39198A.6010804@oracle.com> <4D391D91.5090200@oracle.com> <8A994E8A-BE93-4FBC-9C7D-CE1844253489@oracle.com> Message-ID: <4D392562.6020502@oracle.com> On 1/20/11 10:00 PM, Tom Rodriguez wrote: > > On Jan 20, 2011, at 9:45 PM, Igor Veresov wrote: > >> After a bit of a thought, I decided to leave the 32bit as it was. >> Webrev updated: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ > > Can't G3 have live values in it? I think you might have to do: > > diff -r 5ae3e3b03224 src/cpu/sparc/vm/c1_Runtime1_sparc.cpp > --- a/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp Thu Jan 13 07:28:47 2011 -0800 > +++ b/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp Thu Jan 20 21:57:50 2011 -0800 > @@ -343,9 +343,14 @@ > // returned. > > restore_live_registers(sasm); > - __ restore(); > +#ifdef _LP64 > + __ relocate(relocInfo::runtime_call_type); > + AddressLiteral dest(deopt_blob->unpack_with_reexecution()); > + __ jump_to(dest, O0); > +#else > __ br(Assembler::always, false, Assembler::pt, deopt_blob->unpack_with_reexecution(), relocInfo::runtime_call_type); > - __ delayed()->nop(); > +#endif > + __ delayed()->restore(); > > __ bind(no_deopt); > restore_live_registers(sasm); > > This is similar to what is done in generate_handle_exception for similar reasons. Thanks, Tom, webrev updated. One, question. Will we ever have to do the relocation for this jump sequence? It will be currently matched as a far call by the relocation logic, for which we don't do anything. Another fix though, can be just to always generate true br, which should give enough range. igor > > tom > >> >> igor >> >> On 1/20/11 9:28 PM, Igor Veresov wrote: >>> access_filed_patching and load_klass_patching stubs are using >>> effectively a bp instruction to jump to deopt blob. This limits the >>> distance between the deopt blob and these stub to 2^20, which is not >>> enough. Since this situation could become possible also with a 32bit VM >>> (the distance is only 1M), I decided to always use long jumps. >>> >>> Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>> >>> Thanks, >>> igor >>> >> >> > From igor.veresov at oracle.com Thu Jan 20 22:28:08 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 20 Jan 2011 22:28:08 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub In-Reply-To: <4D392485.5050902@oracle.com> References: <4D39198A.6010804@oracle.com> <4D391D91.5090200@oracle.com> <3C476D4A-F5F6-43CC-BE2D-65586D3D3569@oracle.com> <4D392485.5050902@oracle.com> Message-ID: <4D392778.9090804@oracle.com> On 1/20/11 10:15 PM, Igor Veresov wrote: > On 1/20/11 10:09 PM, Tom Rodriguez wrote: >> Actually, how does this happen? deopt blob and patching stubs are >> created pretty early so how could they be that far apart? The branch >> has a signed reach of 22 bits worth of words so it can reach +/- 8M. >> How could there be 8M between the deopt blob and the patching stub? >> > > For sparcv9 we generate "bp", which have a range of 2^19 of words, see > MacroAssembler::br(). Actually I just understood the root cause: this all happened because we create a bunch of C1 threads, each of which allocate a code buffer for themselves and only after that the stub started to be generated. So, another fix could be to allocate buffers for each thread after initialization and allow only the initializing thread to allocate one buffer first. igor > > igor > >> tom >> >> On Jan 20, 2011, at 9:45 PM, Igor Veresov wrote: >> >>> After a bit of a thought, I decided to leave the 32bit as it was. >>> Webrev updated: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>> >>> igor >>> >>> On 1/20/11 9:28 PM, Igor Veresov wrote: >>>> access_filed_patching and load_klass_patching stubs are using >>>> effectively a bp instruction to jump to deopt blob. This limits the >>>> distance between the deopt blob and these stub to 2^20, which is not >>>> enough. Since this situation could become possible also with a 32bit VM >>>> (the distance is only 1M), I decided to always use long jumps. >>>> >>>> Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>>> >>>> Thanks, >>>> igor >>>> >>> >>> >> > From tom.rodriguez at oracle.com Thu Jan 20 22:39:38 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 20 Jan 2011 22:39:38 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub In-Reply-To: <4D392778.9090804@oracle.com> References: <4D39198A.6010804@oracle.com> <4D391D91.5090200@oracle.com> <3C476D4A-F5F6-43CC-BE2D-65586D3D3569@oracle.com> <4D392485.5050902@oracle.com> <4D392778.9090804@oracle.com> Message-ID: On Jan 20, 2011, at 10:28 PM, Igor Veresov wrote: > On 1/20/11 10:15 PM, Igor Veresov wrote: >> On 1/20/11 10:09 PM, Tom Rodriguez wrote: >>> Actually, how does this happen? deopt blob and patching stubs are >>> created pretty early so how could they be that far apart? The branch >>> has a signed reach of 22 bits worth of words so it can reach +/- 8M. >>> How could there be 8M between the deopt blob and the patching stub? >>> >> >> For sparcv9 we generate "bp", which have a range of 2^19 of words, see >> MacroAssembler::br(). > > Actually I just understood the root cause: this all happened because we create a bunch of C1 threads, each of which allocate a code buffer for themselves and only after that the stub started to be generated. So, another fix could be to allocate buffers for each thread after initialization and allow only the initializing thread to allocate one buffer first. That makes sense. I'd rather just make the code work reliably. Use the jump. It's not a performance critical path anyway so a few extra instructions for constant formation don't matter at all. tom > > igor > >> >> igor >> >>> tom >>> >>> On Jan 20, 2011, at 9:45 PM, Igor Veresov wrote: >>> >>>> After a bit of a thought, I decided to leave the 32bit as it was. >>>> Webrev updated: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>>> >>>> igor >>>> >>>> On 1/20/11 9:28 PM, Igor Veresov wrote: >>>>> access_filed_patching and load_klass_patching stubs are using >>>>> effectively a bp instruction to jump to deopt blob. This limits the >>>>> distance between the deopt blob and these stub to 2^20, which is not >>>>> enough. Since this situation could become possible also with a 32bit VM >>>>> (the distance is only 1M), I decided to always use long jumps. >>>>> >>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>>>> >>>>> Thanks, >>>>> igor >>>>> >>>> >>>> >>> >> > From tom.rodriguez at oracle.com Thu Jan 20 22:40:21 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 20 Jan 2011 22:40:21 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub In-Reply-To: <4D392562.6020502@oracle.com> References: <4D39198A.6010804@oracle.com> <4D391D91.5090200@oracle.com> <8A994E8A-BE93-4FBC-9C7D-CE1844253489@oracle.com> <4D392562.6020502@oracle.com> Message-ID: <854559BC-557B-4909-A1E2-04A568683EA3@oracle.com> >> This is similar to what is done in generate_handle_exception for similar reasons. > > Thanks, Tom, webrev updated. > One, question. Will we ever have to do the relocation for this jump sequence? It will be currently matched as a far call by the relocation logic, for which we don't do anything. For jumps we don't have to do anything since they are absolute addresses. We still put reloc on them for consistency. tom > > Another fix though, can be just to always generate true br, which should give enough range. > > igor > >> >> tom >> >>> >>> igor >>> >>> On 1/20/11 9:28 PM, Igor Veresov wrote: >>>> access_filed_patching and load_klass_patching stubs are using >>>> effectively a bp instruction to jump to deopt blob. This limits the >>>> distance between the deopt blob and these stub to 2^20, which is not >>>> enough. Since this situation could become possible also with a 32bit VM >>>> (the distance is only 1M), I decided to always use long jumps. >>>> >>>> Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>>> >>>> Thanks, >>>> igor >>>> >>> >>> >> > From igor.veresov at oracle.com Thu Jan 20 23:28:27 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 20 Jan 2011 23:28:27 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub In-Reply-To: References: <4D39198A.6010804@oracle.com> <4D391D91.5090200@oracle.com> <3C476D4A-F5F6-43CC-BE2D-65586D3D3569@oracle.com> <4D392485.5050902@oracle.com> <4D392778.9090804@oracle.com> Message-ID: <4D39359B.1020901@oracle.com> I agree, I also made sure C1 has only one buffer during initialization. Updated webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.01 igor On 1/20/11 10:39 PM, Tom Rodriguez wrote: > > On Jan 20, 2011, at 10:28 PM, Igor Veresov wrote: > >> On 1/20/11 10:15 PM, Igor Veresov wrote: >>> On 1/20/11 10:09 PM, Tom Rodriguez wrote: >>>> Actually, how does this happen? deopt blob and patching stubs are >>>> created pretty early so how could they be that far apart? The branch >>>> has a signed reach of 22 bits worth of words so it can reach +/- 8M. >>>> How could there be 8M between the deopt blob and the patching stub? >>>> >>> >>> For sparcv9 we generate "bp", which have a range of 2^19 of words, see >>> MacroAssembler::br(). >> >> Actually I just understood the root cause: this all happened because we create a bunch of C1 threads, each of which allocate a code buffer for themselves and only after that the stub started to be generated. So, another fix could be to allocate buffers for each thread after initialization and allow only the initializing thread to allocate one buffer first. > > That makes sense. I'd rather just make the code work reliably. Use the jump. It's not a performance critical path anyway so a few extra instructions for constant formation don't matter at all. > > tom > >> >> igor >> >>> >>> igor >>> >>>> tom >>>> >>>> On Jan 20, 2011, at 9:45 PM, Igor Veresov wrote: >>>> >>>>> After a bit of a thought, I decided to leave the 32bit as it was. >>>>> Webrev updated: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>>>> >>>>> igor >>>>> >>>>> On 1/20/11 9:28 PM, Igor Veresov wrote: >>>>>> access_filed_patching and load_klass_patching stubs are using >>>>>> effectively a bp instruction to jump to deopt blob. This limits the >>>>>> distance between the deopt blob and these stub to 2^20, which is not >>>>>> enough. Since this situation could become possible also with a 32bit VM >>>>>> (the distance is only 1M), I decided to always use long jumps. >>>>>> >>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>>>>> >>>>>> Thanks, >>>>>> igor >>>>>> >>>>> >>>>> >>>> >>> >> > From tom.rodriguez at oracle.com Thu Jan 20 23:30:39 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 20 Jan 2011 23:30:39 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub In-Reply-To: <4D39359B.1020901@oracle.com> References: <4D39198A.6010804@oracle.com> <4D391D91.5090200@oracle.com> <3C476D4A-F5F6-43CC-BE2D-65586D3D3569@oracle.com> <4D392485.5050902@oracle.com> <4D392778.9090804@oracle.com> <4D39359B.1020901@oracle.com> Message-ID: On Jan 20, 2011, at 11:28 PM, Igor Veresov wrote: > I agree, I also made sure C1 has only one buffer during initialization. The other jump_to's in there have left them out too so I think that's fine. Changing the initialization is probably fine too, but why do both? It seems like it creates more risk. tom > > Updated webrev: > > http://cr.openjdk.java.net/~iveresov/7013812/webrev.01 > > igor > > On 1/20/11 10:39 PM, Tom Rodriguez wrote: >> >> On Jan 20, 2011, at 10:28 PM, Igor Veresov wrote: >> >>> On 1/20/11 10:15 PM, Igor Veresov wrote: >>>> On 1/20/11 10:09 PM, Tom Rodriguez wrote: >>>>> Actually, how does this happen? deopt blob and patching stubs are >>>>> created pretty early so how could they be that far apart? The branch >>>>> has a signed reach of 22 bits worth of words so it can reach +/- 8M. >>>>> How could there be 8M between the deopt blob and the patching stub? >>>>> >>>> >>>> For sparcv9 we generate "bp", which have a range of 2^19 of words, see >>>> MacroAssembler::br(). >>> >>> Actually I just understood the root cause: this all happened because we create a bunch of C1 threads, each of which allocate a code buffer for themselves and only after that the stub started to be generated. So, another fix could be to allocate buffers for each thread after initialization and allow only the initializing thread to allocate one buffer first. >> >> That makes sense. I'd rather just make the code work reliably. Use the jump. It's not a performance critical path anyway so a few extra instructions for constant formation don't matter at all. >> >> tom >> >>> >>> igor >>> >>>> >>>> igor >>>> >>>>> tom >>>>> >>>>> On Jan 20, 2011, at 9:45 PM, Igor Veresov wrote: >>>>> >>>>>> After a bit of a thought, I decided to leave the 32bit as it was. >>>>>> Webrev updated: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>>>>> >>>>>> igor >>>>>> >>>>>> On 1/20/11 9:28 PM, Igor Veresov wrote: >>>>>>> access_filed_patching and load_klass_patching stubs are using >>>>>>> effectively a bp instruction to jump to deopt blob. This limits the >>>>>>> distance between the deopt blob and these stub to 2^20, which is not >>>>>>> enough. Since this situation could become possible also with a 32bit VM >>>>>>> (the distance is only 1M), I decided to always use long jumps. >>>>>>> >>>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>>>>>> >>>>>>> Thanks, >>>>>>> igor >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> > From igor.veresov at oracle.com Thu Jan 20 23:33:05 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 20 Jan 2011 23:33:05 -0800 Subject: Request for review(XS): 7013812: C1: deopt blob too far from patching stub In-Reply-To: References: <4D39198A.6010804@oracle.com> <4D391D91.5090200@oracle.com> <3C476D4A-F5F6-43CC-BE2D-65586D3D3569@oracle.com> <4D392485.5050902@oracle.com> <4D392778.9090804@oracle.com> <4D39359B.1020901@oracle.com> Message-ID: <4D3936B1.3060405@oracle.com> On 1/20/11 11:30 PM, Tom Rodriguez wrote: > > On Jan 20, 2011, at 11:28 PM, Igor Veresov wrote: > >> I agree, I also made sure C1 has only one buffer during initialization. > > The other jump_to's in there have left them out too so I think that's fine. Changing the initialization is probably fine too, but why do both? It seems like it creates more risk. > Yeah, you've probably right, I'll leave just the jumps. I was just thinking to reduce the risk in case we do something similar in other places. igor > tom > >> >> Updated webrev: >> >> http://cr.openjdk.java.net/~iveresov/7013812/webrev.01 >> >> igor >> >> On 1/20/11 10:39 PM, Tom Rodriguez wrote: >>> >>> On Jan 20, 2011, at 10:28 PM, Igor Veresov wrote: >>> >>>> On 1/20/11 10:15 PM, Igor Veresov wrote: >>>>> On 1/20/11 10:09 PM, Tom Rodriguez wrote: >>>>>> Actually, how does this happen? deopt blob and patching stubs are >>>>>> created pretty early so how could they be that far apart? The branch >>>>>> has a signed reach of 22 bits worth of words so it can reach +/- 8M. >>>>>> How could there be 8M between the deopt blob and the patching stub? >>>>>> >>>>> >>>>> For sparcv9 we generate "bp", which have a range of 2^19 of words, see >>>>> MacroAssembler::br(). >>>> >>>> Actually I just understood the root cause: this all happened because we create a bunch of C1 threads, each of which allocate a code buffer for themselves and only after that the stub started to be generated. So, another fix could be to allocate buffers for each thread after initialization and allow only the initializing thread to allocate one buffer first. >>> >>> That makes sense. I'd rather just make the code work reliably. Use the jump. It's not a performance critical path anyway so a few extra instructions for constant formation don't matter at all. >>> >>> tom >>> >>>> >>>> igor >>>> >>>>> >>>>> igor >>>>> >>>>>> tom >>>>>> >>>>>> On Jan 20, 2011, at 9:45 PM, Igor Veresov wrote: >>>>>> >>>>>>> After a bit of a thought, I decided to leave the 32bit as it was. >>>>>>> Webrev updated: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>>>>>> >>>>>>> igor >>>>>>> >>>>>>> On 1/20/11 9:28 PM, Igor Veresov wrote: >>>>>>>> access_filed_patching and load_klass_patching stubs are using >>>>>>>> effectively a bp instruction to jump to deopt blob. This limits the >>>>>>>> distance between the deopt blob and these stub to 2^20, which is not >>>>>>>> enough. Since this situation could become possible also with a 32bit VM >>>>>>>> (the distance is only 1M), I decided to always use long jumps. >>>>>>>> >>>>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/ >>>>>>>> >>>>>>>> Thanks, >>>>>>>> igor >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > From christian.thalinger at oracle.com Fri Jan 21 01:22:10 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 21 Jan 2011 10:22:10 +0100 Subject: review (M) for 6809483: hotspot:::method_entry are not correctly generated for "method()V" In-Reply-To: <4D9FE2B7-693C-47E8-8D9E-E77352A7C6CC@oracle.com> References: <4D38A676.1080002@oracle.com> <4D9FE2B7-693C-47E8-8D9E-E77352A7C6CC@oracle.com> Message-ID: On Jan 20, 2011, at 10:30 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/6809483 Looks good. -- Christian > > tom > > On Jan 20, 2011, at 1:17 PM, Igor Veresov wrote: > >> Tom, you forgot the link to the webrev... >> >> igor >> >> On 1/20/11 12:01 PM, Tom Rodriguez wrote: >>> 6809483: hotspot:::method_entry are not correctly generated for "method()V" >>> Reviewed-by: >>> >>> The support for ExtendedDTrace probes requires notification points at >>> the inline boundaries but that was missing so dtrace notifications >>> were missed for inlined things. I added a RuntimeCall instruction to >>> be used for these notifications and insert the proper ones during >>> parsing. Tested with failing test from report. From christian.thalinger at oracle.com Fri Jan 21 01:57:49 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 21 Jan 2011 10:57:49 +0100 Subject: review request (L): 7012650: implement JSR 292 EG adjustments through January 2010 In-Reply-To: <92C8F3EB-FEE6-4832-803F-FB2942696E19@oracle.com> References: <92C8F3EB-FEE6-4832-803F-FB2942696E19@oracle.com> Message-ID: <6B86B1C4-40FC-4166-9B3E-F1F78526F110@oracle.com> On Jan 20, 2011, at 8:59 PM, John Rose wrote: > These are the rest of the EG-requested changes for JSR 292: > http://cr.openjdk.java.net/~jrose/7012650/webrev.00/ > > After these changes, plus some renames, we will be ready for formal Public Review. > > (The two deprecated methods were going to be removed, but we ran into some minor technical problems, which we are working on.) Looks good. -- Christian From christian.thalinger at oracle.com Fri Jan 21 02:06:00 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 21 Jan 2011 11:06:00 +0100 Subject: review (S) for 7008809: should report the class in ArrayStoreExceptions from compiled code In-Reply-To: References: Message-ID: On Jan 20, 2011, at 10:56 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7008809 > > 7008809: should report the class in ArrayStoreExceptions from compiled code > Reviewed-by: > > The fix for 4826718 added the type of the object in > ArrayStoreException but didn't update C1 to report the same thing. > The fix is to simply pass the argument the same way it's done for > ClassCastException. Tested with failing test case. Looks good. -- Christian From Christian.Thalinger at Sun.COM Fri Jan 21 03:20:31 2011 From: Christian.Thalinger at Sun.COM (Christian.Thalinger at Sun.COM) Date: Fri, 21 Jan 2011 11:20:31 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 13 new changesets Message-ID: <20110121112057.97CCA47026@hg.openjdk.java.net> Changeset: 8012aa3ccede Author: never Date: 2011-01-13 22:15 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/8012aa3ccede 4926272: methodOopDesc::method_from_bcp is unsafe Reviewed-by: coleenp, jrose, kvn, dcubed ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/ci/ciMethodBlocks.cpp ! src/share/vm/ci/ciStreams.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/compiler/methodLiveness.cpp ! src/share/vm/interpreter/bytecode.cpp ! src/share/vm/interpreter/bytecode.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/bytecodeStream.cpp ! src/share/vm/interpreter/bytecodeStream.hpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/interpreter/bytecodes.cpp ! src/share/vm/interpreter/bytecodes.hpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/oops/methodDataOop.cpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/methodComparator.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/relocator.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/vframeArray.cpp Changeset: 17c778814856 Author: coleenp Date: 2011-01-14 13:47 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/17c778814856 6811367: Fix code in HeapDumper::dump_heap() to avoid buffer overrun Summary: Check buffer size before using and use dynamic buffer sizes for subsequent calls. Reviewed-by: kamg, dholmes ! src/share/vm/services/heapDumper.cpp Changeset: 633a44a9fc45 Author: dcubed Date: 2011-01-19 07:15 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/633a44a9fc45 Merge ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp Changeset: c1a0ede55d6f Author: dcubed Date: 2011-01-19 07:41 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/c1a0ede55d6f 7012493: 2/2 6849574/Test.java fails with Internal Error (src/share/vm/prims/jvmtiTagMap.cpp:3294) Summary: Refine assertion to work before VMThread has started. Reviewed-by: ysr, never, dholmes, acorn ! src/share/vm/prims/jvmtiTagMap.cpp Changeset: 2f33b03bd915 Author: never Date: 2011-01-19 08:16 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2f33b03bd915 7013008: 2/3 assert(method == NULL || check_method(method, bcp)) failed: bcp must point into method Summary: The Relocator should pass a NULL methodOop when rewriting since its resource array can never contain breakpoints. Reviewed-by: dcubed, kvn, coleenp ! src/share/vm/runtime/relocator.hpp Changeset: 9afee0b9fc1d Author: kamg Date: 2011-01-19 13:51 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/9afee0b9fc1d 7012505: BreakpointWithFullGC.sh fails with Internal Error (src/share/vm/oops/methodOop.cpp:220) Summary: Rebuild breakpoint cache at gc_epilogue instead of during oops_do Reviewed-by: dcubed, ysr, coleenp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiImpl.hpp ! src/share/vm/runtime/jniHandles.cpp Changeset: 02b6913287da Author: dcubed Date: 2011-01-19 19:24 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/02b6913287da Merge Changeset: 7e37af9d69ef Author: tonyp Date: 2011-01-19 09:35 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7e37af9d69ef 7011379: G1: overly long concurrent marking cycles Summary: This changeset introduces filtering of SATB buffers at the point when they are about to be enqueued. If this filtering clears enough entries on each buffer, the buffer can then be re-used and not enqueued. This cuts down the number of SATB buffers that need to be processed by the concurrent marking threads. Reviewed-by: johnc, ysr ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/gc_implementation/g1/satbQueue.cpp ! src/share/vm/gc_implementation/g1/satbQueue.hpp Changeset: 182e9624aa42 Author: johnc Date: 2011-01-19 13:01 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/182e9624aa42 7012642: G1: JumbleGC002 test aborts with segmentation violation due to uncaught stack overflow Summary: With recent G1 allocation path changes, the value of StackShadowPages in fast debug builds of the JVM, is no longer large enough to prevent the JVM C++ code from touching the stack guard pages. Increase the value of StackShadowPages to a suitable value. Reviewed-by: ysr, tonyp, coleenp ! src/cpu/x86/vm/globals_x86.hpp Changeset: cb913d743d09 Author: johnc Date: 2011-01-19 13:04 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/cb913d743d09 Merge Changeset: 0fa27f37d4d4 Author: tonyp Date: 2011-01-19 19:30 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/0fa27f37d4d4 6977804: G1: remove the zero-filling thread Summary: This changeset removes the zero-filling thread from G1 and collapses the two free region lists we had before (the "free" and "unclean" lists) into one. The new free list uses the new heap region sets / lists abstractions that we'll ultimately use it to keep track of all regions in the heap. A heap region set was also introduced for the humongous regions. Finally, this change increases the concurrency between the thread that completes freeing regions (after a cleanup pause) and the rest of the system (before we'd have to wait for said thread to complete before allocating a new region). The changest also includes a lot of refactoring and code simplification. Reviewed-by: jcoomes, johnc ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp - src/share/vm/gc_implementation/g1/concurrentZFThread.cpp - src/share/vm/gc_implementation/g1/concurrentZFThread.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp + src/share/vm/gc_implementation/g1/heapRegionSet.cpp + src/share/vm/gc_implementation/g1/heapRegionSet.hpp + src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp + src/share/vm/gc_implementation/g1/heapRegionSets.cpp + src/share/vm/gc_implementation/g1/heapRegionSets.hpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/utilities/debug.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 377371490991 Author: johnc Date: 2011-01-20 13:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/377371490991 Merge - src/share/vm/gc_implementation/g1/concurrentZFThread.cpp - src/share/vm/gc_implementation/g1/concurrentZFThread.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp Changeset: a7367756024b Author: twisti Date: 2011-01-21 01:16 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/a7367756024b Merge ! src/share/vm/ci/bcEscapeAnalyzer.cpp - src/share/vm/gc_implementation/g1/concurrentZFThread.cpp - src/share/vm/gc_implementation/g1/concurrentZFThread.hpp From john.r.rose at oracle.com Fri Jan 21 18:04:22 2011 From: john.r.rose at oracle.com (John Rose) Date: Fri, 21 Jan 2011 18:04:22 -0800 Subject: review request (L): 7013730: JSR 292 reflective operations should report errors with standard exception types Message-ID: <59CEA7BF-853C-4D11-9A31-CC2C784483C1@oracle.com> http://cr.openjdk.java.net/~jrose/7013730/webrev.00 7013730: JSR 292 reflective operations should report errors with standard exception types Summary: remove NoAccessException, replace it by ReflectiveOperationException subtypes There is a logic change in MemberName.java, to split NoAccessException out in into three cases: IllegalAccessException, NoSuchMethodException, NoSuchFieldException. This is documented in the javadoc for the class MethodHandles.Lookup. There are also relevant improvements to error message logic and unit tests. -- John From tom.rodriguez at oracle.com Fri Jan 21 19:25:26 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Sat, 22 Jan 2011 03:25:26 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 2 new changesets Message-ID: <20110122032535.7658A4705D@hg.openjdk.java.net> Changeset: 403dc4c1d7f5 Author: never Date: 2011-01-21 13:01 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/403dc4c1d7f5 6809483: hotspot:::method_entry are not correctly generated for "method()V" Reviewed-by: iveresov, twisti ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_Optimizer.cpp ! src/share/vm/c1/c1_ValueMap.hpp Changeset: aa4b04b68652 Author: never Date: 2011-01-21 13:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/aa4b04b68652 Merge ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp From john.r.rose at oracle.com Fri Jan 21 21:46:17 2011 From: john.r.rose at oracle.com (John Rose) Date: Fri, 21 Jan 2011 21:46:17 -0800 Subject: review request (L): 7012650: implement JSR 292 EG adjustments through January 2010 In-Reply-To: <4D38C0BC.9090708@univ-mlv.fr> References: <92C8F3EB-FEE6-4832-803F-FB2942696E19@oracle.com> <4D38C0BC.9090708@univ-mlv.fr> Message-ID: On Jan 20, 2011, at 3:09 PM, R?mi Forax wrote: > I wonder if it's not better to wait the introduction of lambda here. Yes, probably. I'll remove it. -- John From john.r.rose at oracle.com Fri Jan 21 22:07:00 2011 From: john.r.rose at oracle.com (John Rose) Date: Fri, 21 Jan 2011 22:07:00 -0800 Subject: review request (L): 7012650: implement JSR 292 EG adjustments through January 2010 In-Reply-To: <92C8F3EB-FEE6-4832-803F-FB2942696E19@oracle.com> References: <92C8F3EB-FEE6-4832-803F-FB2942696E19@oracle.com> Message-ID: Updated webrev, after comments from Christian and Yuri. (Thanks, guys.) http://cr.openjdk.java.net/~jrose/7012650/webrev.01/ Here's what is currently in the pipeline for JSR 292: 7013417: JSR 292 needs to support variadic method handle calls Summary: Implement MH.asVarargsCollector, etc., and remove withTypeHandler. 7012650: implement JSR 292 EG adjustments through January 2010 Summary: misc. EG changes and polishes (excluding 7013417) 7013730: JSR 292 reflective operations should report errors with standard exception types Summary: remove NoAccessException, replace it by ReflectiveOperationException subtypes 7012648: move JSR 292 to package java.lang.invoke and adjust names Summary: package and class renaming only; delete unused methods and classes; add @since tags; no code changes -- John On Jan 20, 2011, at 11:59 AM, John Rose wrote: > These are the rest of the EG-requested changes for JSR 292: > http://cr.openjdk.java.net/~jrose/7012650/webrev.00/ > > After these changes, plus some renames, we will be ready for formal Public Review. > > (The two deprecated methods were going to be removed, but we ran into some minor technical problems, which we are working on.) > > -- John From christian.thalinger at oracle.com Mon Jan 24 01:48:08 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 24 Jan 2011 10:48:08 +0100 Subject: review request (L): 7013730: JSR 292 reflective operations should report errors with standard exception types In-Reply-To: <59CEA7BF-853C-4D11-9A31-CC2C784483C1@oracle.com> References: <59CEA7BF-853C-4D11-9A31-CC2C784483C1@oracle.com> Message-ID: <4A6B30A8-D55F-4710-96AB-AA5434D6E1DE@oracle.com> On Jan 22, 2011, at 3:04 AM, John Rose wrote: > http://cr.openjdk.java.net/~jrose/7013730/webrev.00 > > 7013730: JSR 292 reflective operations should report errors with standard exception types > Summary: remove NoAccessException, replace it by ReflectiveOperationException subtypes > > There is a logic change in MemberName.java, to split NoAccessException out in > into three cases: IllegalAccessException, NoSuchMethodException, NoSuchFieldException. > This is documented in the javadoc for the class MethodHandles.Lookup. > > There are also relevant improvements to error message logic and unit tests. Looks good. -- Christian From christian.thalinger at oracle.com Mon Jan 24 02:21:24 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 24 Jan 2011 11:21:24 +0100 Subject: review request (L): 7012650: implement JSR 292 EG adjustments through January 2010 In-Reply-To: References: <92C8F3EB-FEE6-4832-803F-FB2942696E19@oracle.com> Message-ID: On Jan 22, 2011, at 7:07 AM, John Rose wrote: > Updated webrev, after comments from Christian and Yuri. (Thanks, guys.) > http://cr.openjdk.java.net/~jrose/7012650/webrev.01/ Looks good too. -- Christian From tom.rodriguez at oracle.com Mon Jan 24 16:02:38 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Tue, 25 Jan 2011 00:02:38 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7008809: should report the class in ArrayStoreExceptions from compiled code Message-ID: <20110125000239.EC2B2470FD@hg.openjdk.java.net> Changeset: e4fee0bdaa85 Author: never Date: 2011-01-24 13:34 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e4fee0bdaa85 7008809: should report the class in ArrayStoreExceptions from compiled code Reviewed-by: iveresov, twisti ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/c1/c1_Runtime1.hpp From igor.veresov at oracle.com Tue Jan 25 11:53:21 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 25 Jan 2011 11:53:21 -0800 Subject: Request for review(XS): 7014247: CTW fails when compile sun/misc/AtomicLongCSImpl (REMOVED from JDK7) Message-ID: <4D3F2A31.2010501@oracle.com> CTW fails with assertion when trying to emit LIR for AtomicLongCSImpl::attemptUpdate() because it uses arithmetic to compute a field address. This fix changes it to use lea. Webrev: http://cr.openjdk.java.net/~iveresov/7014247/webrev.00/ Thanks, igor From tom.rodriguez at oracle.com Tue Jan 25 12:02:00 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 25 Jan 2011 12:02:00 -0800 Subject: Request for review(XS): 7014247: CTW fails when compile sun/misc/AtomicLongCSImpl (REMOVED from JDK7) In-Reply-To: <4D3F2A31.2010501@oracle.com> References: <4D3F2A31.2010501@oracle.com> Message-ID: <0577171F-C534-4D3F-9D75-522AA6A04587@oracle.com> Wow, that's been broken forever. Looks good. tom On Jan 25, 2011, at 11:53 AM, Igor Veresov wrote: > CTW fails with assertion when trying to emit LIR for AtomicLongCSImpl::attemptUpdate() because it uses arithmetic to compute a field address. This fix changes it to use lea. > > Webrev: http://cr.openjdk.java.net/~iveresov/7014247/webrev.00/ > > Thanks, > igor From igor.veresov at oracle.com Tue Jan 25 14:17:12 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 25 Jan 2011 14:17:12 -0800 Subject: Request for review(XS): 7014247: CTW fails when compile sun/misc/AtomicLongCSImpl (REMOVED from JDK7) In-Reply-To: <0577171F-C534-4D3F-9D75-522AA6A04587@oracle.com> References: <4D3F2A31.2010501@oracle.com> <0577171F-C534-4D3F-9D75-522AA6A04587@oracle.com> Message-ID: <4D3F4BE8.9060003@oracle.com> Thanks Tom and Vladmir! On 1/25/11 12:02 PM, Tom Rodriguez wrote: > Wow, that's been broken forever. Looks good. > > tom > > On Jan 25, 2011, at 11:53 AM, Igor Veresov wrote: > >> CTW fails with assertion when trying to emit LIR for AtomicLongCSImpl::attemptUpdate() because it uses arithmetic to compute a field address. This fix changes it to use lea. >> >> Webrev: http://cr.openjdk.java.net/~iveresov/7014247/webrev.00/ >> >> Thanks, >> igor > From igor.veresov at oracle.com Tue Jan 25 17:38:50 2011 From: igor.veresov at oracle.com (igor.veresov at oracle.com) Date: Wed, 26 Jan 2011 01:38:50 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7014247: CTW fails when compile sun/misc/AtomicLongCSImpl (REMOVED from JDK7) Message-ID: <20110126013853.2593F4714D@hg.openjdk.java.net> Changeset: f966c66b5463 Author: iveresov Date: 2011-01-25 14:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f966c66b5463 7014247: CTW fails when compile sun/misc/AtomicLongCSImpl (REMOVED from JDK7) Summary: Use lea to compute field address in AtomicLongCSImpl::attemptUpdate() intrinsic on x86. Reviewed-by: never, kvn ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp From vladimir.kozlov at oracle.com Thu Jan 27 14:18:05 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 27 Jan 2011 14:18:05 -0800 Subject: Request for reviews (S): 7014874: Incorrect COOPs modes on solaris-{sparcv9, amd64} with ParallelGC Message-ID: <4D41EF1D.502@oracle.com> http://cr.openjdk.java.net/~kvn/7014874/webrev Fixed 7014874: Incorrect COOPs modes on solaris-{sparcv9,amd64} with ParallelGC scale_by_NewRatio_aligned() aligns boundary between old and young gens to min_alignment() (64K). But code in ParallelScavengeHeap::initialize() aligns up both old and young gen sizes to large page size. As result total heap size could be increased by one large page and cross 4gb boundary preventing usage of 32-bit COOPs. Align old gen size down to keep specified heap size but not less than its old gen min size. From y.s.ramakrishna at oracle.com Thu Jan 27 14:36:50 2011 From: y.s.ramakrishna at oracle.com (Y. S. Ramakrishna) Date: Thu, 27 Jan 2011 14:36:50 -0800 Subject: Request for reviews (S): 7014874: Incorrect COOPs modes on solaris-{sparcv9, amd64} with ParallelGC In-Reply-To: <4D41EF1D.502@oracle.com> References: <4D41EF1D.502@oracle.com> Message-ID: <4D41F382.8060006@oracle.com> I don't understand the logic of the patch. Or rather, i do, but i question if it is complete: why didn't you also align the max size of YG and PG down in like manner? I think you should or you would be open to the same issues, no? In fact, it seems as though, as a matter of uniform policy, all min's should align upwards and all max's align downwards wherever (page-)alignment is sought. -- ramki On 01/27/11 14:18, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7014874/webrev > > Fixed 7014874: Incorrect COOPs modes on solaris-{sparcv9,amd64} with > ParallelGC > > scale_by_NewRatio_aligned() aligns boundary between old > and young gens to min_alignment() (64K). But code in > ParallelScavengeHeap::initialize() aligns up both old and > young gen sizes to large page size. > As result total heap size could be increased by one large > page and cross 4gb boundary preventing usage of 32-bit COOPs. > > Align old gen size down to keep specified heap size but > not less than its old gen min size. From vladimir.kozlov at oracle.com Thu Jan 27 14:49:34 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 27 Jan 2011 14:49:34 -0800 Subject: Request for reviews (S): 7014874: Incorrect COOPs modes on solaris-{sparcv9, amd64} with ParallelGC In-Reply-To: <4D41F382.8060006@oracle.com> References: <4D41EF1D.502@oracle.com> <4D41F382.8060006@oracle.com> Message-ID: <4D41F67E.9060006@oracle.com> Before rounding YG+OG == total heap size. To keep the same total size I need to round one size up and the other down. I still may not preserver the same total size if it is not rounded to the same or large alignment. But it is fine. I already fixed PG rounding before in 6984368 changes: src/share/vm/memory/collectorPolicy.cpp Tue Sep 14 17:19:35 2010 -0700 @@ -32,7 +32,11 @@ MaxPermSize = PermSize; } PermSize = MAX2(min_alignment(), align_size_down_(PermSize, min_alignment())); - MaxPermSize = align_size_up(MaxPermSize, max_alignment()); + // Don't increase Perm size limit above specified. + MaxPermSize = align_size_down(MaxPermSize, max_alignment()); + if (PermSize > MaxPermSize) { + PermSize = MaxPermSize; + } Vladimir Y. S. Ramakrishna wrote: > I don't understand the logic of the patch. Or rather, i do, > but i question if it is complete: why didn't you also align > the max size of YG and PG down in like manner? I think you > should or you would be open to the same issues, no? > > In fact, it seems as though, as a matter of uniform policy, all min's > should align upwards and all max's align downwards wherever > (page-)alignment > is sought. > > -- ramki > > > On 01/27/11 14:18, Vladimir Kozlov wrote: >> http://cr.openjdk.java.net/~kvn/7014874/webrev >> >> Fixed 7014874: Incorrect COOPs modes on solaris-{sparcv9,amd64} with >> ParallelGC >> >> scale_by_NewRatio_aligned() aligns boundary between old >> and young gens to min_alignment() (64K). But code in >> ParallelScavengeHeap::initialize() aligns up both old and >> young gen sizes to large page size. >> As result total heap size could be increased by one large >> page and cross 4gb boundary preventing usage of 32-bit COOPs. >> >> Align old gen size down to keep specified heap size but >> not less than its old gen min size. From y.s.ramakrishna at oracle.com Thu Jan 27 14:59:23 2011 From: y.s.ramakrishna at oracle.com (Y. S. Ramakrishna) Date: Thu, 27 Jan 2011 14:59:23 -0800 Subject: Request for reviews (S): 7014874: Incorrect COOPs modes on solaris-{sparcv9, amd64} with ParallelGC In-Reply-To: <4D41F67E.9060006@oracle.com> References: <4D41EF1D.502@oracle.com> <4D41F382.8060006@oracle.com> <4D41F67E.9060006@oracle.com> Message-ID: <4D41F8CB.5080107@oracle.com> May be you need a "partition_aligned()" method that takes an aligned whole and produces aligned partitions thereof given a desired_partitioning request. It would seem as though similar logic would need to apply to other kinds of heaps... or do they do the right thing already? OK, i suppose i should go look, since i am supposed to be reviewing, not interviewing ;-) -- ramki On 01/27/11 14:49, Vladimir Kozlov wrote: > Before rounding YG+OG == total heap size. To keep the same > total size I need to round one size up and the other down. > I still may not preserver the same total size if it is not > rounded to the same or large alignment. But it is fine. > > I already fixed PG rounding before in 6984368 changes: > > src/share/vm/memory/collectorPolicy.cpp Tue Sep 14 17:19:35 2010 -0700 > @@ -32,7 +32,11 @@ > MaxPermSize = PermSize; > } > PermSize = MAX2(min_alignment(), align_size_down_(PermSize, > min_alignment())); > - MaxPermSize = align_size_up(MaxPermSize, max_alignment()); > + // Don't increase Perm size limit above specified. > + MaxPermSize = align_size_down(MaxPermSize, max_alignment()); > + if (PermSize > MaxPermSize) { > + PermSize = MaxPermSize; > + } > > Vladimir > > Y. S. Ramakrishna wrote: >> I don't understand the logic of the patch. Or rather, i do, >> but i question if it is complete: why didn't you also align >> the max size of YG and PG down in like manner? I think you >> should or you would be open to the same issues, no? >> >> In fact, it seems as though, as a matter of uniform policy, all min's >> should align upwards and all max's align downwards wherever >> (page-)alignment >> is sought. >> >> -- ramki >> >> >> On 01/27/11 14:18, Vladimir Kozlov wrote: >>> http://cr.openjdk.java.net/~kvn/7014874/webrev >>> >>> Fixed 7014874: Incorrect COOPs modes on solaris-{sparcv9,amd64} with >>> ParallelGC >>> >>> scale_by_NewRatio_aligned() aligns boundary between old >>> and young gens to min_alignment() (64K). But code in >>> ParallelScavengeHeap::initialize() aligns up both old and >>> young gen sizes to large page size. >>> As result total heap size could be increased by one large >>> page and cross 4gb boundary preventing usage of 32-bit COOPs. >>> >>> Align old gen size down to keep specified heap size but >>> not less than its old gen min size. From vladimir.kozlov at oracle.com Thu Jan 27 15:10:04 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 27 Jan 2011 15:10:04 -0800 Subject: Request for reviews (S): 7014874: Incorrect COOPs modes on solaris-{sparcv9, amd64} with ParallelGC In-Reply-To: <4D41F8CB.5080107@oracle.com> References: <4D41EF1D.502@oracle.com> <4D41F382.8060006@oracle.com> <4D41F67E.9060006@oracle.com> <4D41F8CB.5080107@oracle.com> Message-ID: <4D41FB4C.2040304@oracle.com> As Igor explained me only Parallel GC requires boundary page size alignment due to UseAdaptiveGCBoundary feature. Vladimir Y. S. Ramakrishna wrote: > May be you need a "partition_aligned()" method that > takes an aligned whole and produces aligned partitions > thereof given a desired_partitioning request. It would > seem as though similar logic would need to apply to > other kinds of heaps... or do they do the right thing > already? OK, i suppose i should go look, since i am > supposed to be reviewing, not interviewing ;-) > > -- ramki > > On 01/27/11 14:49, Vladimir Kozlov wrote: >> Before rounding YG+OG == total heap size. To keep the same >> total size I need to round one size up and the other down. >> I still may not preserver the same total size if it is not >> rounded to the same or large alignment. But it is fine. >> >> I already fixed PG rounding before in 6984368 changes: >> >> src/share/vm/memory/collectorPolicy.cpp Tue Sep 14 17:19:35 2010 -0700 >> @@ -32,7 +32,11 @@ >> MaxPermSize = PermSize; >> } >> PermSize = MAX2(min_alignment(), align_size_down_(PermSize, >> min_alignment())); >> - MaxPermSize = align_size_up(MaxPermSize, max_alignment()); >> + // Don't increase Perm size limit above specified. >> + MaxPermSize = align_size_down(MaxPermSize, max_alignment()); >> + if (PermSize > MaxPermSize) { >> + PermSize = MaxPermSize; >> + } >> >> Vladimir >> >> Y. S. Ramakrishna wrote: >>> I don't understand the logic of the patch. Or rather, i do, >>> but i question if it is complete: why didn't you also align >>> the max size of YG and PG down in like manner? I think you >>> should or you would be open to the same issues, no? >>> >>> In fact, it seems as though, as a matter of uniform policy, all min's >>> should align upwards and all max's align downwards wherever >>> (page-)alignment >>> is sought. >>> >>> -- ramki >>> >>> >>> On 01/27/11 14:18, Vladimir Kozlov wrote: >>>> http://cr.openjdk.java.net/~kvn/7014874/webrev >>>> >>>> Fixed 7014874: Incorrect COOPs modes on solaris-{sparcv9,amd64} with >>>> ParallelGC >>>> >>>> scale_by_NewRatio_aligned() aligns boundary between old >>>> and young gens to min_alignment() (64K). But code in >>>> ParallelScavengeHeap::initialize() aligns up both old and >>>> young gen sizes to large page size. >>>> As result total heap size could be increased by one large >>>> page and cross 4gb boundary preventing usage of 32-bit COOPs. >>>> >>>> Align old gen size down to keep specified heap size but >>>> not less than its old gen min size. From john.coomes at oracle.com Thu Jan 27 20:43:10 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Jan 2011 04:43:10 +0000 Subject: hg: jdk7/hotspot-comp: Added tag jdk7-b127 for changeset bd70f76b0309 Message-ID: <20110128044310.BA165471F6@hg.openjdk.java.net> Changeset: 6e0f4d6099bb Author: cl Date: 2011-01-27 17:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/6e0f4d6099bb Added tag jdk7-b127 for changeset bd70f76b0309 ! .hgtags From john.coomes at oracle.com Thu Jan 27 20:43:17 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Jan 2011 04:43:17 +0000 Subject: hg: jdk7/hotspot-comp/corba: Added tag jdk7-b127 for changeset 64775e83f4df Message-ID: <20110128044320.56495471F7@hg.openjdk.java.net> Changeset: 9baa8f94a11d Author: cl Date: 2011-01-27 17:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/9baa8f94a11d Added tag jdk7-b127 for changeset 64775e83f4df ! .hgtags From john.coomes at oracle.com Thu Jan 27 20:43:26 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Jan 2011 04:43:26 +0000 Subject: hg: jdk7/hotspot-comp/jaxp: Added tag jdk7-b127 for changeset c532d6dbc8d1 Message-ID: <20110128044327.21837471F8@hg.openjdk.java.net> Changeset: a42c6132c746 Author: cl Date: 2011-01-27 17:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/a42c6132c746 Added tag jdk7-b127 for changeset c532d6dbc8d1 ! .hgtags From john.coomes at oracle.com Thu Jan 27 20:43:33 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Jan 2011 04:43:33 +0000 Subject: hg: jdk7/hotspot-comp/jaxws: Added tag jdk7-b127 for changeset ef19f173578c Message-ID: <20110128044333.A692F471F9@hg.openjdk.java.net> Changeset: 88d74afc5593 Author: cl Date: 2011-01-27 17:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/88d74afc5593 Added tag jdk7-b127 for changeset ef19f173578c ! .hgtags From john.coomes at oracle.com Thu Jan 27 20:43:42 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Jan 2011 04:43:42 +0000 Subject: hg: jdk7/hotspot-comp/jdk: Added tag jdk7-b127 for changeset 29e09de1d0b4 Message-ID: <20110128044427.3DDC8471FA@hg.openjdk.java.net> Changeset: 66c86ca4079a Author: cl Date: 2011-01-27 17:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/66c86ca4079a Added tag jdk7-b127 for changeset 29e09de1d0b4 ! .hgtags From john.coomes at oracle.com Thu Jan 27 20:44:39 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Jan 2011 04:44:39 +0000 Subject: hg: jdk7/hotspot-comp/langtools: 15 new changesets Message-ID: <20110128044512.559AE471FB@hg.openjdk.java.net> Changeset: 62bdb6767734 Author: cl Date: 2011-01-13 16:44 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/62bdb6767734 Added tag jdk7-b125 for changeset 4b0560c72b52 ! .hgtags Changeset: a8d3eed8e247 Author: jjh Date: 2010-12-13 17:35 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/a8d3eed8e247 6999460: Glassfish build with JDK 6 / 7 is 5x-10x slower on Windows than on Linux Summary: Fixed JavacFileManager to not treat a non-existant pathname as a directory. Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/share/classes/com/sun/tools/javac/file/Paths.java Changeset: 0141f508b98d Author: jjg Date: 2010-12-14 14:17 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/0141f508b98d 6999891: DefaultFileManager incorrect Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java + test/tools/javac/processing/filer/TestValidRelativeNames.java Changeset: cff0b8694633 Author: jjg Date: 2010-12-15 06:39 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/cff0b8694633 7006564: NPE in javac running test/tools/javac/nio/compileTest/CompileTest.java Reviewed-by: mcimadamore, alanb ! src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java ! test/tools/javac/nio/compileTest/CompileTest.java Changeset: 3131e664558d Author: ksrini Date: 2010-12-18 09:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/3131e664558d 6567415: Neverending loop in ClassReader Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java + test/tools/javac/6567415/T6567415.java Changeset: 7c33098600b2 Author: jjh Date: 2010-12-21 16:29 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/7c33098600b2 7008378: javac bootstrap launcher fails on cygwin when called via an absolute path Summary: Use cygpath if it is cygwin Reviewed-by: ksrini ! make/Makefile ! make/build.xml ! src/share/bin/launcher.sh-template Changeset: 8859e49909e6 Author: lana Date: 2010-12-22 23:15 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/8859e49909e6 Merge Changeset: dd38bab326a3 Author: jjh Date: 2010-12-23 10:08 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/dd38bab326a3 7008869: Debug printlns accidentally added to make/build.xml Summary: Delete bogus echo statements Reviewed-by: ksrini ! make/build.xml Changeset: e8719f95f2d0 Author: jjh Date: 2010-12-23 12:29 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/e8719f95f2d0 6982992: Tests CheckAttributedTree.java, JavacTreeScannerTest.java, and SourceTreeeScannerTest.java timeout Summary: Hoist some invariant code out of a loop Reviewed-by: ksrini ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/tree/AbstractTreeScannerTest.java ! test/tools/javac/tree/TreePosTest.java Changeset: e63b1f8341ce Author: lana Date: 2011-01-04 17:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/e63b1f8341ce Merge ! make/Makefile ! src/share/classes/com/sun/tools/javac/file/Paths.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java ! test/tools/javac/nio/compileTest/CompileTest.java Changeset: 15484cb7e5ae Author: mcimadamore Date: 2011-01-05 09:59 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/15484cb7e5ae 7010194: several langtools regression failures after JSR 292 changes (b123) Summary: Some regression tests rely on unsupported JSR 292 features Reviewed-by: jjg ! test/tools/javac/diags/examples/TypeParameterOnPolymorphicSignature.java - test/tools/javac/meth/InvokeDyn.java - test/tools/javac/meth/InvokeDynTrans.java ! test/tools/javac/meth/XlintWarn.java Changeset: 20fec1b88bc1 Author: lana Date: 2011-01-13 15:05 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/20fec1b88bc1 Merge - test/tools/javac/meth/InvokeDyn.java - test/tools/javac/meth/InvokeDynTrans.java Changeset: 438a8ad60f7a Author: lana Date: 2011-01-14 13:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/438a8ad60f7a Merge Changeset: 1e6094c33187 Author: cl Date: 2011-01-20 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/1e6094c33187 Added tag jdk7-b126 for changeset 438a8ad60f7a ! .hgtags Changeset: d79e283c7d9b Author: cl Date: 2011-01-27 17:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/d79e283c7d9b Added tag jdk7-b127 for changeset 1e6094c33187 ! .hgtags From daniel.daugherty at oracle.com Fri Jan 28 00:23:51 2011 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Fri, 28 Jan 2011 08:23:51 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 16 new changesets Message-ID: <20110128082426.2D50047211@hg.openjdk.java.net> Changeset: 85330eaa15ee Author: iveresov Date: 2011-01-21 00:01 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/85330eaa15ee 7013812: C1: deopt blob too far from patching stub Summary: Use long jumps to get from patching stubs to deopt blob Reviewed-by: kvn, never ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp Changeset: 102466e70deb Author: cl Date: 2011-01-20 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/102466e70deb Added tag jdk7-b126 for changeset 4c851c931d00 ! .hgtags Changeset: 5668ad215b80 Author: trims Date: 2011-01-20 17:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/5668ad215b80 Merge ! .hgtags Changeset: 98bf1c6bb73a Author: trims Date: 2011-01-20 18:24 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/98bf1c6bb73a Merge Changeset: d535bf4c1235 Author: trims Date: 2011-01-21 02:07 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/d535bf4c1235 Merge Changeset: 6aa467001334 Author: trims Date: 2011-01-25 14:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/6aa467001334 Added tag hs20-b07 for changeset d535bf4c1235 ! .hgtags Changeset: d19d8218a399 Author: trims Date: 2011-01-25 15:06 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/d19d8218a399 7014711: Fork HS20 to HS21 - renumber Major and build numbers of JVM Summary: Update the Major and Build numbers for HS21 Reviewed-by: jcoomes ! make/hotspot_version Changeset: ccfcb502af3f Author: dholmes Date: 2011-01-25 00:14 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/ccfcb502af3f 6566340: Restore use of stillborn flag to signify a thread that was stopped before it started Summary: Restore use of stillborn flag Reviewed-by: acorn, alanb ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/thread.cpp Changeset: 515cc1a31fd1 Author: dcubed Date: 2011-01-26 21:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/515cc1a31fd1 Merge Changeset: 635b068a7224 Author: twisti Date: 2011-01-27 08:47 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/635b068a7224 Merge ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp Changeset: 9846d99e16d3 Author: twisti Date: 2011-01-27 14:05 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/9846d99e16d3 Merge Changeset: a672e43650cc Author: tonyp Date: 2011-01-21 11:30 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/a672e43650cc 7013718: G1: small fixes for two assert/guarantee failures Summary: Two small fixes to deal with a guarantee failure (the marking thread should join the SuspendibleThreadSet before calling a method that does pause prediction work so that said method is never called during a pause) and an assert failure (an assert is too strong). Reviewed-by: iveresov, johnc ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp Changeset: 97ba643ea3ed Author: tonyp Date: 2011-01-25 17:58 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/97ba643ea3ed 7014261: G1: RSet-related failures Summary: A race between the concurrent cleanup thread and the VM thread while it is processing the "expanded sparse table list" causes both threads to try to free the same sparse table entry and either causes one of the threads to fail or leaves the entry in an inconsistent state. The solution is purge all entries on the expanded list that correspond go regions that are being cleaned up. Reviewed-by: brutisso, johnc ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.cpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp Changeset: 234761c55641 Author: johnc Date: 2011-01-25 10:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/234761c55641 6608385: G1: need to support parallel reference processing Summary: Implement support for ParallelRefProcEnabled in the reference processing that takes place at the end of G1 concurrent marking. Reviewed-by: tonyp, ysr ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 81668b1f4877 Author: johnc Date: 2011-01-26 09:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/81668b1f4877 Merge ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: 27e4ea99855d Author: johnc Date: 2011-01-27 13:42 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/27e4ea99855d Merge ! src/share/vm/runtime/arguments.cpp From y.s.ramakrishna at oracle.com Fri Jan 28 09:16:05 2011 From: y.s.ramakrishna at oracle.com (Y. Srinivas Ramakrishna) Date: Fri, 28 Jan 2011 09:16:05 -0800 Subject: Request for reviews (S): 7014874: Incorrect COOPs modes on solaris-{sparcv9, amd64} with ParallelGC In-Reply-To: <4D41FB4C.2040304@oracle.com> References: <4D41EF1D.502@oracle.com> <4D41F382.8060006@oracle.com> <4D41F67E.9060006@oracle.com> <4D41F8CB.5080107@oracle.com> <4D41FB4C.2040304@oracle.com> Message-ID: <4D42F9D5.6060003@oracle.com> Hi Vladimir -- On 1/27/2011 3:10 PM, Vladimir Kozlov wrote: > As Igor explained me only Parallel GC requires boundary > page size alignment due to UseAdaptiveGCBoundary feature. Hmm, I do see a lot of "align_size_up()" done on max_size specs in CollectedHeap::initialize_size_info() and friends, as well as in GenerationSpec::align(). I didn't follow the logic through to see if that will or will not affect the whole heap sizing behaviour wrt the issue reported in the CR. The bug report states the anomalous behaviour with ParallelScavenge heaps, Have you tested G1CollectedHeap and GenCollectedHeap to see if they do the right thing? thanks. -- ramki > > Vladimir > > Y. S. Ramakrishna wrote: >> May be you need a "partition_aligned()" method that >> takes an aligned whole and produces aligned partitions >> thereof given a desired_partitioning request. It would >> seem as though similar logic would need to apply to >> other kinds of heaps... or do they do the right thing >> already? OK, i suppose i should go look, since i am >> supposed to be reviewing, not interviewing ;-) >> >> -- ramki >> >> On 01/27/11 14:49, Vladimir Kozlov wrote: >>> Before rounding YG+OG == total heap size. To keep the same >>> total size I need to round one size up and the other down. >>> I still may not preserver the same total size if it is not >>> rounded to the same or large alignment. But it is fine. >>> >>> I already fixed PG rounding before in 6984368 changes: >>> >>> src/share/vm/memory/collectorPolicy.cpp Tue Sep 14 17:19:35 2010 -0700 >>> @@ -32,7 +32,11 @@ >>> MaxPermSize = PermSize; >>> } >>> PermSize = MAX2(min_alignment(), align_size_down_(PermSize, min_alignment())); >>> - MaxPermSize = align_size_up(MaxPermSize, max_alignment()); >>> + // Don't increase Perm size limit above specified. >>> + MaxPermSize = align_size_down(MaxPermSize, max_alignment()); >>> + if (PermSize > MaxPermSize) { >>> + PermSize = MaxPermSize; >>> + } >>> >>> Vladimir >>> >>> Y. S. Ramakrishna wrote: >>>> I don't understand the logic of the patch. Or rather, i do, >>>> but i question if it is complete: why didn't you also align >>>> the max size of YG and PG down in like manner? I think you >>>> should or you would be open to the same issues, no? >>>> >>>> In fact, it seems as though, as a matter of uniform policy, all min's >>>> should align upwards and all max's align downwards wherever (page-)alignment >>>> is sought. >>>> >>>> -- ramki >>>> >>>> >>>> On 01/27/11 14:18, Vladimir Kozlov wrote: >>>>> http://cr.openjdk.java.net/~kvn/7014874/webrev >>>>> >>>>> Fixed 7014874: Incorrect COOPs modes on solaris-{sparcv9,amd64} with ParallelGC >>>>> >>>>> scale_by_NewRatio_aligned() aligns boundary between old >>>>> and young gens to min_alignment() (64K). But code in >>>>> ParallelScavengeHeap::initialize() aligns up both old and >>>>> young gen sizes to large page size. >>>>> As result total heap size could be increased by one large >>>>> page and cross 4gb boundary preventing usage of 32-bit COOPs. >>>>> >>>>> Align old gen size down to keep specified heap size but >>>>> not less than its old gen min size. From daniel.daugherty at oracle.com Sat Jan 29 10:11:47 2011 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Sat, 29 Jan 2011 18:11:47 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 6990754: Use native memory and reference counting to implement SymbolTable Message-ID: <20110129181151.E43134726A@hg.openjdk.java.net> Changeset: 3582bf76420e Author: coleenp Date: 2011-01-27 16:11 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable Summary: move symbols from permgen into C heap and reference count them Reviewed-by: never, acorn, jmasa, stefank ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java ! agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeLoadConstant.java ! agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeWithKlass.java ! agent/src/share/classes/sun/jvm/hotspot/memory/DictionaryEntry.java ! agent/src/share/classes/sun/jvm/hotspot/memory/LoaderConstraintEntry.java ! agent/src/share/classes/sun/jvm/hotspot/memory/PlaceholderEntry.java ! agent/src/share/classes/sun/jvm/hotspot/memory/StringTable.java ! agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java ! agent/src/share/classes/sun/jvm/hotspot/oops/GenerateOopMap.java ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Method.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Symbol.java - agent/src/share/classes/sun/jvm/hotspot/oops/SymbolKlass.java ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassWriter.java ! agent/src/share/classes/sun/jvm/hotspot/types/Field.java ! agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HashtableEntry.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/os/solaris/dtrace/generateJvmOffsets.cpp ! src/os/solaris/dtrace/jhelper.d ! src/os/solaris/dtrace/libjvm_db.c ! src/os/solaris/vm/dtraceJSDT_solaris.cpp ! src/share/vm/ci/ciClassList.hpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciField.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciKlass.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciObjArrayKlass.cpp ! src/share/vm/ci/ciObject.hpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/ci/ciObjectFactory.hpp ! src/share/vm/ci/ciSignature.cpp ! src/share/vm/ci/ciSignature.hpp ! src/share/vm/ci/ciSymbol.cpp ! src/share/vm/ci/ciSymbol.hpp - src/share/vm/ci/ciSymbolKlass.cpp - src/share/vm/ci/ciSymbolKlass.hpp ! src/share/vm/ci/compilerInterface.hpp ! src/share/vm/classfile/classFileError.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/dictionary.hpp ! src/share/vm/classfile/javaAssertions.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/loaderConstraints.cpp ! src/share/vm/classfile/loaderConstraints.hpp ! src/share/vm/classfile/placeholders.cpp ! src/share/vm/classfile/placeholders.hpp ! src/share/vm/classfile/resolutionErrors.cpp ! src/share/vm/classfile/resolutionErrors.hpp ! src/share/vm/classfile/stackMapFrame.cpp ! src/share/vm/classfile/stackMapFrame.hpp ! src/share/vm/classfile/stackMapTable.cpp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/verificationType.cpp ! src/share/vm/classfile/verificationType.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/verifier.hpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileLog.hpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/compiler/compilerOracle.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/shared/concurrentGCThread.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/interpreter/bytecode.cpp ! src/share/vm/interpreter/bytecode.hpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! src/share/vm/memory/classify.cpp ! src/share/vm/memory/compactingPermGenGen.cpp ! src/share/vm/memory/compactingPermGenGen.hpp ! src/share/vm/memory/dump.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/oopFactory.hpp ! src/share/vm/memory/restore.cpp ! src/share/vm/memory/serialize.cpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/arrayOop.cpp ! src/share/vm/oops/constantPoolKlass.cpp ! src/share/vm/oops/constantPoolOop.cpp ! src/share/vm/oops/constantPoolOop.hpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/oops/generateOopMap.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/klassKlass.cpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/klassVtable.hpp ! src/share/vm/oops/markOop.hpp ! src/share/vm/oops/methodKlass.cpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlassKlass.cpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/oopsHierarchy.hpp + src/share/vm/oops/symbol.cpp + src/share/vm/oops/symbol.hpp - src/share/vm/oops/symbolKlass.cpp - src/share/vm/oops/symbolKlass.hpp - src/share/vm/oops/symbolOop.cpp - src/share/vm/oops/symbolOop.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/precompiled.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jniCheck.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm_misc.hpp ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.hpp ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/methodComparator.cpp ! src/share/vm/prims/methodHandleWalk.cpp ! src/share/vm/prims/methodHandleWalk.hpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/fieldDescriptor.hpp ! src/share/vm/runtime/fieldType.cpp ! src/share/vm/runtime/fieldType.hpp ! src/share/vm/runtime/fprofiler.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/handles.hpp ! src/share/vm/runtime/interfaceSupport.cpp ! src/share/vm/runtime/interfaceSupport.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/java.hpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/reflection.cpp ! src/share/vm/runtime/reflection.hpp ! src/share/vm/runtime/reflectionUtils.hpp ! src/share/vm/runtime/rframe.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/signature.cpp ! src/share/vm/runtime/signature.hpp ! src/share/vm/runtime/statSampler.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vmStructs.hpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/classLoadingService.cpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/lowMemoryDetector.cpp ! src/share/vm/services/management.cpp ! src/share/vm/services/management.hpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/threadService.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/exceptions.hpp ! src/share/vm/utilities/hashtable.cpp ! src/share/vm/utilities/hashtable.hpp ! src/share/vm/utilities/hashtable.inline.hpp ! src/share/vm/utilities/utf8.cpp ! src/share/vm/utilities/utf8.hpp ! src/share/vm/utilities/xmlstream.cpp ! src/share/vm/utilities/xmlstream.hpp From tom.rodriguez at oracle.com Mon Jan 31 23:14:13 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Tue, 01 Feb 2011 07:14:13 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 6354181: nsk.logging.stress.threads.scmhml001 fails assertion in "src/share/vm/oops/instanceKlass.cpp, 111" Message-ID: <20110201071419.D0F88472F1@hg.openjdk.java.net> Changeset: 4f26f535a225 Author: never Date: 2011-01-31 17:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/4f26f535a225 6354181: nsk.logging.stress.threads.scmhml001 fails assertion in "src/share/vm/oops/instanceKlass.cpp, 111" Reviewed-by: jrose, acorn ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/classfile/loaderConstraints.cpp ! src/share/vm/classfile/systemDictionary.cpp