From Y.S.Ramakrishna at Sun.COM Thu May 1 23:44:14 2008 From: Y.S.Ramakrishna at Sun.COM (Y Srinivas Ramakrishna) Date: Thu, 01 May 2008 16:44:14 -0700 Subject: Request for review (XS): 6662086 6u2+, 7b11+: CMS never clears referents when -XX:+ParallelRefProcEnabled Message-ID: Thanks for your reviews.... Fixed: 6662086 6u2+, 7b11+: CMS never clears referents when -XX:+ParallelRefProcEnabled This fixes a regression introduced in 6u2, 7b11, because of which CMS would not correctly clear referents when +ParallelRefProcEnabled. This was because the CMSIsAliveClosure used during the processing was using an empty span. The symptom would typically manifest as a monotonically growing population of referents until a stop-world mark-compact collection would reclaim them. Thanks to Thomas Viessmann and Kevin Walls for debugging assistance, and for collecting and analysing instrumentation data at customer site. Fix Verified: Verification Testing: Other testing: webrev: http://analemma.sfbay.sun.com/net/spot/workspaces/ysr/hg_gc_fixes/webrev/ Patch: ===== --- old/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp Thu May 1 16:05:09 2008 +++ new/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp Thu May 1 16:05:08 2008 @@ -283,7 +283,7 @@ // processing phase of the CMS final checkpoint step. class CMSKeepAliveClosure: public OopClosure { CMSCollector* _collector; - MemRegion _span; + const MemRegion _span; CMSMarkStack* _mark_stack; CMSBitMap* _bit_map; public: @@ -292,7 +292,9 @@ _collector(collector), _span(span), _bit_map(bit_map), - _mark_stack(mark_stack) { } + _mark_stack(mark_stack) { + assert(!_span.is_empty(), "Empty span could spell trouble"); + } void do_oop(oop* p); void do_oop_nv(oop* p) { CMSKeepAliveClosure::do_oop(p); } --- old/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Thu May 1 16:05:12 2008 +++ new/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Thu May 1 16:05:11 2008 @@ -520,7 +520,10 @@ -1 /* lock-free */, "No_lock" /* dummy */), _modUnionClosure(&_modUnionTable), _modUnionClosurePar(&_modUnionTable), - _is_alive_closure(&_markBitMap), + // Adjust my span to cover old (cms) gen and perm gen + _span(cmsGen->reserved()._union(permGen->reserved())), + // Construct the is_alive_closure with _span & markBitMap + _is_alive_closure(_span, &_markBitMap), _restart_addr(NULL), _overflow_list(NULL), _preserved_oop_stack(NULL), @@ -572,11 +575,6 @@ _cmsGen->cmsSpace()->set_collector(this); _permGen->cmsSpace()->set_collector(this); - // Adjust my span to cover old (cms) gen and perm gen - _span = _cmsGen->reserved()._union(_permGen->reserved()); - // Initialize the span of is_alive_closure - _is_alive_closure.set_span(_span); - // Allocate MUT and marking bit map { MutexLockerEx x(_markBitMap.lock(), Mutex::_no_safepoint_check_flag); @@ -5493,7 +5491,7 @@ typedef AbstractRefProcTaskExecutor::ProcessTask ProcessTask; CMSCollector* _collector; CMSBitMap* _mark_bit_map; - MemRegion _span; + const MemRegion _span; OopTaskQueueSet* _task_queues; ParallelTaskTerminator _term; ProcessTask& _task; @@ -5510,7 +5508,10 @@ _collector(collector), _span(span), _mark_bit_map(mark_bit_map), _task_queues(task_queues), _term(total_workers, task_queues) - { } + { + assert(_collector->_span.equals(_span) && !_span.is_empty(), + "Inconsistency in _span"); + } OopTaskQueueSet* task_queues() { return _task_queues; } @@ -5531,7 +5532,8 @@ _mark_bit_map, work_queue(i)); CMSParDrainMarkingStackClosure par_drain_stack(_collector, _span, _mark_bit_map, work_queue(i)); - CMSIsAliveClosure is_alive_closure(_mark_bit_map); + assert(_collector->_span.equals(_span), "Inconsistency in _span"); + CMSIsAliveClosure is_alive_closure(_span, _mark_bit_map); _task.work(i, is_alive_closure, par_keep_alive, par_drain_stack); if (_task.marks_oops_alive()) { do_work_steal(i, &par_drain_stack, &par_keep_alive, --- old/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Thu May 1 16:05:16 2008 +++ new/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Thu May 1 16:05:15 2008 @@ -435,23 +435,22 @@ // if the object is "live" (reachable). Used in weak // reference processing. class CMSIsAliveClosure: public BoolObjectClosure { - MemRegion _span; + const MemRegion _span; const CMSBitMap* _bit_map; friend class CMSCollector; - protected: - void set_span(MemRegion span) { _span = span; } public: - CMSIsAliveClosure(CMSBitMap* bit_map): - _bit_map(bit_map) { } - CMSIsAliveClosure(MemRegion span, CMSBitMap* bit_map): _span(span), - _bit_map(bit_map) { } + _bit_map(bit_map) { + assert(!span.is_empty(), "Empty span could spell trouble"); + } + void do_object(oop obj) { assert(false, "not to be invoked"); } + bool do_object_b(oop obj); }; @@ -600,7 +599,7 @@ // ("Weak") Reference processing support ReferenceProcessor* _ref_processor; CMSIsAliveClosure _is_alive_closure; - // keep this textually after _markBitMap; c'tor dependency + // keep this textually after _markBitMap and _span; c'tor dependency ConcurrentMarkSweepThread* _cmsThread; // the thread doing the work ModUnionClosure _modUnionClosure; From John.Coomes at sun.com Fri May 2 11:33:23 2008 From: John.Coomes at sun.com (John Coomes) Date: Fri, 2 May 2008 04:33:23 -0700 Subject: Request for review (XS): 6662086 6u2+, 7b11+: CMS never clears referents when -XX:+ParallelRefProcEnabled In-Reply-To: References: Message-ID: <18458.64515.712301.704374@sun.com> Y Srinivas Ramakrishna (Y.S.Ramakrishna at Sun.COM) wrote: > Fixed: 6662086 6u2+, 7b11+: CMS never clears referents when -XX:+ParallelRefProcEnabled > > This fixes a regression introduced in 6u2, 7b11, because of which CMS would not > correctly clear referents when +ParallelRefProcEnabled. This was because > the CMSIsAliveClosure used during the processing was using an empty span. > The symptom would typically manifest as a monotonically growing population > of referents until a stop-world mark-compact collection would reclaim them. > > ... > Looks fine. One tiny nit relating to the patch hunk below: > --- old/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Thu May 1 16:05:12 2008 > +++ new/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Thu May 1 16:05:11 2008 > @@ -5531,7 +5532,8 @@ > _mark_bit_map, work_queue(i)); > CMSParDrainMarkingStackClosure par_drain_stack(_collector, _span, > _mark_bit_map, work_queue(i)); > - CMSIsAliveClosure is_alive_closure(_mark_bit_map); > + assert(_collector->_span.equals(_span), "Inconsistency in _span"); > + CMSIsAliveClosure is_alive_closure(_span, _mark_bit_map); > _task.work(i, is_alive_closure, par_keep_alive, par_drain_stack); > if (_task.marks_oops_alive()) { > do_work_steal(i, &par_drain_stack, &par_keep_alive, The new assert appears after two other uses of _collector and _span, one of which is visible above. Assuming that all uses have the same requirement, might as well move the assert before the first use. -John From john.coomes at sun.com Fri May 2 12:29:40 2008 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 02 May 2008 12:29:40 +0000 Subject: hg: jdk7/hotspot-gc: 7 new changesets Message-ID: <20080502122940.D17FD27B69@hg.openjdk.java.net> Changeset: be0ea51b2743 Author: ohair Date: 2008-03-05 18:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/be0ea51b2743 6662830: OpenJDK build testing results Summary: Small corrections in the README. Reviewed-by: xdono ! README-builds.html Changeset: d83470fdf495 Author: ohair Date: 2008-03-09 13:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/d83470fdf495 6649270: Change by-default openjdk building in control/make/makefile to use open source tree Summary: Change build rules to allow for openjdk builds by default when building the closed or production build. Reviewed-by: xdono ! Makefile ! make/Defs-internal.gmk Changeset: d6b08bdb9a54 Author: ohair Date: 2008-03-09 15:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/d6b08bdb9a54 6649672: Adjustments to OUTPUTDIR default and mkdirs to avoid empty directory clutter Summary: Cleanup of OUTPUTDIR handling Reviewed-by: xdono ! Makefile Changeset: f769c64f71ac Author: ohair Date: 2008-03-13 16:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/f769c64f71ac 6675289: Make default production build NOT include an openjdk build Summary: SKIP_OPENJDK_BUILD now set to true. Reviewed-by: xdono ! make/Defs-internal.gmk Changeset: 05809a7eb190 Author: ohair Date: 2008-03-18 11:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/05809a7eb190 6674232: OPENJDK=false is same as OPENJDK=true Summary: If OPENJDK has a value, that value must be "true", empty value == undefined with GNU make. Reviewed-by: tbell ! make/Defs-internal.gmk Changeset: cbc8ad9dd0e0 Author: ohair Date: 2008-03-25 14:38 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/cbc8ad9dd0e0 6623832: Cleanup old j2se makefile targets Summary: Just removing unneeded makefile rules and 'control' logic. Reviewed-by: xdono ! Makefile ! make/jdk-rules.gmk Changeset: 9410f77cc30c Author: xdono Date: 2008-04-09 11:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/9410f77cc30c Added tag jdk7-b25 for changeset cbc8ad9dd0e0 ! .hgtags From john.coomes at sun.com Fri May 2 12:30:20 2008 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 02 May 2008 12:30:20 +0000 Subject: hg: jdk7/hotspot-gc/corba: 3 new changesets Message-ID: <20080502123023.9C33827B6E@hg.openjdk.java.net> Changeset: a51017b6ba6d Author: ohair Date: 2008-03-06 13:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/a51017b6ba6d 6624808: corba makefiles not using langtools compiler Summary: If supplied, the langtools javac should be used. Reviewed-by: xdono ! make/common/shared/Defs.gmk Changeset: 5e61d5df6258 Author: ohair Date: 2008-03-25 14:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/5e61d5df6258 6627817: Remove ^M characters in all files (Makefiles too) Summary: Some files included the use of the ^M character, which has been deleted Reviewed-by: xdono ! src/share/classes/com/sun/corba/se/impl/corba/orb_config_design.txt ! src/share/classes/org/omg/CORBA/ir.idl ! src/share/classes/org/omg/DynamicAny/DynamicAny.idl Changeset: 0043eb3d4e62 Author: xdono Date: 2008-04-09 11:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/0043eb3d4e62 Added tag jdk7-b25 for changeset 5e61d5df6258 ! .hgtags From john.coomes at sun.com Fri May 2 12:32:42 2008 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 02 May 2008 12:32:42 +0000 Subject: hg: jdk7/hotspot-gc/jaxp: 2 new changesets Message-ID: <20080502123246.0F90627B73@hg.openjdk.java.net> Changeset: a3b3ba7d6034 Author: ohair Date: 2008-03-04 10:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/a3b3ba7d6034 6652588: Fix broken JPRT makefile target, no bundle saved Summary: jprt make rules missing the bundle up of the output Reviewed-by: xdono ! make/Makefile Changeset: da43cb85fac1 Author: xdono Date: 2008-04-09 11:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/da43cb85fac1 Added tag jdk7-b25 for changeset a3b3ba7d6034 ! .hgtags From john.coomes at sun.com Fri May 2 12:33:25 2008 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 02 May 2008 12:33:25 +0000 Subject: hg: jdk7/hotspot-gc/jaxws: 2 new changesets Message-ID: <20080502123329.0628027B78@hg.openjdk.java.net> Changeset: 59fd8224ba2d Author: ohair Date: 2008-03-04 10:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/59fd8224ba2d 6652588: Fix broken JPRT makefile target, no bundle saved Summary: jprt make rules were missing the bundle logic Reviewed-by: xdono ! make/Makefile Changeset: debd37e1a422 Author: xdono Date: 2008-04-09 11:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/debd37e1a422 Added tag jdk7-b25 for changeset 59fd8224ba2d ! .hgtags From john.coomes at sun.com Fri May 2 13:18:03 2008 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 02 May 2008 13:18:03 +0000 Subject: hg: jdk7/hotspot-gc/langtools: 18 new changesets Message-ID: <20080502131832.3D21827B8C@hg.openjdk.java.net> Changeset: 3c2d13c42e0a Author: mcimadamore Date: 2008-03-03 16:03 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/3c2d13c42e0a 6614974: javac successfully compiles code that throws java.lang.VerifyError when run Summary: synthetic cast missing when translating autoboxing expressions Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/boxing/T6614974.java Changeset: b45f8d4794b7 Author: mcimadamore Date: 2008-03-04 12:14 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/b45f8d4794b7 6611449: Internal Error thrown during generic method/constructor invocation Summary: type-inference should fail since lub is not defined for primitive types 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/6611449/T6611449.java + test/tools/javac/generics/inference/6611449/T6611449.out Changeset: 40813968849e Author: mcimadamore Date: 2008-03-04 13:00 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/40813968849e 6660289: declared bound in inner class referring a type variable of the outer class Summary: NPE caused by a defect in type-variable attribution Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/generics/T6660289.java Changeset: d472e2fbcc39 Author: mcimadamore Date: 2008-03-04 15:19 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/d472e2fbcc39 6608214: Exception throw while analysing a file with error Summary: bad error-recovery after bad type-variable bound is detected Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/api/6608214/T6608214.java Changeset: 38bd6375f37d Author: mcimadamore Date: 2008-03-04 15:45 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/38bd6375f37d 6663588: Compiler goes into infinite loop for Cyclic Inheritance test case Summary: interplay between cyclic inheritance and tvar bounds hangs javac Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java + test/tools/javac/T6663588.java Changeset: f09d6a3521b1 Author: jjg Date: 2008-03-06 10:07 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/f09d6a3521b1 4741726: allow Object += String Summary: remove code in line with restriction removed from JLS Reviewed-by: mcimadamore Contributed-by: michaelbailey0 at gmail.com ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/StringConversion2.java - test/tools/javac/expression/ObjectAppend.java Changeset: 508c01999047 Author: jjg Date: 2008-03-06 10:25 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/508c01999047 6668802: javac handles diagnostics for last line badly, if line not terminated by newline Summary: use CharBuffer.limit(), not the length of the backing array Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/util/Log.java + test/tools/javac/T6668802.java Changeset: b66d15dfd001 Author: jjg Date: 2008-03-11 13:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/b66d15dfd001 6307187: clean up code for -Xlint:options Summary: introduce common code for handling one-of and any-of options Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/main/JavacOption.java ! src/share/classes/com/sun/tools/javac/main/OptionName.java ! src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java ! test/tools/javac/6341866/T6341866.java Changeset: 7366066839bb Author: jjg Date: 2008-03-12 13:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/7366066839bb 6668794: javac puts localized text in raw diagnostics 6668796: bad diagnostic "bad class file" given for source files Summary: Replace internal use of localized text with JCDiagnostic fragments; fix diagnostic for bad source file Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/6668794/badClass/A.java + test/tools/javac/6668794/badClass/B.java + test/tools/javac/6668794/badClass/Test.java + test/tools/javac/6668794/badSource/Test.java + test/tools/javac/6668794/badSource/Test.out + test/tools/javac/6668794/badSource/p/A.java Changeset: 6beca695cfae Author: jjg Date: 2008-03-13 13:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/6beca695cfae 6559315: Inconsistent non-standard Sun copyright in src/share/opensource/javac/doc/document.css Summary: Remove obsolete files Reviewed-by: mcimadamore - src/share/opensource/javac/Makefile - src/share/opensource/javac/README-template.html - src/share/opensource/javac/build.properties - src/share/opensource/javac/build.xml - src/share/opensource/javac/doc/document.css - src/share/opensource/javac/doc/javac_lifecycle/Context.html - src/share/opensource/javac/doc/javac_lifecycle/Enter.html - src/share/opensource/javac/doc/javac_lifecycle/JavaCompiler.html - src/share/opensource/javac/doc/javac_lifecycle/Main.html - src/share/opensource/javac/doc/javac_lifecycle/ToDo.html - src/share/opensource/javac/doc/javac_lifecycle/contents.html - src/share/opensource/javac/doc/javac_lifecycle/index.html - src/share/opensource/javac/doc/javac_lifecycle/packages.html - src/share/opensource/javac/doc/javac_lifecycle/style.css - src/share/opensource/javac/nbproject/project.xml - src/share/opensource/javac/src/bin/javac.sh Changeset: 58039502942e Author: jjg Date: 2008-03-14 16:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/58039502942e 6638501: Regression with Javac in JDK6 U4 b03? Summary: replace some String paths with File paths in Paths.java Reviewed-by: ksrini ! src/share/classes/com/sun/tools/javac/util/Paths.java + test/tools/javac/Paths/6638501/HelloLib/test/HelloImpl.java + test/tools/javac/Paths/6638501/JarFromManifestFailure.java + test/tools/javac/Paths/6638501/WsCompileExample.java + test/tools/javac/Paths/6638501/test/SayHello.java + test/tools/javac/Paths/6638501/test1/SayHelloToo.java Changeset: 18f0b1b5ffd6 Author: xdono Date: 2008-04-09 11:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/18f0b1b5ffd6 Added tag jdk7-b25 for changeset 58039502942e ! .hgtags Changeset: 058bdd3ca02e Author: ksrini Date: 2008-03-20 08:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/058bdd3ca02e 6618930: (javac) fix test after whitespace normalization Summary: whitespace normalization left the test unusable, back to service Reviewed-by: jjg ! test/tools/javac/6304921/T6304921.java ! test/tools/javac/6304921/T6304921.out Changeset: 6e4cefcce80a Author: mcimadamore Date: 2008-04-02 11:20 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/6e4cefcce80a 6569789: Compiler test lang/TYPE/type153/type15304/type15304.html fails since jdk7 b05 Summary: improved glb on type-inference Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Infer.java + test/tools/javac/generics/inference/6569789/T6569789.java Changeset: aeaa0f482b28 Author: mcimadamore Date: 2008-04-02 11:38 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/aeaa0f482b28 6509042: javac rejects class literals in enum constructors Summary: javac now distinguish between enum class literals and static fields Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/enum/T6509042.java Changeset: adaa3fc51b60 Author: mcimadamore Date: 2008-04-02 11:44 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/adaa3fc51b60 6531090: Cannot access methods/fields of a captured type belonging to an intersection type Summary: fixed lookup of field/methods on intersection types 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/generics/6531090/T6531090a.java + test/tools/javac/generics/6531090/T6531090b.java Changeset: ddd77d1c1b49 Author: ksrini Date: 2008-04-03 18:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/ddd77d1c1b49 6570242: Regression test failures with Javac on win32. Summary: takes this test out of service until the reall bug is fixed Reviewed-by: jjg ! test/tools/javac/api/6431257/T6431257.java Changeset: c46d25a2350a Author: tbell Date: 2008-04-11 15:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/c46d25a2350a Merge From john.coomes at sun.com Fri May 2 12:36:27 2008 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 02 May 2008 12:36:27 +0000 Subject: hg: jdk7/hotspot-gc/jdk: 172 new changesets Message-ID: <20080502131130.3CFBC27B87@hg.openjdk.java.net> Changeset: e4f19efd20b4 Author: ohair Date: 2008-03-04 09:47 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e4f19efd20b4 6654456: OpenJDK build problem with freetype makefiles Summary: ifdef test on OPENJDK before it gets set based on source tree contents Reviewed-by: xdono ! make/common/shared/Platform.gmk Changeset: 80486f9d9221 Author: ohair Date: 2008-03-04 09:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/80486f9d9221 6637583: Build failure on latest Solaris, source missing include of resource.h? Summary: The include of sys/resource.h must be explicit Reviewed-by: xdono ! src/solaris/hpi/native_threads/src/sys_api_td.c Changeset: 929222887724 Author: ohair Date: 2008-03-04 09:50 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/929222887724 6638571: Fix freetype sanity check to work on solaris 64bit Summary: Missing -xarch options to build for 64bit Reviewed-by: xdono ! make/tools/freetypecheck/Makefile Changeset: 12b0d64c4953 Author: ohair Date: 2008-03-04 09:51 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/12b0d64c4953 6638060: Build failed with GNU make 3.81 (part of latest Solaris 'gmake') Summary: Changes to the way GNU make 3.81 deals with the env variable SHELL Reviewed-by: xdono ! make/java/nio/Makefile ! make/java/nio/genCharsetProvider.sh ! make/java/nio/genExceptions.sh Changeset: 82c85cfd8402 Author: ohair Date: 2008-03-04 09:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/82c85cfd8402 6668781: Openjdk windows cygwin build failure: no rule to make linker_md.obj target Summary: Use of GNU make vpath breaks on windows with C:/ style fullpaths Reviewed-by: xdono ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/common/Defs-windows.gmk ! make/common/Defs.gmk Changeset: 65c8fd93d01c Author: ohair Date: 2008-03-06 11:37 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/65c8fd93d01c 6628146: Exclude the .hgignore and .hgtags files from the source bundles Summary: Just add to list of SCM files. Reviewed-by: xdono ! make/common/shared/Platform.gmk Changeset: 48d06b4c6460 Author: ohair Date: 2008-03-09 14:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/48d06b4c6460 6672777: Broken deploy build from jdk fix 6668781 for cygwin windows Summary: deploy workspace does not set BUILDDIR, uses it, assumes it is jdk/make. Reviewed-by: xdono ! make/common/Defs.gmk Changeset: 8ef9fd5c28fd Author: ohair Date: 2008-03-10 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/8ef9fd5c28fd 6649672: Adjustments to OUTPUTDIR default and mkdirs to avoid empty directory clutter Summary: OUTPUTDIR changes to make sure absolute path is correct. Reviewed-by: xdono ! make/common/Defs.gmk ! make/common/shared/Defs-control.gmk ! make/common/shared/Defs.gmk Changeset: 41d9c673dd9d Author: emcmanus Date: 2008-03-03 10:32 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/41d9c673dd9d 6602310: Extensions to Query API for JMX 2.0 6604768: IN queries require their arguments to be constants Summary: New JMX query language and support for dotted attributes in queries. Reviewed-by: dfuchs ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java ! src/share/classes/javax/management/AndQueryExp.java ! src/share/classes/javax/management/AttributeValueExp.java ! src/share/classes/javax/management/BetweenQueryExp.java ! src/share/classes/javax/management/BinaryOpValueExp.java ! src/share/classes/javax/management/BinaryRelQueryExp.java ! src/share/classes/javax/management/BooleanValueExp.java ! src/share/classes/javax/management/InQueryExp.java ! src/share/classes/javax/management/MatchQueryExp.java ! src/share/classes/javax/management/NotQueryExp.java ! src/share/classes/javax/management/NumericValueExp.java ! src/share/classes/javax/management/ObjectName.java ! src/share/classes/javax/management/OrQueryExp.java ! src/share/classes/javax/management/QualifiedAttributeValueExp.java ! src/share/classes/javax/management/Query.java ! src/share/classes/javax/management/QueryEval.java ! src/share/classes/javax/management/QueryExp.java + src/share/classes/javax/management/QueryParser.java ! src/share/classes/javax/management/StringValueExp.java + src/share/classes/javax/management/ToQueryString.java ! src/share/classes/javax/management/monitor/Monitor.java + test/javax/management/query/QueryDottedAttrTest.java ! test/javax/management/query/QueryExpStringTest.java + test/javax/management/query/QueryParseTest.java Changeset: d8b6af0f01f6 Author: dfuchs Date: 2008-03-03 12:29 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/d8b6af0f01f6 6651382: The Java JVM SNMP provider reports incorrect stats when asked for multiple OIDs Summary: The JvmMemPoolEntryImpl must use the row index when caching data. Reviewed-by: jfdenise ! src/share/classes/sun/management/snmp/jvminstr/JvmMemPoolEntryImpl.java Changeset: 10256bd4afcd Author: emcmanus Date: 2008-03-03 15:28 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/10256bd4afcd 6607114: Make JMXServiceURL reconstructible in MXBeans Summary: Add @ConstructorProperties tag to JMXServiceURL Reviewed-by: dfuchs ! src/share/classes/javax/management/remote/JMXServiceURL.java Changeset: 613f2c906b9d Author: emcmanus Date: 2008-03-03 15:29 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/613f2c906b9d Merge Changeset: 302cbd0a8ace Author: emcmanus Date: 2008-03-03 15:44 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/302cbd0a8ace 6670375: Missing unit test for 6607114 (Make JMXServiceURL reconstructible) Summary: Current setup doesn't allow two pushes with same CR number Reviewed-by: dfuchs ! src/share/classes/javax/management/remote/JMXServiceURL.java + test/javax/management/mxbean/JMXServiceURLTest.java Changeset: 5aaa9902102b Author: ksrini Date: 2008-03-06 07:51 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/5aaa9902102b 6596475: (launcher) javaw should call InitCommonControls Summary: javaw does not show error window after manifest changes. Reviewed-by: darcy ! make/java/jli/Makefile ! make/java/main/java/Makefile ! make/java/main/javaw/Makefile ! src/share/bin/java.c ! src/share/bin/java.h ! src/share/bin/main.c ! src/solaris/bin/java_md.c ! src/windows/bin/java_md.c Changeset: 1be19881457e Author: martin Date: 2008-03-09 21:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/1be19881457e 4499288: (cs spec) Charset terminology problems Reviewed-by: mr, iris ! src/share/classes/java/nio/charset/Charset.java Changeset: b5da6145b050 Author: martin Date: 2008-03-09 21:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/b5da6145b050 6671834: (str) Eliminate StringCoding.java compile warnings Reviewed-by: iris ! src/share/classes/java/lang/StringCoding.java Changeset: 7fb2ca1b52c8 Author: martin Date: 2008-03-09 21:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7fb2ca1b52c8 6633613: (str) StringCoding optimizations to avoid unnecessary array copies with Charset arg Reviewed-by: iris ! src/share/classes/java/lang/StringCoding.java Changeset: 1d12b16c7df9 Author: martin Date: 2008-03-10 14:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/1d12b16c7df9 6631966: (process) Raise Windows pipe buffer size an extra 24 bytes (win) Reviewed-by: alanb, iris ! src/windows/native/java/lang/ProcessImpl_md.c Changeset: b8fc7b5498dd Author: martin Date: 2008-03-10 14:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/b8fc7b5498dd 6632696: Writing to closed output files (writeBytes) leaks native memory (unix) Reviewed-by: alanb, iris ! src/share/native/java/io/io_util.c Changeset: 81f76ad22a63 Author: martin Date: 2008-03-10 14:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/81f76ad22a63 6631362: Nuke io_util_md.c:handleFileSizeFD (win) Reviewed-by: alanb, iris ! src/windows/native/java/io/io_util_md.c ! src/windows/native/java/io/io_util_md.h Changeset: 307a6801a8e4 Author: martin Date: 2008-03-10 14:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/307a6801a8e4 6631437: File{In,Out}putStream minor improvements to spec and stylistic improvements to code Reviewed-by: alanb, iris ! src/share/classes/java/io/FileInputStream.java ! src/share/classes/java/io/FileOutputStream.java Changeset: 73003d04c21f Author: martin Date: 2008-03-10 14:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/73003d04c21f 6631352: File{OutputStream,Writer} should implement atomic append mode using FILE_APPEND_DATA (win) Reviewed-by: alanb, iris ! make/java/java/mapfile-vers ! src/share/classes/java/io/FileOutputStream.java ! src/share/classes/sun/nio/ch/FileChannelImpl.java ! src/share/native/java/io/io_util.c ! src/solaris/native/java/io/FileOutputStream_md.c ! src/windows/native/java/io/FileOutputStream_md.c ! src/windows/native/java/io/io_util_md.c + test/java/io/FileOutputStream/AtomicAppend.java Changeset: b5a587dd5af3 Author: martin Date: 2008-03-10 14:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/b5a587dd5af3 4960438: (process) Need IO redirection API for subprocesses Reviewed-by: alanb, iris ! src/share/classes/java/lang/Process.java ! src/share/classes/java/lang/ProcessBuilder.java ! src/share/classes/sun/misc/JavaIOFileDescriptorAccess.java ! src/solaris/classes/java/io/FileDescriptor.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/native/java/lang/UNIXProcess_md.c ! src/windows/classes/java/io/FileDescriptor.java ! src/windows/classes/java/lang/ProcessImpl.java ! src/windows/native/java/lang/ProcessImpl_md.c ! test/java/lang/ProcessBuilder/Basic.java Changeset: a3ae216ca35d Author: martin Date: 2008-03-10 14:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a3ae216ca35d 6642034: System.getProperty("os.name") returns Windows Vista on Windows Server 2008 (longhorn) Reviewed-by: iris ! src/windows/native/java/lang/java_props_md.c Changeset: bfed8f5f6345 Author: martin Date: 2008-03-10 14:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/bfed8f5f6345 6671051: (process) Runtime.exec() hangs if signalled during fork/exec Reviewed-by: iris ! src/solaris/native/java/lang/UNIXProcess_md.c Changeset: 03fddaf59499 Author: martin Date: 2008-03-10 15:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/03fddaf59499 6600143: Remove another 450 unnecessary casts Reviewed-by: alanb, iris, lmalvent, bristor, peterjones, darcy, wetmore ! make/tools/src/build/tools/jdwpgen/CommandNode.java ! make/tools/src/build/tools/jdwpgen/ConstantSetNode.java ! make/tools/src/build/tools/jdwpgen/RepeatNode.java ! src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpecList.java ! src/share/classes/com/sun/tools/example/debug/bdi/ExecutionManager.java ! src/share/classes/com/sun/tools/example/debug/bdi/JDIEventSource.java ! src/share/classes/com/sun/tools/example/debug/bdi/LineBreakpointSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/MethodBreakpointSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/ThreadGroupIterator.java ! src/share/classes/com/sun/tools/example/debug/bdi/ThreadIterator.java ! src/share/classes/com/sun/tools/example/debug/expr/LValue.java ! src/share/classes/com/sun/tools/example/debug/gui/ClassTreeTool.java ! src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java ! src/share/classes/com/sun/tools/example/debug/gui/JDBFileFilter.java ! src/share/classes/com/sun/tools/example/debug/gui/LaunchTool.java ! src/share/classes/com/sun/tools/example/debug/gui/SearchPath.java ! src/share/classes/com/sun/tools/example/debug/gui/SourceManager.java ! src/share/classes/com/sun/tools/example/debug/gui/SourceModel.java ! src/share/classes/com/sun/tools/example/debug/gui/StackTraceTool.java ! src/share/classes/com/sun/tools/example/debug/gui/ThreadTreeTool.java ! src/share/classes/com/sun/tools/example/debug/tty/BreakpointSpec.java ! src/share/classes/com/sun/tools/example/debug/tty/Commands.java ! src/share/classes/com/sun/tools/example/debug/tty/Env.java ! src/share/classes/com/sun/tools/example/debug/tty/EventHandler.java ! src/share/classes/com/sun/tools/example/debug/tty/EventRequestSpec.java ! src/share/classes/com/sun/tools/example/debug/tty/EventRequestSpecList.java ! src/share/classes/com/sun/tools/example/debug/tty/SourceMapper.java ! src/share/classes/com/sun/tools/example/debug/tty/TTY.java ! src/share/classes/com/sun/tools/example/debug/tty/ThreadGroupIterator.java ! src/share/classes/com/sun/tools/example/debug/tty/ThreadInfo.java ! src/share/classes/com/sun/tools/example/debug/tty/ThreadIterator.java ! src/share/classes/com/sun/tools/example/debug/tty/VMConnection.java ! src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/PlatformClasses.java ! src/share/classes/com/sun/tools/jdi/AbstractLauncher.java ! src/share/classes/com/sun/tools/jdi/ClassTypeImpl.java ! src/share/classes/com/sun/tools/jdi/ConcreteMethodImpl.java ! src/share/classes/com/sun/tools/jdi/EventSetImpl.java ! src/share/classes/com/sun/tools/jdi/JNITypeParser.java ! src/share/classes/com/sun/tools/jdi/MethodImpl.java ! src/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java ! src/share/classes/com/sun/tools/jdi/PacketStream.java ! src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java ! src/share/classes/com/sun/tools/jdi/SDE.java ! src/share/classes/com/sun/tools/jdi/StackFrameImpl.java ! src/share/classes/com/sun/tools/jdi/TargetVM.java ! src/share/classes/com/sun/tools/jdi/ThreadGroupReferenceImpl.java ! src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java ! src/share/classes/com/sun/tools/jdi/VirtualMachineManagerImpl.java ! src/share/classes/java/io/ObjectInputStream.java ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/lang/Compiler.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/ref/Finalizer.java ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/classes/java/lang/reflect/Modifier.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/net/DatagramSocket.java ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/Socket.java ! src/share/classes/java/net/SocksSocketImpl.java ! src/share/classes/java/net/URLClassLoader.java ! src/share/classes/java/nio/channels/spi/SelectorProvider.java ! src/share/classes/java/rmi/activation/ActivationGroupDesc.java ! src/share/classes/java/rmi/dgc/VMID.java ! src/share/classes/java/security/cert/TrustAnchor.java ! src/share/classes/java/security/cert/X509CertSelector.java ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/EnumMap.java ! src/share/classes/java/util/IdentityHashMap.java ! src/share/classes/java/util/JumboEnumSet.java ! src/share/classes/java/util/Random.java ! src/share/classes/java/util/TreeSet.java ! src/share/classes/java/util/prefs/AbstractPreferences.java ! src/share/classes/java/util/regex/Matcher.java ! src/share/classes/javax/rmi/ssl/SslRMIClientSocketFactory.java ! src/share/classes/javax/rmi/ssl/SslRMIServerSocketFactory.java ! src/share/classes/javax/security/auth/kerberos/KerberosTicket.java ! src/share/classes/javax/security/auth/kerberos/KeyImpl.java ! src/share/classes/sun/misc/ClassFileTransformer.java ! src/share/classes/sun/misc/Cleaner.java ! src/share/classes/sun/misc/ExtensionDependency.java ! src/share/classes/sun/misc/GC.java ! src/share/classes/sun/misc/Launcher.java ! src/share/classes/sun/misc/PerformanceLogger.java ! src/share/classes/sun/misc/ProxyGenerator.java ! src/share/classes/sun/misc/URLClassPath.java ! src/share/classes/sun/net/NetProperties.java ! src/share/classes/sun/net/NetworkClient.java ! src/share/classes/sun/net/ftp/FtpClient.java ! src/share/classes/sun/net/spi/DefaultProxySelector.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/http/KeepAliveCache.java ! src/share/classes/sun/net/www/http/KeepAliveStream.java ! src/share/classes/sun/net/www/http/KeepAliveStreamCleaner.java ! src/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/jar/URLJarFile.java ! src/share/classes/sun/nio/ch/Reflect.java ! src/share/classes/sun/nio/ch/SocketAdaptor.java ! src/share/classes/sun/nio/ch/Util.java ! src/share/classes/sun/reflect/ClassDefiner.java ! src/share/classes/sun/reflect/MethodAccessorGenerator.java ! src/share/classes/sun/reflect/ReflectionFactory.java ! src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java ! src/share/classes/sun/reflect/misc/MethodUtil.java ! src/share/classes/sun/rmi/log/ReliableLog.java ! src/share/classes/sun/rmi/registry/RegistryImpl.java ! src/share/classes/sun/rmi/rmic/RemoteClass.java ! src/share/classes/sun/rmi/rmic/newrmic/jrmp/RemoteClass.java ! src/share/classes/sun/rmi/runtime/Log.java ! src/share/classes/sun/rmi/server/LoaderHandler.java ! src/share/classes/sun/rmi/server/MarshalInputStream.java ! src/share/classes/sun/rmi/server/MarshalOutputStream.java ! src/share/classes/sun/rmi/server/Util.java ! src/share/classes/sun/rmi/server/WeakClassHashMap.java ! src/share/classes/sun/rmi/transport/DGCClient.java ! src/share/classes/sun/rmi/transport/Target.java ! src/share/classes/sun/rmi/transport/Transport.java ! src/share/classes/sun/rmi/transport/proxy/CGIHandler.java ! src/share/classes/sun/rmi/transport/proxy/HttpSendSocket.java ! src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java ! src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java ! src/share/classes/sun/security/jgss/GSSManagerImpl.java ! src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java ! src/share/classes/sun/security/ssl/CipherSuite.java ! src/share/classes/sun/security/ssl/DHCrypt.java ! src/share/classes/sun/security/ssl/JsseJce.java ! src/share/classes/sun/security/ssl/ProtocolList.java ! src/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/share/classes/sun/security/ssl/SessionId.java ! src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java ! src/share/classes/sun/security/x509/CertificatePolicySet.java ! src/share/classes/sun/security/x509/X509Cert.java ! src/share/classes/sun/tools/jar/JarVerifierStream.java ! src/share/classes/sun/tools/native2ascii/N2AFilter.java ! src/solaris/classes/java/util/prefs/FileSystemPreferences.java ! src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java ! src/solaris/classes/sun/security/provider/NativePRNG.java ! src/windows/classes/sun/security/mscapi/SunMSCAPI.java Changeset: 3c75107c46a4 Author: lmalvent Date: 2008-03-10 23:13 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/3c75107c46a4 4981215: Publishing a port number for management console to access Reviewed-by: emcmanus, dfuchs ! src/share/classes/sun/management/ConnectorAddressLink.java ! src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java + test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java Changeset: c1a7b8f2c1bc Author: lmalvent Date: 2008-03-10 23:31 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/c1a7b8f2c1bc Merge Changeset: 7618b0596aab Author: lmalvent Date: 2008-03-10 23:51 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7618b0596aab Merge Changeset: 32334945b32e Author: lmalvent Date: 2008-03-11 01:20 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/32334945b32e 6655515: MBeans tab: operation return values of type Component displayed as String 6439590: MBeans tab: jconsole mbean tree not correctly refreshed 6446434: MBeans tab: Not possible to view MBean content before all MBeans have been initially loaded 6520144: Hard to find MBean Attributes, Operations, and Notifications in Java 6 jconsole 6522091: VMPanel.java contains non-ASCII character 6608334: JConsole fails to display MBean operation with return type 6611445: MBeans tab: MBean tree algorithm wrongly removes intermediate nodes. Reviewed-by: dfuchs, jfdenise ! src/share/classes/sun/tools/jconsole/MBeansTab.java ! src/share/classes/sun/tools/jconsole/MemoryPoolStat.java ! src/share/classes/sun/tools/jconsole/VMPanel.java ! src/share/classes/sun/tools/jconsole/inspector/OperationEntry.java ! src/share/classes/sun/tools/jconsole/inspector/TableSorter.java ! src/share/classes/sun/tools/jconsole/inspector/ThreadDialog.java ! src/share/classes/sun/tools/jconsole/inspector/Utils.java ! src/share/classes/sun/tools/jconsole/inspector/XDataViewer.java ! src/share/classes/sun/tools/jconsole/inspector/XMBean.java ! src/share/classes/sun/tools/jconsole/inspector/XMBeanInfo.java ! src/share/classes/sun/tools/jconsole/inspector/XMBeanNotifications.java ! src/share/classes/sun/tools/jconsole/inspector/XMBeanOperations.java ! src/share/classes/sun/tools/jconsole/inspector/XObject.java ! src/share/classes/sun/tools/jconsole/inspector/XOperations.java ! src/share/classes/sun/tools/jconsole/inspector/XPlotter.java ! src/share/classes/sun/tools/jconsole/inspector/XPlottingViewer.java ! src/share/classes/sun/tools/jconsole/inspector/XSheet.java ! src/share/classes/sun/tools/jconsole/inspector/XTable.java ! src/share/classes/sun/tools/jconsole/inspector/XTextField.java ! src/share/classes/sun/tools/jconsole/inspector/XTextFieldEditor.java ! src/share/classes/sun/tools/jconsole/inspector/XTree.java Changeset: 7ddbf4c837b9 Author: martin Date: 2008-03-10 23:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7ddbf4c837b9 5080227: (coll spec) Bug in documentation for WeakHashMap Reviewed-by: dholmes ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/WeakHashMap.java Changeset: 72b9e96ddbe9 Author: martin Date: 2008-03-10 23:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/72b9e96ddbe9 6595669: regtest LinkedBlockingQueue/OfferRemoveLoops.java fails Reviewed-by: dholmes ! test/java/util/concurrent/LinkedBlockingQueue/OfferRemoveLoops.java Changeset: 3654a4ce7d54 Author: martin Date: 2008-03-10 23:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/3654a4ce7d54 6612102: (coll) IdentityHashMap.iterator().remove() might decrement size twice Reviewed-by: dholmes ! src/share/classes/java/util/IdentityHashMap.java + test/java/util/Map/LockStep.java Changeset: 9f7046dbd9ab Author: martin Date: 2008-03-10 23:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9f7046dbd9ab 6602600: Fast removal of cancelled scheduled thread pool tasks Reviewed-by: alanb Contributed-by: Doug Lea
! src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java + test/java/util/concurrent/ScheduledThreadPoolExecutor/BasicCancelTest.java + test/java/util/concurrent/ScheduledThreadPoolExecutor/Stress.java Changeset: 944d0faa0c50 Author: martin Date: 2008-03-10 23:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/944d0faa0c50 6609775: Reduce context switches in DelayQueue due to signalAll Reviewed-by: alanb Contributed-by: Doug Lea
! src/share/classes/java/util/concurrent/DelayQueue.java + test/java/util/concurrent/DelayQueue/Stress.java Changeset: ef7047a30d91 Author: martin Date: 2008-03-10 23:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ef7047a30d91 6620549: ExecutorService#shutdown should clearly state that it does not block Reviewed-by: dholmes Contributed-by: Doug Lea
! src/share/classes/java/util/concurrent/ExecutorService.java ! src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java ! src/share/classes/java/util/concurrent/ThreadPoolExecutor.java Changeset: da49dce73a07 Author: martin Date: 2008-03-10 23:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/da49dce73a07 6625723: Excessive ThreadLocal storage used by ReentrantReadWriteLock Reviewed-by: dholmes Contributed-by: Doug Lea
! src/share/classes/java/util/concurrent/locks/ReentrantReadWriteLock.java ! test/java/util/concurrent/locks/ReentrantReadWriteLock/Count.java Changeset: e34975f797fc Author: martin Date: 2008-03-10 23:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e34975f797fc 6633113: test/java/util/concurrent/SynchronousQueue/Fairness.java fails intermittently Reviewed-by: dholmes ! test/java/util/concurrent/SynchronousQueue/Fairness.java Changeset: f330b7834288 Author: martin Date: 2008-03-10 23:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f330b7834288 6583872: (coll) Direct uninformed users away from Vector/Hashtable Reviewed-by: dholmes ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/Vector.java Changeset: 0487ce0465d6 Author: martin Date: 2008-03-10 23:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/0487ce0465d6 6625725: (coll) modCount should not be volatile Reviewed-by: dholmes ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/IdentityHashMap.java ! src/share/classes/java/util/WeakHashMap.java Changeset: 278e769f9123 Author: alanb Date: 2008-03-11 14:42 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/278e769f9123 6448457: (ch) Channels.newOutputStream().write() does not write all data Reviewed-by: iris, sherman ! src/share/classes/java/nio/channels/Channels.java + test/java/nio/channels/Channels/ShortWrite.java Changeset: c97ff189e490 Author: alanb Date: 2008-03-11 14:49 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/c97ff189e490 6644607: (ch) test/java/nio/channels/SocketChannel/Connect.java throws UnknownHostException Reviewed-by: chegar ! test/java/nio/channels/TestUtil.java Changeset: 7b28e857d36c Author: alanb Date: 2008-03-13 19:29 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7b28e857d36c 6628575: (fc) lock/tryLock methods do not work with NFS servers that limit lock range to max file size Reviewed-by: sherman ! src/solaris/native/sun/nio/ch/FileChannelImpl.c Changeset: c73cb47fe250 Author: alanb Date: 2008-03-13 19:34 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/c73cb47fe250 6546113: (bf) CharSequence.slice() on wrapped CharSequence doesn't start at buffer position Reviewed-by: iris Contributed-by: roman.kennke at aicas.com ! src/share/classes/java/nio/StringCharBuffer.java ! test/java/nio/Buffer/StringCharBufferSliceTest.java Changeset: 547c14448b74 Author: sherman Date: 2008-03-14 14:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/547c14448b74 6514993: (prefs)prefs should use java.util.ServiceLoader to lookup service providers Reviewed-by: iris Contributed-by: xueming.shen at sun.com ! src/share/classes/java/util/prefs/Preferences.java Changeset: dd6765f87558 Author: tbell Date: 2008-03-17 22:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/dd6765f87558 Merge Changeset: e1b99dfabb04 Author: chegar Date: 2008-03-04 17:09 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e1b99dfabb04 6638560: APPCRASH in "SPNEGO_HTTP_AUTH/PROXY_FALLBACK" test case with 64 bit JDK on Win2008 x64, VinVista x64 Summary: Remove incorrect free from native code Reviewed-by: jccollet ! src/windows/native/sun/net/www/protocol/http/NTLMAuthSequence.c Changeset: 02e18782ebe1 Author: weijun Date: 2008-03-05 09:52 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/02e18782ebe1 6641312: Fix krb5 codes indentation problems Reviewed-by: xuelei, valeriep, wetmore ! src/share/classes/sun/security/krb5/KrbTgsReq.java ! src/share/classes/sun/security/krb5/internal/APRep.java ! src/share/classes/sun/security/krb5/internal/APReq.java ! src/share/classes/sun/security/krb5/internal/ASRep.java ! src/share/classes/sun/security/krb5/internal/ASReq.java ! src/share/classes/sun/security/krb5/internal/Authenticator.java ! src/share/classes/sun/security/krb5/internal/AuthorizationData.java ! src/share/classes/sun/security/krb5/internal/AuthorizationDataEntry.java ! src/share/classes/sun/security/krb5/internal/EncAPRepPart.java ! src/share/classes/sun/security/krb5/internal/EncASRepPart.java ! src/share/classes/sun/security/krb5/internal/EncKDCRepPart.java ! src/share/classes/sun/security/krb5/internal/EncKrbCredPart.java ! src/share/classes/sun/security/krb5/internal/EncKrbPrivPart.java ! src/share/classes/sun/security/krb5/internal/EncTGSRepPart.java ! src/share/classes/sun/security/krb5/internal/EncTicketPart.java ! src/share/classes/sun/security/krb5/internal/KDCRep.java ! src/share/classes/sun/security/krb5/internal/KDCReq.java ! src/share/classes/sun/security/krb5/internal/KRBCred.java ! src/share/classes/sun/security/krb5/internal/KrbCredInfo.java ! src/share/classes/sun/security/krb5/internal/ccache/Credentials.java ! src/windows/native/sun/security/krb5/NativeCreds.c Changeset: 6baf10020bb3 Author: jccollet Date: 2008-03-05 11:40 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/6baf10020bb3 6641309: Wrong Cookie separator used in HttpURLConnection Summary: Added a space to cookie separator. Generified the code and added tags. Reviewed-by: chegar ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! test/java/net/CookieHandler/CookieManagerTest.java + test/sun/net/www/protocol/http/B6641309.java Changeset: 7360321c37e3 Author: weijun Date: 2008-03-05 21:55 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7360321c37e3 6648972: KDCReq.init always read padata Summary: PA-DATA is optional, only read it when it exists Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/internal/ETypeInfo2.java ! src/share/classes/sun/security/krb5/internal/KDCReq.java + test/sun/security/krb5/OptionPADataInKDCReq.java Changeset: d842462572a9 Author: weijun Date: 2008-03-05 22:15 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/d842462572a9 6590930: reed/write does not match for ccache Summary: Add null-awareness to ccache read Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java ! src/share/classes/sun/security/krb5/internal/ccache/Credentials.java + test/sun/security/krb5/TimeInCCache.java Changeset: 66d2a8a11d59 Author: weijun Date: 2008-03-05 22:16 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/66d2a8a11d59 6664612: debug output leaked Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java ! src/share/classes/sun/security/krb5/internal/crypto/dk/AesDkCrypto.java ! src/share/classes/sun/security/krb5/internal/crypto/dk/ArcFourCrypto.java Changeset: b6f7db7d8648 Author: jccollet Date: 2008-03-05 17:16 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/b6f7db7d8648 6660405: HttpURLConnection returns the wrong InputStream Summary: Set inputStream back to null in disconnectInternal(). Reviewed-by: chegar ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/sun/net/www/protocol/http/B6660405.java Changeset: 7ce5e8238b53 Author: jccollet Date: 2008-03-05 18:11 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7ce5e8238b53 6651717: Debug output statement left in MailToURLConnection Summary: Removed output statement, removed unused imports, added override tags. Reviewed-by: chegar ! src/share/classes/sun/net/www/protocol/mailto/MailToURLConnection.java Changeset: fa6948bdc4b0 Author: wetmore Date: 2008-03-06 10:35 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/fa6948bdc4b0 6623830: SCCS cleanup has broken two regression tests. Reviewed-by: chegar ! test/java/net/ResponseCache/file2.1 Changeset: a100f699c155 Author: chegar Date: 2008-03-07 09:57 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a100f699c155 6667108: typo in javadoc for java.net.Socket.getRemoteSocketAddress() Summary: Simple typo in method specification. Reviewed-by: jccollet ! src/share/classes/java/net/Socket.java Changeset: 328415dfe347 Author: chegar Date: 2008-03-07 11:30 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/328415dfe347 6615656: Removed unimplemented java.net methods Reviewed-by: jccollet ! src/share/classes/java/net/AbstractPlainSocketImpl.java ! src/share/classes/java/net/NetworkInterface.java ! src/solaris/classes/java/net/PlainSocketImpl.java ! src/windows/classes/java/net/DualStackPlainSocketImpl.java ! src/windows/classes/java/net/TwoStacksPlainSocketImpl.java Changeset: 10d5be3e1fa8 Author: chegar Date: 2008-03-07 11:51 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/10d5be3e1fa8 6591358: documentation error in URLConnection.setRequestProperty("accept", ...) Summary: Simple doc change, "accept" -> "Accept" Reviewed-by: jccollet ! src/share/classes/java/net/URLConnection.java Changeset: 50a8b5ca8f39 Author: chegar Date: 2008-03-07 13:00 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/50a8b5ca8f39 6628576: InterfaceAddress.equals() NPE when broadcast field == null Summary: Update logic in equals to correctly handle nulls. Reviewed-by: michaelm ! src/share/classes/java/net/InterfaceAddress.java + test/java/net/InterfaceAddress/Equals.java Changeset: 1143fe7be725 Author: chegar Date: 2008-03-07 15:15 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/1143fe7be725 6672682: Forgotten file from CR 6615656. Reviewed-by: michaelm ! src/windows/classes/java/net/PlainSocketImpl.java Changeset: 0bce46885f3a Author: chegar Date: 2008-03-07 07:25 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/0bce46885f3a 6628661: NTLM-authentication doesn't work with non-ASCII letters Summary: Use JNU_GetStringPlatformChars to convert jstrings to the locale specific native C strings Reviewed-by: michaelm ! src/windows/native/sun/net/www/protocol/http/NTLMAuthSequence.c Changeset: 1b597b0efded Author: chegar Date: 2008-03-07 07:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/1b597b0efded Merge Changeset: 67d13a20483a Author: chegar Date: 2008-03-07 17:17 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/67d13a20483a 6631048: Problem when writing on output stream of HttpURLConnection Summary: Fix up logic in ChunkedOutputStream.write Reviewed-by: jccollet ! src/share/classes/sun/net/www/http/ChunkedOutputStream.java ! test/sun/net/www/http/ChunkedOutputStream/Test.java Changeset: 344b9b281048 Author: chegar Date: 2008-03-07 17:18 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/344b9b281048 Merge Changeset: ac695089ccc5 Author: weijun Date: 2008-03-08 22:49 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ac695089ccc5 6634644: broken fragment, should use @link Reviewed-by: mullan ! src/share/classes/javax/security/cert/X509Certificate.java Changeset: 2c37083730b1 Author: weijun Date: 2008-03-08 22:51 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/2c37083730b1 6643094: Test on keytool -startdate forgets about December Reviewed-by: xuelei ! test/sun/security/tools/keytool/StartDateTest.java Changeset: 06eb4d224a6b Author: weijun Date: 2008-03-08 22:52 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/06eb4d224a6b 6597349: KeyStore.getCertificateChain() may not return the full chain Reviewed-by: mullan ! src/share/classes/java/security/KeyStore.java Changeset: f6f456d2fabf Author: weijun Date: 2008-03-12 09:32 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f6f456d2fabf 6673164: dns_fallback parse error Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/Config.java + test/sun/security/krb5/DnsFallback.java Changeset: a43ebfd8915a Author: wetmore Date: 2008-03-11 23:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a43ebfd8915a Merge ! src/share/classes/java/net/Socket.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Changeset: 6068b786e186 Author: mullan Date: 2008-03-13 13:29 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/6068b786e186 6611991: Add support for parsing RFC4514 DNs to X500Principal Summary: Added new test and made one code change to escape null characters. Reviewed-by: vinnie ! src/share/classes/sun/security/x509/AVA.java + test/javax/security/auth/x500/X500Principal/RFC4514.java Changeset: 32e7ba670b0e Author: mullan Date: 2008-03-14 10:33 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/32e7ba670b0e Merge Changeset: 7dc3b56f220f Author: xuelei Date: 2008-03-15 13:43 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7dc3b56f220f 6648816: REGRESSION: setting -Djava.security.debug=failure result in NPE in ACC Summary: unchecking the null pointer of the debug handle Reviewed-by: mullan, weijun ! src/share/classes/java/security/AccessControlContext.java + test/java/security/AccessControlContext/FailureDebugOption.java Changeset: d69e411f0711 Author: xuelei Date: 2008-03-16 01:37 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/d69e411f0711 6618387: SSL client sessions do not close cleanly. A TCP reset occurs instead of a close_notify alert. Summary: closeIdelConnection() does not query the cached connection correctly. Reviewed-by: chegar ! src/share/classes/sun/net/www/protocol/https/HttpsClient.java + test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CloseKeepAliveCached.java Changeset: 73f50a1c8634 Author: xuelei Date: 2008-03-16 23:46 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/73f50a1c8634 6542796: CPU issue with JSSE and tomcat Summary: record length count error Reviewed-by: weijun ! src/share/classes/sun/security/ssl/InputRecord.java Changeset: 280a7b75cd39 Author: xuelei Date: 2008-03-17 03:11 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/280a7b75cd39 6447412: Issue with socket.close() for ssl sockets when poweroff on other system Summary: Support SSL sockets SOLINGER Reviewed-by: chegar ! src/share/classes/sun/security/ssl/Handshaker.java ! src/share/classes/sun/security/ssl/OutputRecord.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/AsyncSSLSocketClose.java Changeset: f6905d8eee6e Author: wetmore Date: 2008-03-06 16:06 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f6905d8eee6e 6578538: com.sun.crypto.provider.SunJCE instance leak using KRB5 and LoginContext Reviewed-by: valeriep ! src/share/classes/com/sun/crypto/provider/PBKDF2KeyImpl.java + test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java Changeset: 1cb78400acce Author: wetmore Date: 2008-03-17 11:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/1cb78400acce Merge Changeset: 0f030deba7df Author: wetmore Date: 2008-03-17 12:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/0f030deba7df Merge Changeset: 9ae056d2cffd Author: tbell Date: 2008-03-17 23:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9ae056d2cffd Merge Changeset: e0d783c556fc Author: son Date: 2008-03-13 15:36 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e0d783c556fc 6595651: Focus transfers broken for applications embedding AWT across processes Summary: Now we allow cross-process focus requests if focus is in embedder's process. Reviewed-by: ant ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Frame.cpp ! src/windows/native/sun/windows/awt_Toolkit.cpp ! src/windows/native/sun/windows/awt_Toolkit.h Changeset: 367edeff526e Author: son Date: 2008-03-13 16:12 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/367edeff526e 6616095: AWT's WindowDisposerRecord keeps AppContext alive too long Summary: WindowDisposerRecord should not keep strong reference to AppContext. Reviewed-by: art ! src/share/classes/java/awt/Window.java Changeset: e4e71142754b Author: son Date: 2008-03-13 16:19 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e4e71142754b 6632140: minor refactoring for XWM Summary: code cleanup and generificaion for XWM Reviewed-by: anthony ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XWM.java Changeset: dc7dfc7d15ba Author: son Date: 2008-03-13 16:27 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/dc7dfc7d15ba 6592751: EmbeddedFrame disposal is fragile and breaks clean AppContext termination Summary: AppContext.dispose() should be ready to get exceptions during disposal of toplevels. Also now we mark windows peers as destroyed when native object has been destroyed. Reviewed-by: art ! src/share/classes/sun/awt/AppContext.java ! src/windows/classes/sun/awt/windows/WObjectPeer.java ! src/windows/native/sun/windows/awt.h ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Object.cpp ! src/windows/native/sun/windows/awt_Object.h Changeset: 619d2d592b88 Author: son Date: 2008-03-13 16:32 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/619d2d592b88 6603256: Startup: Defer initialization of DropTarget's flavorMap Summary: SystemFlavorMap is lazily initialized now. Reviewed-by: uta ! src/share/classes/java/awt/datatransfer/SystemFlavorMap.java ! src/share/classes/java/awt/dnd/DropTarget.java Changeset: f3377ab93ee8 Author: son Date: 2008-03-13 16:42 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f3377ab93ee8 6607163: Linux: Cannot copy image from Java to OpenOffice Summary: TARGETS should have type ATOM Reviewed-by: denis ! src/solaris/classes/sun/awt/X11/XSelection.java Changeset: bbd8e20d5052 Author: son Date: 2008-03-13 16:47 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/bbd8e20d5052 6636369: sun.awt.datatransfer.DataTransferer contains double-check idiom Summary: double-check has been removed Reviewed-by: dav ! src/share/classes/sun/awt/datatransfer/DataTransferer.java Changeset: c9ee9428aea9 Author: son Date: 2008-03-13 16:51 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/c9ee9428aea9 6636331: ConcurrentModificationException in AppContext code Summary: Added synchronization to AppContext.getAppContexts() Reviewed-by: art ! src/share/classes/sun/awt/AppContext.java Changeset: 86a5780cad99 Author: son Date: 2008-03-13 16:54 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/86a5780cad99 6636370: minor corrections and simplification of code in AppContext Summary: mainAppContext, isDisposed, and numAppContexts has beem made volatile. mostRecentThreadAppContext has been rewritten using ThreadLocal. Reviewed-by: art ! src/share/classes/sun/awt/AppContext.java Changeset: 026144f0d26a Author: son Date: 2008-03-13 16:56 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/026144f0d26a 6636368: XAtom contains unused code Summary: unused code has been removed Reviewed-by: dcherepanov ! src/solaris/classes/sun/awt/X11/XAtom.java Changeset: 63f02cc8ff3d Author: son Date: 2008-03-13 17:04 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/63f02cc8ff3d 6645885: small refactoring for XContentWindow Summary: move createContent() method from XDecoratedPeer to XContentWindow, so only XContentWindow keep information about the way we position it. Reviewed-by: anthony ! src/solaris/classes/sun/awt/X11/XContentWindow.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java Changeset: d9fb87af8b07 Author: son Date: 2008-03-13 17:08 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/d9fb87af8b07 6645856: static field XWindowPeer.defaultFont hides XWindow.defaultFont Summary: unnedded code has been removed. Added getter for XWindow.defaultFont to initialize it lazily. Reviewed-by: dav ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XMenuItemPeer.java ! src/solaris/classes/sun/awt/X11/XPopupMenuPeer.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 Changeset: 176e1fe7dead Author: son Date: 2008-03-13 17:14 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/176e1fe7dead 6538066: XSelection should be more passive Summary: Now only XClipboard know about XSelection, and XSelection knows nothing about XClipboard. Reviewed-by: uta, denis ! src/solaris/classes/sun/awt/X11/MotifDnDConstants.java ! src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java + src/solaris/classes/sun/awt/X11/OwnershipListener.java ! src/solaris/classes/sun/awt/X11/XClipboard.java ! src/solaris/classes/sun/awt/X11/XDnDConstants.java ! src/solaris/classes/sun/awt/X11/XSelection.java Changeset: fa0dc97ef9a0 Author: dcherepanov Date: 2008-03-14 17:23 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/fa0dc97ef9a0 6522731: Location of the frame changes,when the frame is resized & non-resized. Summary: XMoveWindow() should use shell's location Reviewed-by: son ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java Changeset: 296b6e29a99d Author: dcherepanov Date: 2008-03-14 18:27 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/296b6e29a99d 6612497: api/java_awt/Container/index.html#isAncestorOf Container2019 hangs since JDK 7 b15 Summary: Partial rollback changes for 6567564 in the Component.getGC method Reviewed-by: art, son ! src/share/classes/java/awt/Component.java Changeset: 5ac897d182a6 Author: dcherepanov Date: 2008-03-14 18:50 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/5ac897d182a6 6603010: Out-of-process Java Plug-In non-functional or barely functional on X11 platforms Summary: AWT XEmbed shouldn't use _SUN_XEMBED_START message Reviewed-by: art, son ! src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedServerTester.java Changeset: 92e3f57c933b Author: dcherepanov Date: 2008-03-14 20:40 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/92e3f57c933b 6524352: support for high-resolution mouse wheel Summary: added support for high-resolution mouse wheel Reviewed-by: dav, son ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/event/MouseWheelEvent.java ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h + test/java/awt/event/MouseEvent/SmoothWheel/SmoothWheel.java Changeset: 15ba7093f8e6 Author: dcherepanov Date: 2008-03-14 22:00 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/15ba7093f8e6 6578583: Regression: Modality is broken in windows vista home premium from jdk1.7 b02 onwards. Summary: WS_DISABLED style should be used to fix some modality bugs Reviewed-by: art, son ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h + test/java/awt/Modal/WsDisabledStyle/CloseBlocker/CloseBlocker.java + test/java/awt/Modal/WsDisabledStyle/OverBlocker/OverBlocker.java + test/java/awt/Modal/WsDisabledStyle/Winkey/Winkey.java Changeset: 9f51e4e1251e Author: anthony Date: 2008-03-18 12:04 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9f51e4e1251e 6608764: PropertyChangeListeners machinery should have a better locking scheme Summary: Change to use a private final object java.awt.Component.changeSupportLock for locking purposes instead of using this Reviewed-by: son, ant ! src/share/classes/java/awt/Component.java Changeset: 9b6848cf363c Author: anthony Date: 2008-03-18 13:53 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9b6848cf363c 6613927: Compilation of splashscreen png library failed on Ubuntu 7.04 (64bit) Summary: The macro PNG_NO_MMX_CODE should be defined when compiling on 64bit Linux Reviewed-by: yan, avu ! make/sun/splashscreen/Makefile Changeset: fd7f2562ea00 Author: anthony Date: 2008-03-18 14:10 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/fd7f2562ea00 6607660: java.awt.Container.getMouseEventTargetImpl should be invoked while holding the TreeLock Summary: The body of the method has been wrapped into the synchronized (getTreeLock()) { } block. Reviewed-by: son, art ! src/share/classes/java/awt/Container.java Changeset: e8b40b676b89 Author: anthony Date: 2008-03-18 14:20 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e8b40b676b89 6637796: setBounds doesn't enlarge Component Summary: Added the areBoundsValid() method that verifies whether the current bounds of the component are valid. Using the isValid() method for this purpose previously was incorrect. Reviewed-by: son, art ! src/share/classes/java/awt/Component.java + test/java/awt/Mixing/ValidBounds.java Changeset: 9306c5d6344f Author: anthony Date: 2008-03-18 14:36 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9306c5d6344f 6304277: PIT: Adding a TrayIcon closes a SplashScreen on Solaris but not on Win32 Summary: The Window.closeSplashScreen() method now verified the boolean flag isTrayIconWindow, and returns if it is true. Reviewed-by: son, dcherepanov ! src/share/classes/java/awt/Window.java Changeset: fc0164db7a3b Author: anthony Date: 2008-03-18 15:07 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/fc0164db7a3b 6581927: REG : Non focusable frame can be minimized to very small & Frame icon can be seen on frame buttons. Summary: The SWP_NOSENDCHANGING flag should not be passed to the ::SetWindowPos() WinAPI function when we receive the WM_MOUSEMOVE message while manually handling the resizing of non-focusable frames. Reviewed-by: son, ant ! src/windows/native/sun/windows/awt_Frame.cpp + test/java/awt/Focus/NonFocusableResizableTooSmall/NonFocusableResizableTooSmall.java Changeset: 8a57a0be2a97 Author: anthony Date: 2008-03-18 16:19 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/8a57a0be2a97 6589527: Window and Frame instances can hide their "Applet Warning" Summary: Additional constraints have been added for the setBounds() operation. Reviewed-by: son, art ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XDialogPeer.java ! src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/motif/MDialogPeer.java ! src/solaris/classes/sun/awt/motif/MEmbeddedFramePeer.java ! src/solaris/classes/sun/awt/motif/MFramePeer.java ! src/solaris/classes/sun/awt/motif/MWindowPeer.java ! src/windows/classes/sun/awt/windows/WDialogPeer.java ! src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java ! src/windows/classes/sun/awt/windows/WFramePeer.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h Changeset: 241fd18949db Author: anthony Date: 2008-03-20 11:09 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/241fd18949db 4993545: NativeInLightFixer adds asynchronousity Summary: All the hooks related to the NativeInLightFixer have been moved to the HW/LW mixing handling methods. The NativeInLightFixer itself has been removed. Reviewed-by: son, alexp ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java Changeset: 51c761339b1c Author: ant Date: 2008-03-19 16:23 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/51c761339b1c 6567410: PIT : java/awt/Focus/AutoRequestFocusTest/AutoRequestFocusSetVisibleTest.java fails Summary: A filter flag has been added to the HCBT focus hook. Reviewed-by: dcherepanov ! src/windows/native/sun/windows/awt_Window.cpp Changeset: 810904060acf Author: ant Date: 2008-03-20 14:26 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/810904060acf Merge Changeset: 92e9ac30618a Author: son Date: 2008-03-20 16:21 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/92e9ac30618a 6630878: clean target in sun/xawt is incomplete Summary: clean target should remove .gen_icons Reviewed-by: yan ! make/sun/xawt/Makefile Changeset: 82233ac3d09f Author: ant Date: 2008-03-20 18:06 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/82233ac3d09f 6598089: JDK 7: AWT often goes into busy loop when showing dialog Summary: Preventing focus from getting in an endless loop. Reviewed-by: son ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java + test/java/awt/Focus/RestoreFocusOnDisabledComponentTest/RestoreFocusOnDisabledComponentTest.java Changeset: dbff1fcf1767 Author: ant Date: 2008-03-21 09:54 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/dbff1fcf1767 6599270: Using EmbeddedFrame in SWT leads to a hang Summary: Excluding EmbeddedFrame from the workaround of activating a toplevel in not foreground process. Reviewed-by: son ! src/windows/native/sun/windows/awt_Frame.cpp Changeset: 0f955581dc0b Author: yan Date: 2008-03-24 06:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/0f955581dc0b Merge Changeset: f1c168caf94f Author: ohair Date: 2008-03-18 11:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f1c168caf94f 6674226: Warning errors in freetypecheck Summary: Just corrected some C code to remove warning errors from gcc. Reviewed-by: tbell ! make/tools/freetypecheck/freetypecheck.c Changeset: e564dc9241e5 Author: ohair Date: 2008-03-18 11:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e564dc9241e5 6611788: chmod a+x bin/winver.exe in make/tools/winver/Makefile fails on a read only file system Summary: Tell Mercurial this file has execute permission. Reviewed-by: tbell Changeset: ea98209ac149 Author: ohair Date: 2008-03-18 11:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ea98209ac149 6674232: OPENJDK=false is same as OPENJDK=true Summary: OPENJDK should be empty (undefined) or "true". Reviewed-by: tbell ! make/common/Defs.gmk Changeset: e98ce66d7630 Author: ohair Date: 2008-03-18 11:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e98ce66d7630 6654458: /java/devtools findbugs doesn't work on windows Summary: Changes to both ant and findbugs version checking. Reviewed-by: tbell ! make/common/shared/Defs-utils.gmk ! make/common/shared/Defs.gmk ! make/common/shared/Sanity.gmk Changeset: 9ae5ccf6891c Author: ohair Date: 2008-03-19 13:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9ae5ccf6891c 6611629: Avoid hardcoded cygwin paths for memory detection Summary: Use free with sygwin, mem or systeminfo otherwise, to get MB_OF_MEMORY on windows. Reviewed-by: tbell ! make/common/shared/Platform.gmk Changeset: 9b0d53aa8549 Author: ohair Date: 2008-03-25 14:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9b0d53aa8549 6627817: Remove ^M characters in all files (Makefiles too) Summary: Some files included the use of the ^M character, which has been deleted. Reviewed-by: xdono ! make/common/shared/Sanity.gmk ! make/docs/CORE_PKGS.gmk ! src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames.properties ! src/share/classes/com/sun/inputmethods/internal/thaiim/resources/DisplayNames.properties ! src/share/classes/com/sun/org/apache/xml/internal/security/resource/config.dtd ! src/share/classes/com/sun/org/apache/xml/internal/security/resource/config.xml ! src/share/classes/com/sun/org/apache/xml/internal/security/resource/schema/etsi.xsd ! src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties ! src/share/classes/javax/swing/plaf/synth/doc-files/synth.dtd ! src/share/classes/javax/swing/plaf/synth/package.html ! src/share/demo/jfc/Notepad/resources/Notepad.properties ! src/share/sample/vm/clr-jvm/Makefile ! src/share/sample/vm/clr-jvm/README.txt ! src/share/sample/vm/clr-jvm/invoker.cs ! src/share/sample/vm/jvm-clr/README.txt ! src/share/sample/vm/jvm-clr/invoked.cs Changeset: 40b6f7fcac38 Author: ohair Date: 2008-03-26 17:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/40b6f7fcac38 Merge Changeset: 75fca0b0ab83 Author: xdono Date: 2008-03-27 12:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/75fca0b0ab83 Merge Changeset: 6e25a8a3f8c6 Author: xdono Date: 2008-04-09 11:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/6e25a8a3f8c6 Added tag jdk7-b25 for changeset 75fca0b0ab83 ! .hgtags Changeset: 0d4923ce2707 Author: emcmanus Date: 2008-03-19 15:17 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/0d4923ce2707 6675768: NoSuchElementException thrown in RequiredModelMBean when tracing enabled Summary: Rewrite logging in RequiredModelMBean.addAttributeChangeNotificationListener Reviewed-by: dfuchs ! src/share/classes/javax/management/modelmbean/RequiredModelMBean.java + test/javax/management/modelmbean/LoggingExceptionTest.java Changeset: f5853d8dab12 Author: mchung Date: 2008-03-18 11:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f5853d8dab12 6658779: Regression: HotspotDiagnosticMXBean.getDiagnosticOptions() throws NullPointerException Summary: Add a null check for the VM option string Reviewed-by: alanb, tbell ! src/share/classes/sun/management/Flag.java + test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticOptions.java Changeset: b413d5d6cedc Author: mchung Date: 2008-03-18 12:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/b413d5d6cedc 6672804: First line in com/sun/management/package.html is broken Summary: Fixed the typo in package.html Reviewed-by: jjh ! src/share/classes/com/sun/management/package.html Changeset: 3e2a5ab9c131 Author: mchung Date: 2008-03-19 11:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/3e2a5ab9c131 Merge Changeset: 9a97ca4eb8b7 Author: emcmanus Date: 2008-03-21 09:49 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9a97ca4eb8b7 6649542: Document explicitly in registerMBean etc that MBeanServerNotification is emitted Summary: Make spec more readable by adding cross-references. Suggested by Andrew Haley. Reviewed-by: dfuchs ! src/share/classes/javax/management/MBeanServer.java Changeset: 01f7eeea81f1 Author: emcmanus Date: 2008-03-21 18:07 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/01f7eeea81f1 6643627: JMX source code includes incorrect Java code Summary: javac compiler bug accepts incorrect code; JMX code inadvertently has such code Reviewed-by: dfuchs ! src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java ! src/share/classes/java/beans/MetaData.java Changeset: 75b405bff406 Author: tbell Date: 2008-03-27 10:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/75b405bff406 Merge Changeset: 7dd94e5bbec4 Author: dcubed Date: 2008-03-24 14:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7dd94e5bbec4 6239043: 4/4 TransformerManagementThreadAddTests.java failed Summary: Clear fCheckedTransformers in order to properly record transformer() call data. Reviewed-by: sspitsyn ! test/java/lang/instrument/TransformerManagementThreadAddTests.java Changeset: d3dc2ede62ed Author: dcubed Date: 2008-03-24 14:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/d3dc2ede62ed 4926961: 4/4 TransformerManagementThreadRemoveTests hangs Summary: Changes motivated by Effective Java - Item 48 & Item 51. Reviewed-by: sspitsyn ! test/java/lang/instrument/TransformerManagementThreadAddTests.java ! test/java/lang/instrument/TransformerManagementThreadRemoveTests.java Changeset: bca8bf23ac59 Author: dcubed Date: 2008-03-24 15:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/bca8bf23ac59 5088398: 3/2 java.lang.instrument TCK test deadlock (test11) Summary: Add regression test for single-threaded bootstrap classloader. Reviewed-by: sspitsyn + test/java/lang/instrument/ParallelTransformerLoader.sh + test/java/lang/instrument/ParallelTransformerLoaderAgent.java + test/java/lang/instrument/ParallelTransformerLoaderApp.java + test/java/lang/instrument/TestClass1.java + test/java/lang/instrument/TestClass2.java + test/java/lang/instrument/TestClass3.java Changeset: 114854ebaa21 Author: dcubed Date: 2008-03-24 15:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/114854ebaa21 6274276: 3/2 java.lang.instrument JAR manifest processing does not remove spaces from class names Summary: Attribute values should be extracted without leading or trailing whitespace. Reviewed-by: ohair, sspitsyn ! src/share/instrument/JarFacade.c + test/java/lang/instrument/ManifestTest.sh + test/java/lang/instrument/ManifestTestAgent.java + test/java/lang/instrument/ManifestTestApp.java Changeset: d4cd9e6a72da Author: dcubed Date: 2008-03-24 15:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/d4cd9e6a72da 6289149: 4/4 Java Agent will pick wrong execution path while attaching Summary: Check for a declared premain() or agentmain() method before an inherited one Reviewed-by: sspitsyn ! src/share/classes/sun/instrument/InstrumentationImpl.java ! test/java/lang/instrument/PremainClass/DummyMain.java + test/java/lang/instrument/PremainClass/InheritAgent0001.java + test/java/lang/instrument/PremainClass/InheritAgent0010.java + test/java/lang/instrument/PremainClass/InheritAgent0011.java + test/java/lang/instrument/PremainClass/InheritAgent0100.java + test/java/lang/instrument/PremainClass/InheritAgent0101.java + test/java/lang/instrument/PremainClass/InheritAgent0110.java + test/java/lang/instrument/PremainClass/InheritAgent0111.java + test/java/lang/instrument/PremainClass/InheritAgent1000.java + test/java/lang/instrument/PremainClass/InheritAgent1001.java + test/java/lang/instrument/PremainClass/InheritAgent1010.java + test/java/lang/instrument/PremainClass/InheritAgent1011.java + test/java/lang/instrument/PremainClass/InheritAgent1100.java + test/java/lang/instrument/PremainClass/InheritAgent1101.java + test/java/lang/instrument/PremainClass/InheritAgent1110.java + test/java/lang/instrument/PremainClass/InheritAgent1111.java + test/java/lang/instrument/PremainClass/NoPremainAgent.java + test/java/lang/instrument/PremainClass/NoPremainAgent.sh + test/java/lang/instrument/PremainClass/ZeroArgPremainAgent.java + test/java/lang/instrument/PremainClass/ZeroArgPremainAgent.sh Changeset: 8c1c6c50dd36 Author: dcubed Date: 2008-03-24 15:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/8c1c6c50dd36 6487488: 3/5 TEST_BUG: Something in test/java/lang/instrument creates a copy of an SCCS dir Summary: Only copy Java source files from ilib and bootreporter. Reviewed-by: sspitsyn ! test/java/lang/instrument/MakeJAR2.sh Changeset: e6e301984a4a Author: dcubed Date: 2008-03-24 15:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e6e301984a4a 6491461: 3/3 TEST: java/lang/instrument .sh tests need to use $TESTVMOPTS in their java commands Summary: Add ${TESTVMOPTS} to java test execution command(s). Reviewed-by: sspitsyn ! test/java/lang/instrument/BootClassPath/BootClassPathTest.sh ! test/java/lang/instrument/PremainClass/PremainClassTest.sh ! test/java/lang/instrument/appendToClassLoaderSearch/CircularityErrorTest.sh ! test/java/lang/instrument/appendToClassLoaderSearch/ClassUnloadTest.sh ! test/java/lang/instrument/appendToClassLoaderSearch/CommonSetup.sh ! test/java/lang/instrument/appendToClassLoaderSearch/run_tests.sh Changeset: ebe8adae32b9 Author: dcubed Date: 2008-03-24 16:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ebe8adae32b9 6528548: 4/4 NativeMethodPrefixAgent.java times out intermittently in nightly Summary: Increase timeouts for tasks that take > 10 seconds on a 4-way Ultra-80 with all local resources. Reviewed-by: sspitsyn ! test/java/lang/instrument/BootClassPath/BootClassPathTest.sh ! test/java/lang/instrument/NativeMethodPrefixAgent.java ! test/java/lang/instrument/RetransformAgent.java ! test/java/lang/instrument/appendToClassLoaderSearch/CircularityErrorTest.sh ! test/java/lang/instrument/appendToClassLoaderSearch/run_tests.sh Changeset: 31959ddaf501 Author: dcubed Date: 2008-03-24 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/31959ddaf501 6545149: 4/4 JLI Instrumentation.redefineClasses SIGSEGVs on java/lang/Thread Summary: Add regression test for redefining class with native methods. Reviewed-by: sspitsyn + test/java/lang/instrument/RedefineClassWithNativeMethod.sh + test/java/lang/instrument/RedefineClassWithNativeMethodAgent.java + test/java/lang/instrument/RedefineClassWithNativeMethodApp.java Changeset: 719789c7132c Author: dcubed Date: 2008-03-24 16:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/719789c7132c 6547358: 2/2 j.l.i.: manifest attribute 'Can-Retransform-Classes' is ignored by isRetransformClassesSupported() Summary: isRetransformClassesSupported() should return the capability rather than give the agent the capability Reviewed-by: ohair, sspitsyn ! src/share/instrument/JPLISAgent.c Changeset: ba825e4b1b8b Author: dcubed Date: 2008-03-24 16:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ba825e4b1b8b 6547500: 2/2 j.l.i.: .retransformClasses throws unexpected InternalError Summary: retransformClasses() should catch both an empty classes array and a classes array that contains a NULL element. Reviewed-by: ohair, sspitsyn ! src/share/instrument/JPLISAgent.c Changeset: 823abb444593 Author: dcubed Date: 2008-03-24 16:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/823abb444593 6642405: 4/4 src/share/instrument/JPLISAgent.c line 286: "==" found where assignment "=" expected Summary: Fix incorrect variable assignment in initializeJPLISAgent(). Reviewed-by: ohair, sspitsyn ! src/share/instrument/JPLISAgent.c Changeset: 9f75a46fad8b Author: dcubed Date: 2008-03-24 17:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9f75a46fad8b 6572160: 3/3 Instrumentation.getObjectSize triggers JVM crash in JPLISAssert in shutdown Summary: Tolerate JVMTI_ERROR_WRONG_PHASE return codes so that JLI methods can be called to the end of VM's life. Reviewed-by: ohair, sspitsyn ! src/share/instrument/InvocationAdapter.c ! src/share/instrument/JPLISAgent.c ! src/share/instrument/JPLISAgent.h ! src/share/instrument/Reentrancy.c ! src/share/instrument/Utilities.c + test/java/lang/instrument/StressGetObjectSizeApp.java + test/java/lang/instrument/StressGetObjectSizeTest.sh Changeset: 9a804b6297c3 Author: dcubed Date: 2008-03-24 17:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9a804b6297c3 6655234: 4/4 j.l.i.: setNativeMethodPrefix does not document that prefix string can be null Summary: Clarify wording for 'prefix' parameter to setNativeMethodPrefix(). Reviewed-by: sspitsyn ! src/share/classes/java/lang/instrument/Instrumentation.java Changeset: 1f45ae5ea94a Author: dcubed Date: 2008-03-24 17:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/1f45ae5ea94a 6667089: 3/3 multiple redefinitions of a class break reflection Summary: Add regression test for multiple redefinitions of a class break reflection. Reviewed-by: sspitsyn + test/java/lang/instrument/RedefineMethodAddInvoke.sh + test/java/lang/instrument/RedefineMethodAddInvokeAgent.java + test/java/lang/instrument/RedefineMethodAddInvokeApp.java + test/java/lang/instrument/RedefineMethodAddInvokeTarget.java + test/java/lang/instrument/RedefineMethodAddInvokeTarget_1.java + test/java/lang/instrument/RedefineMethodAddInvokeTarget_2.java Changeset: 7bf5f01e419d Author: dcubed Date: 2008-03-26 20:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7bf5f01e419d 6679866: 3/2 portability issues with JLI-batch-200803 on Win* Summary: Make minor tweaks to the fix for 6274276 to make the Win* compiler happy... Reviewed-by: sspitsyn, ohair ! src/share/instrument/JarFacade.c Changeset: 52c76fc0a3a9 Author: dcubed Date: 2008-03-27 14:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/52c76fc0a3a9 Merge Changeset: 2965459a8ee7 Author: emcmanus Date: 2008-04-01 14:45 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/2965459a8ee7 6610917: Define a generic NotificationFilter Summary: Adds javax.management.QueryNotificationFilter Reviewed-by: dfuchs ! src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanAnalyzer.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java + src/share/classes/com/sun/jmx/mbeanserver/NotificationMBeanSupport.java ! src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java ! src/share/classes/com/sun/jmx/mbeanserver/Repository.java ! src/share/classes/com/sun/jmx/mbeanserver/Util.java ! src/share/classes/javax/management/ObjectName.java + src/share/classes/javax/management/QueryNotificationFilter.java + test/javax/management/query/QueryNotifFilterTest.java Changeset: a8d6215fa863 Author: weijun Date: 2008-03-20 11:57 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a8d6215fa863 6670362: HTTP/SPNEGO should work across realms Reviewed-by: valeriep ! src/share/classes/sun/net/www/protocol/http/NegotiatorImpl.java Changeset: 74bc85c0f2a9 Author: valeriep Date: 2008-03-20 16:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/74bc85c0f2a9 4898461: Support for ECB and CBC/PKCS5Padding Summary: Add support for ECB mode and PKCS5Padding Reviewed-by: andreas ! src/share/classes/sun/security/pkcs11/P11Cipher.java ! src/share/classes/sun/security/pkcs11/SunPKCS11.java + test/sun/security/pkcs11/Cipher/TestSymmCiphers.java Changeset: 66c2b0cfc896 Author: valeriep Date: 2008-03-20 17:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/66c2b0cfc896 6572331: regression: cipher.wrap operation fails with CKR_ATTRIBUTE_VALUE_INVALID Summary: Check supported key size range and use encryption if needed Reviewed-by: andreas ! src/share/classes/sun/security/pkcs11/P11KeyGenerator.java ! src/share/classes/sun/security/pkcs11/P11RSACipher.java ! src/share/classes/sun/security/pkcs11/P11SecretKeyFactory.java + test/sun/security/pkcs11/Cipher/TestRSACipherWrap.java Changeset: 84aced25a346 Author: valeriep Date: 2008-03-20 18:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/84aced25a346 6599979: KeyStore.setEntry/setKeyEntry() do not override existing entry for secret key objects Summary: Override existing secret key entry when setEntry/setKeyEntry() is called Reviewed-by: andreas ! src/share/classes/sun/security/pkcs11/P11KeyStore.java ! src/share/classes/sun/security/pkcs11/P11SecretKeyFactory.java + test/sun/security/pkcs11/KeyStore/SecretKeysBasic.java + test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh Changeset: 05afbed1dc4f Author: valeriep Date: 2008-03-21 14:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/05afbed1dc4f Merge Changeset: b22cbc65a360 Author: wetmore Date: 2008-03-28 12:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/b22cbc65a360 Merge Changeset: 8805ae9d160c Author: valeriep Date: 2008-03-31 11:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/8805ae9d160c 6681652: Two new regression test failures in pkcs11 code Summary: Fixed the test to not assume SunJCE provider being the provider for DES Reviewed-by: wetmore ! test/javax/crypto/Cipher/TestGetInstance.java Changeset: e1bf7407c933 Author: wetmore Date: 2008-03-31 13:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e1bf7407c933 6469580: 1.5.0_08 JVM crashes in SignatureHandlerLibrary::add on Fujitsu Primepower platform Reviewed-by: andreas, valeriep, wetmore Contributed-by: chris.phillips at sun.com ! src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c Changeset: 17e93b7fb97d Author: valeriep Date: 2008-03-31 16:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/17e93b7fb97d 6682411: JCK test failed w/ ArrayIndexOutOfBoundException (-1) when decrypting with no data Summary: Fixed PKCS5Padding class with additional check and throw BadPaddingException if the check failed Reviewed-by: wetmore ! src/share/classes/sun/security/pkcs11/P11Cipher.java Changeset: c063b7fb55f7 Author: valeriep Date: 2008-03-31 16:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/c063b7fb55f7 6682417: JCK test failed w/ ProviderException when decrypted data is not multiple of blocks Summary: Check for CKR_ENCRYPTED_DATA_LEN_RANGE and throw IllegalBlockSizeException Reviewed-by: wetmore ! src/share/classes/sun/security/pkcs11/P11Cipher.java Changeset: 99b3301fc27c Author: valeriep Date: 2008-03-31 16:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/99b3301fc27c Merge Changeset: df5d7e6ac15e Author: xuelei Date: 2008-04-02 22:44 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/df5d7e6ac15e 6668231: Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks Summary: make the critical extension known to end entity checker. Reviewed-by: wetmore, mullan ! src/share/classes/sun/security/validator/EndEntityChecker.java + test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/CriticalSubjectAltName.java + test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks + test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks Changeset: b70fc43afb8c Author: wetmore Date: 2008-04-06 10:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/b70fc43afb8c 6683078: Update JCE framework and provider builds to work on read-only filesystems 6644659: Error in default target of make/javax/crypto in OpenJDK build Reviewed-by: valeriep, ohair ! make/com/sun/crypto/provider/Makefile ! make/common/shared/Defs.gmk ! make/javax/crypto/Defs-jce.gmk ! make/javax/crypto/Makefile ! make/sun/security/mscapi/Makefile ! make/sun/security/pkcs11/Makefile Changeset: f4205a7bdfd4 Author: wetmore Date: 2008-04-07 14:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f4205a7bdfd4 Merge Changeset: e6da580585e9 Author: tbell Date: 2008-04-07 23:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e6da580585e9 Merge ! make/common/shared/Defs.gmk Changeset: 4708b9a13f24 Author: tbell Date: 2008-04-11 15:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/4708b9a13f24 Merge Changeset: 3226a9a5cc47 Author: xdono Date: 2008-03-27 12:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/3226a9a5cc47 Merge Changeset: 88d235789027 Author: ohair Date: 2008-03-31 17:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/88d235789027 6672405: OPENJDK build: jdk7/jdk/make/tools/freetypecheck leaves dirt behind Summary: OpenJDK freetype sanity check cleanup. Reviewed-by: tbell ! make/common/Defs.gmk ! make/common/shared/Sanity.gmk ! make/tools/Makefile ! make/tools/freetypecheck/Makefile Changeset: e6157955511e Author: ohair Date: 2008-03-31 17:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e6157955511e 6482445: j2se/make/java/java/localegen.sh uses 'sort' from PATH, could get system32/sort Summary: Making sure the right 'sort' utility is found. Reviewed-by: tbell ! make/java/java/genlocales.gmk ! make/java/java/localegen.sh Changeset: 425096dc0fc8 Author: ohair Date: 2008-03-31 17:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/425096dc0fc8 6501543: Username can have non-alphanumeric characters Summary: User version string issues, including a L10n issue with month names. Reviewed-by: tbell ! make/common/shared/Defs.gmk Changeset: a977a69d9cf2 Author: ohair Date: 2008-04-01 15:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a977a69d9cf2 6482134: JDK 6 build error on Windows, Visual Studio .NET on Japanese locale Summary: Fix scanning of cl.exe version output, removed CC_TYPE. Reviewed-by: tbell ! make/common/shared/Compiler-gcc.gmk ! make/common/shared/Compiler-msvc.gmk ! make/common/shared/Sanity.gmk Changeset: fa4df2d26d9b Author: ohair Date: 2008-04-01 15:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/fa4df2d26d9b 6627823: Missed whitespace normalization files: jdk/test/java/rmi Summary: Just missed a few files being normalized in rev 0. Reviewed-by: xdono ! test/java/rmi/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java ! test/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java ! test/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails_Stub.java ! test/java/rmi/activation/ActivateFailedException/activateFails/ActivateMe.java ! test/java/rmi/activation/ActivateFailedException/activateFails/ShutdownThread.java ! test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java ! test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup_Stub.java ! test/java/rmi/activation/ActivationGroup/downloadActivationGroup/MyActivationGroupImpl.java ! test/java/rmi/activation/ActivationGroupDesc/checkDefaultGroupName/CheckDefaultGroupName.java ! test/java/rmi/activation/ActivationSystem/activeGroup/IdempotentActiveGroup.java ! test/java/rmi/activation/ActivationSystem/modifyDescriptor/ActivateMe.java ! test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java ! test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor_Stub.java ! test/java/rmi/activation/ActivationSystem/stubClassesPermitted/CanCreateStubs.java ! test/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted.java ! test/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted_Stub.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/ActivateMe.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java ! test/java/rmi/dgc/VMID/CheckVMID.java ! test/java/rmi/dgc/dgcAckFailure/DGCAckFailure.java ! test/java/rmi/dgc/dgcAckFailure/DGCAckFailure_Stub.java ! test/java/rmi/dgc/dgcImplInsulation/DGCImplInsulation.java ! test/java/rmi/dgc/dgcImplInsulation/DGCImplInsulation_Stub.java ! test/java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls.java ! test/java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls_Stub.java ! test/java/rmi/registry/altSecurityManager/AltSecurityManager.java ! test/java/rmi/registry/altSecurityManager/TestSecurityManager.java ! test/java/rmi/registry/checkusage/CheckUsage.java ! test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java ! test/java/rmi/registry/classPathCodebase/Dummy.java ! test/java/rmi/registry/emptyName/EmptyName.java ! test/java/rmi/registry/interfaceHash/InterfaceHash.java ! test/java/rmi/registry/interfaceHash/ReferenceRegistryStub.java ! test/java/rmi/registry/multipleRegistries/MultipleRegistries.java ! test/java/rmi/registry/reexport/Reexport.java ! test/java/rmi/reliability/benchmark/bench/rmi/BenchServer.java ! test/java/rmi/reliability/benchmark/bench/rmi/BenchServerImpl.java ! test/java/rmi/reliability/benchmark/bench/rmi/BooleanArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/BooleanCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ByteArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ByteCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/CharArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/CharCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ClassLoading.java ! test/java/rmi/reliability/benchmark/bench/rmi/DoubleArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/DoubleCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ExceptionCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ExportObjs.java ! test/java/rmi/reliability/benchmark/bench/rmi/FloatArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/FloatCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/IntArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/IntCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/LongArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/LongCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/Main.java ! test/java/rmi/reliability/benchmark/bench/rmi/NullCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ObjArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ObjTreeCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ProxyArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/RemoteObjArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ShortArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ShortCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/SmallObjTreeCalls.java ! test/java/rmi/reliability/benchmark/bench/serial/BooleanArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Booleans.java ! test/java/rmi/reliability/benchmark/bench/serial/ByteArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Bytes.java ! test/java/rmi/reliability/benchmark/bench/serial/CharArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Chars.java ! test/java/rmi/reliability/benchmark/bench/serial/ClassDesc.java ! test/java/rmi/reliability/benchmark/bench/serial/Cons.java ! test/java/rmi/reliability/benchmark/bench/serial/CustomDefaultObjTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/CustomObjTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/DoubleArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Doubles.java ! test/java/rmi/reliability/benchmark/bench/serial/ExternObjTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/FloatArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Floats.java ! test/java/rmi/reliability/benchmark/bench/serial/GetPutFieldTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/IntArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Ints.java ! test/java/rmi/reliability/benchmark/bench/serial/LongArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Longs.java ! test/java/rmi/reliability/benchmark/bench/serial/Main.java ! test/java/rmi/reliability/benchmark/bench/serial/ObjArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/ObjTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/ProxyArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/ProxyClassDesc.java ! test/java/rmi/reliability/benchmark/bench/serial/RepeatObjs.java ! test/java/rmi/reliability/benchmark/bench/serial/ReplaceTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/ShortArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Shorts.java ! test/java/rmi/reliability/benchmark/bench/serial/SmallObjTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/StreamBuffer.java ! test/java/rmi/reliability/benchmark/bench/serial/Strings.java ! test/java/rmi/reliability/juicer/Apple.java ! test/java/rmi/reliability/juicer/AppleEvent.java ! test/java/rmi/reliability/juicer/AppleImpl.java ! test/java/rmi/reliability/juicer/AppleUser.java ! test/java/rmi/reliability/juicer/AppleUserImpl.java ! test/java/rmi/reliability/juicer/ApplicationServer.java ! test/java/rmi/reliability/juicer/Orange.java ! test/java/rmi/reliability/juicer/OrangeEcho.java ! test/java/rmi/reliability/juicer/OrangeEchoImpl.java ! test/java/rmi/reliability/juicer/OrangeImpl.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressConstants.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressInputStream.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressOutputStream.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/Echo.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/EchoImpl.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/EchoImpl_Stub.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/MultiSocketFactory.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/Compress.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/Hello.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/HelloImpl.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/HelloImpl_Stub.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/UseCustomSocketFactory.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/CompressConstants.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/CompressInputStream.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/CompressOutputStream.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/Echo.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/EchoImpl.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/EchoImpl_Stub.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/MultiSocketFactory.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java ! test/java/rmi/server/RemoteServer/setLogPermission/SetLogPermission.java ! test/java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName.java ! test/java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName_Stub.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall_Stub.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/Shutdown.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/ShutdownImpl.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/ShutdownImpl_Stub.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/ShutdownMonitor.java ! test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport.java ! test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2.java ! test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2_Stub.java ! test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport_Stub.java ! test/java/rmi/server/UnicastRemoteObject/unexportObject/Ping.java ! test/java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak.java ! test/java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak_Stub.java ! test/java/rmi/server/UnicastRemoteObject/useDynamicProxies/UseDynamicProxies.java ! test/java/rmi/server/UnicastRemoteObject/useDynamicProxies/UseDynamicProxies_Stub.java ! test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread.java ! test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread_Stub.java ! test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java ! test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/PoisonPill.java ! test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/RuntimeExceptionParameter.java ! test/java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java ! test/java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency_Stub.java ! test/java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java ! test/java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval_Stub.java ! test/java/rmi/server/Unreferenced/leaseCheckInterval/SelfTerminator.java ! test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet.java ! test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet_Stub.java ! test/java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext.java ! test/java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext_Stub.java ! test/java/rmi/transport/acceptLoop/CloseServerSocketOnTermination.java ! test/java/rmi/transport/checkFQDN/CheckFQDN.java ! test/java/rmi/transport/checkFQDN/CheckFQDNClient.java ! test/java/rmi/transport/checkFQDN/CheckFQDN_Stub.java ! test/java/rmi/transport/checkFQDN/TellServerName.java ! test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java ! test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak_Stub.java ! test/java/rmi/transport/checkLeaseInfoLeak/LeaseLeak.java ! test/java/rmi/transport/checkLeaseInfoLeak/LeaseLeakClient.java ! test/java/rmi/transport/closeServerSocket/CloseServerSocket.java ! test/java/rmi/transport/dgcDeadLock/DGCDeadLock.java ! test/java/rmi/transport/dgcDeadLock/Test.java ! test/java/rmi/transport/dgcDeadLock/TestImpl.java ! test/java/rmi/transport/dgcDeadLock/TestImpl_Stub.java ! test/java/rmi/transport/handshakeFailure/HandshakeFailure.java ! test/java/rmi/transport/handshakeTimeout/HandshakeTimeout.java ! test/java/rmi/transport/httpSocket/HttpSocketTest.java ! test/java/rmi/transport/httpSocket/HttpSocketTest_Stub.java ! test/java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java ! test/java/rmi/transport/pinLastArguments/PinLastArguments.java ! test/java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java ! test/java/rmi/transport/readTimeout/ReadTimeoutTest.java ! test/java/rmi/transport/readTimeout/TestIface.java ! test/java/rmi/transport/readTimeout/TestImpl.java ! test/java/rmi/transport/readTimeout/TestImpl_Stub.java ! test/java/rmi/transport/reuseDefaultPort/ReuseDefaultPort.java ! test/java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak.java ! test/java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak_Stub.java Changeset: 63e1f1ed9805 Author: xdono Date: 2008-04-07 17:38 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/63e1f1ed9805 Merge Changeset: 68b85ce111f2 Author: ohair Date: 2008-04-14 14:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/68b85ce111f2 6484686: The next directory looks like it is no longer part of the build (deploy makefiles) Summary: Getting rid of the _OUTPUTDIR settings. Using BUILD_PARENT_DIRECTORY instead. This solves problems with the "/build/windows-i586*" paths getting mangled on Windows builds (fastdebug builds in particular). Reviewed-by: tbell ! make/common/shared/Defs-control.gmk Changeset: eac50a34a8e0 Author: xdono Date: 2008-04-18 13:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/eac50a34a8e0 Merge ! make/common/shared/Defs.gmk Changeset: b1bbd90b0c4f Author: ohair Date: 2008-04-18 12:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/b1bbd90b0c4f 6641585: jdk/make/javax/Makefile should not have both SUBDIRS and AUTO_FILES_JAVA_DIRS Summary: Separated Makefile logic, subtree walk vs. javac compiles. Also fixed minor issue in Rules.gmk. Reviewed-by: tbell ! make/common/Rules.gmk ! make/javax/Makefile + make/javax/others/Makefile Changeset: fb57027902e0 Author: ohair Date: 2008-04-18 16:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/fb57027902e0 Merge From igor.veresov at sun.com Sun May 4 19:38:05 2008 From: igor.veresov at sun.com (igor.veresov at sun.com) Date: Sun, 04 May 2008 19:38:05 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 36 new changesets Message-ID: <20080504193915.BD8BB27C98@hg.openjdk.java.net> Changeset: 8b0b3490194f Author: xdono Date: 2008-04-09 11:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/8b0b3490194f Added tag jdk7-b25 for changeset 7836be3e92d0 ! .hgtags Changeset: 6e085831cad7 Author: sbohne Date: 2008-04-10 15:49 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/6e085831cad7 6692235: Fix for 6666698 broke -XX:BiasedLockingStartupDelay=0 Summary: Stack allocated VM_EnableBiasedLocking op must be marked as such Reviewed-by: xlu, acorn, never, dholmes ! src/share/vm/runtime/biasedLocking.cpp Changeset: f3b3fe64f59f Author: kvn Date: 2008-04-15 10:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/f3b3fe64f59f 6692301: Side effect in NumberFormat tests with -server -Xcomp Summary: Optimization in CmpPNode::sub() removed the valid compare instruction because of false positive answer from detect_dominating_control(). Reviewed-by: jrose, sgoldman ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp Changeset: 6cc3576e5142 Author: jcoomes Date: 2008-04-16 15:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/6cc3576e5142 6689788: Bump HSX12 build version number Summary: Update HSX12 build number to 03 Reviewed-by: kvn ! make/hotspot_version Changeset: ad0b851458ff Author: trims Date: 2008-04-22 15:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ad0b851458ff Merge - src/share/vm/memory/allocationStats.cpp - src/share/vm/memory/allocationStats.hpp Changeset: a294fd0c4b38 Author: kamg Date: 2008-04-09 14:22 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory Summary: Moved makefiles out of build and build/closed into make/ Reviewed-by: kvn, ohair ! .hgignore - build/hotspot_distro - build/linux/Makefile - build/linux/Queens.class - build/linux/README - build/linux/adlc_updater - build/linux/build.sh - build/linux/makefiles/adjust-mflags.sh - build/linux/makefiles/adlc.make - build/linux/makefiles/amd64.make - build/linux/makefiles/buildtree.make - build/linux/makefiles/compiler1.make - build/linux/makefiles/compiler2.make - build/linux/makefiles/core.make - build/linux/makefiles/cscope.make - build/linux/makefiles/debug.make - build/linux/makefiles/defs.make - build/linux/makefiles/dtrace.make - build/linux/makefiles/fastdebug.make - build/linux/makefiles/gcc.make - build/linux/makefiles/hp.make - build/linux/makefiles/hp1.make - build/linux/makefiles/i486.make - build/linux/makefiles/jsig.make - build/linux/makefiles/jvmg.make - build/linux/makefiles/jvmti.make - build/linux/makefiles/launcher.make - build/linux/makefiles/makedeps.make - build/linux/makefiles/mapfile-vers-debug - build/linux/makefiles/mapfile-vers-jsig - build/linux/makefiles/mapfile-vers-product - build/linux/makefiles/optimized.make - build/linux/makefiles/product.make - build/linux/makefiles/profiled.make - build/linux/makefiles/rules.make - build/linux/makefiles/sa.make - build/linux/makefiles/saproc.make - build/linux/makefiles/sparcWorks.make - build/linux/makefiles/tiered.make - build/linux/makefiles/top.make - build/linux/makefiles/vm.make - build/linux/platform_amd64 - build/linux/platform_amd64.suncc - build/linux/platform_i486 - build/linux/platform_i486.suncc - build/linux/platform_sparc - build/sa.files - build/solaris/Makefile - build/solaris/Queens.class - build/solaris/adlc_updater - build/solaris/build.sh - build/solaris/makefiles/adjust-mflags.sh - build/solaris/makefiles/adlc.make - build/solaris/makefiles/amd64.make - build/solaris/makefiles/buildtree.make - build/solaris/makefiles/compiler1.make - build/solaris/makefiles/compiler2.make - build/solaris/makefiles/core.make - build/solaris/makefiles/cscope.make - build/solaris/makefiles/debug.make - build/solaris/makefiles/defs.make - build/solaris/makefiles/dtrace.make - build/solaris/makefiles/fastdebug.make - build/solaris/makefiles/gcc.make - build/solaris/makefiles/hp.make - build/solaris/makefiles/hp1.make - build/solaris/makefiles/i486.make - build/solaris/makefiles/jsig.make - build/solaris/makefiles/jvmg.make - build/solaris/makefiles/jvmti.make - build/solaris/makefiles/kernel.make - build/solaris/makefiles/launcher.make - build/solaris/makefiles/makedeps.make - build/solaris/makefiles/mapfile-vers - build/solaris/makefiles/mapfile-vers-COMPILER1 - build/solaris/makefiles/mapfile-vers-COMPILER2 - build/solaris/makefiles/mapfile-vers-CORE - build/solaris/makefiles/mapfile-vers-TIERED - build/solaris/makefiles/mapfile-vers-debug - build/solaris/makefiles/mapfile-vers-jsig - build/solaris/makefiles/mapfile-vers-jvm_db - build/solaris/makefiles/mapfile-vers-jvm_dtrace - build/solaris/makefiles/mapfile-vers-nonproduct - build/solaris/makefiles/optimized.make - build/solaris/makefiles/product.make - build/solaris/makefiles/profiled.make - build/solaris/makefiles/reorder_COMPILER1_i486 - build/solaris/makefiles/reorder_COMPILER1_sparc - build/solaris/makefiles/reorder_COMPILER1_sparcv9 - build/solaris/makefiles/reorder_COMPILER2_amd64 - build/solaris/makefiles/reorder_COMPILER2_i486 - build/solaris/makefiles/reorder_COMPILER2_sparc - build/solaris/makefiles/reorder_COMPILER2_sparcv9 - build/solaris/makefiles/reorder_CORE_amd64 - build/solaris/makefiles/reorder_CORE_i486 - build/solaris/makefiles/reorder_CORE_sparc - build/solaris/makefiles/reorder_CORE_sparcv9 - build/solaris/makefiles/reorder_TIERED_amd64 - build/solaris/makefiles/reorder_TIERED_i486 - build/solaris/makefiles/reorder_TIERED_sparc - build/solaris/makefiles/rules.make - build/solaris/makefiles/sa.make - build/solaris/makefiles/saproc.make - build/solaris/makefiles/sparc.make - build/solaris/makefiles/sparcWorks.make - build/solaris/makefiles/sparcv9.make - build/solaris/makefiles/tiered.make - build/solaris/makefiles/top.make - build/solaris/makefiles/vm.make - build/solaris/platform_amd64 - build/solaris/platform_amd64.gcc - build/solaris/platform_i486 - build/solaris/platform_i486.gcc - build/solaris/platform_sparc - build/solaris/platform_sparc.gcc - build/solaris/platform_sparcv9 - build/solaris/platform_sparcv9.gcc - build/solaris/reorder.sh - build/test/Queens.java - build/windows/README - build/windows/build.bat - build/windows/build.make - build/windows/build_vm_def.sh - build/windows/create.bat - build/windows/cross_build.bat - build/windows/get_msc_ver.sh - build/windows/jvmexp.lcf - build/windows/jvmexp_g.lcf - build/windows/makefiles/adlc.make - build/windows/makefiles/compile.make - build/windows/makefiles/debug.make - build/windows/makefiles/defs.make - build/windows/makefiles/fastdebug.make - build/windows/makefiles/generated.make - build/windows/makefiles/jvmti.make - build/windows/makefiles/makedeps.make - build/windows/makefiles/product.make - build/windows/makefiles/rules.make - build/windows/makefiles/sa.make - build/windows/makefiles/sanity.make - build/windows/makefiles/shared.make - build/windows/makefiles/top.make - build/windows/makefiles/vm.make - build/windows/platform_amd64 - build/windows/platform_i486 - build/windows/projectfiles/common/Makefile - build/windows/projectfiles/compiler1/Makefile - build/windows/projectfiles/compiler1/vm.def - build/windows/projectfiles/compiler1/vm.dsw - build/windows/projectfiles/compiler2/ADLCompiler.dsp - build/windows/projectfiles/compiler2/ADLCompiler.dsw - build/windows/projectfiles/compiler2/Makefile - build/windows/projectfiles/compiler2/vm.def - build/windows/projectfiles/compiler2/vm.dsw - build/windows/projectfiles/core/Makefile - build/windows/projectfiles/core/vm.def - build/windows/projectfiles/core/vm.dsw - build/windows/projectfiles/kernel/Makefile - build/windows/projectfiles/kernel/vm.def - build/windows/projectfiles/kernel/vm.dsw - build/windows/projectfiles/tiered/ADLCompiler.dsp - build/windows/projectfiles/tiered/ADLCompiler.dsw - build/windows/projectfiles/tiered/Makefile - build/windows/projectfiles/tiered/vm.def - build/windows/projectfiles/tiered/vm.dsw ! make/defs.make + make/hotspot_distro ! make/jprt.properties + make/linux/Makefile + make/linux/Queens.class + make/linux/README + make/linux/adlc_updater + make/linux/build.sh + make/linux/makefiles/adjust-mflags.sh + make/linux/makefiles/adlc.make + make/linux/makefiles/amd64.make + make/linux/makefiles/buildtree.make + make/linux/makefiles/compiler1.make + make/linux/makefiles/compiler2.make + make/linux/makefiles/core.make + make/linux/makefiles/cscope.make + make/linux/makefiles/debug.make + make/linux/makefiles/defs.make + make/linux/makefiles/dtrace.make + make/linux/makefiles/fastdebug.make + make/linux/makefiles/gcc.make + make/linux/makefiles/hp.make + make/linux/makefiles/hp1.make + make/linux/makefiles/i486.make + make/linux/makefiles/ia64.make + make/linux/makefiles/jsig.make + make/linux/makefiles/jvmg.make + make/linux/makefiles/jvmti.make + make/linux/makefiles/launcher.make + make/linux/makefiles/makedeps.make + make/linux/makefiles/mapfile-vers-debug + make/linux/makefiles/mapfile-vers-jsig + make/linux/makefiles/mapfile-vers-product + make/linux/makefiles/optimized.make + make/linux/makefiles/product.make + make/linux/makefiles/profiled.make + make/linux/makefiles/rules.make + make/linux/makefiles/sa.make + make/linux/makefiles/saproc.make + make/linux/makefiles/sparc.make + make/linux/makefiles/sparcWorks.make + make/linux/makefiles/sparcv9.make + make/linux/makefiles/tiered.make + make/linux/makefiles/top.make + make/linux/makefiles/vm.make + make/linux/platform_amd64 + make/linux/platform_amd64.suncc + make/linux/platform_i486 + make/linux/platform_i486.suncc + make/linux/platform_ia64 + make/linux/platform_sparc + make/openjdk_distro + make/sa.files + make/solaris/Makefile + make/solaris/Queens.class + make/solaris/adlc_updater + make/solaris/build.sh + make/solaris/makefiles/adjust-mflags.sh + make/solaris/makefiles/adlc.make + make/solaris/makefiles/amd64.make + make/solaris/makefiles/buildtree.make + make/solaris/makefiles/compiler1.make + make/solaris/makefiles/compiler2.make + make/solaris/makefiles/core.make + make/solaris/makefiles/cscope.make + make/solaris/makefiles/debug.make + make/solaris/makefiles/defs.make + make/solaris/makefiles/dtrace.make + make/solaris/makefiles/fastdebug.make + make/solaris/makefiles/gcc.make + make/solaris/makefiles/hp.make + make/solaris/makefiles/hp1.make + make/solaris/makefiles/i486.make + make/solaris/makefiles/jsig.make + make/solaris/makefiles/jvmg.make + make/solaris/makefiles/jvmti.make + make/solaris/makefiles/kernel.make + make/solaris/makefiles/launcher.make + make/solaris/makefiles/makedeps.make + make/solaris/makefiles/mapfile-vers + make/solaris/makefiles/mapfile-vers-COMPILER1 + make/solaris/makefiles/mapfile-vers-COMPILER2 + make/solaris/makefiles/mapfile-vers-CORE + make/solaris/makefiles/mapfile-vers-TIERED + make/solaris/makefiles/mapfile-vers-debug + make/solaris/makefiles/mapfile-vers-jsig + make/solaris/makefiles/mapfile-vers-jvm_db + make/solaris/makefiles/mapfile-vers-jvm_dtrace + make/solaris/makefiles/mapfile-vers-nonproduct + make/solaris/makefiles/optimized.make + make/solaris/makefiles/product.make + make/solaris/makefiles/profiled.make + make/solaris/makefiles/reorder_COMPILER1_i486 + make/solaris/makefiles/reorder_COMPILER1_sparc + make/solaris/makefiles/reorder_COMPILER1_sparcv9 + make/solaris/makefiles/reorder_COMPILER2_amd64 + make/solaris/makefiles/reorder_COMPILER2_i486 + make/solaris/makefiles/reorder_COMPILER2_sparc + make/solaris/makefiles/reorder_COMPILER2_sparcv9 + make/solaris/makefiles/reorder_CORE_amd64 + make/solaris/makefiles/reorder_CORE_i486 + make/solaris/makefiles/reorder_CORE_sparc + make/solaris/makefiles/reorder_CORE_sparcv9 + make/solaris/makefiles/reorder_TIERED_amd64 + make/solaris/makefiles/reorder_TIERED_i486 + make/solaris/makefiles/reorder_TIERED_sparc + make/solaris/makefiles/rules.make + make/solaris/makefiles/sa.make + make/solaris/makefiles/saproc.make + make/solaris/makefiles/sparc.make + make/solaris/makefiles/sparcWorks.make + make/solaris/makefiles/sparcv9.make + make/solaris/makefiles/tiered.make + make/solaris/makefiles/top.make + make/solaris/makefiles/vm.make + make/solaris/platform_amd64 + make/solaris/platform_amd64.gcc + make/solaris/platform_i486 + make/solaris/platform_i486.gcc + make/solaris/platform_sparc + make/solaris/platform_sparc.gcc + make/solaris/platform_sparcv9 + make/solaris/platform_sparcv9.gcc + make/solaris/reorder.sh + make/test/Queens.java + make/windows/README + make/windows/build.bat + make/windows/build.make + make/windows/build_vm_def.sh + make/windows/create.bat + make/windows/cross_build.bat + make/windows/get_msc_ver.sh + make/windows/jvmexp.lcf + make/windows/jvmexp_g.lcf + make/windows/makefiles/adlc.make + make/windows/makefiles/compile.make + make/windows/makefiles/debug.make + make/windows/makefiles/defs.make + make/windows/makefiles/fastdebug.make + make/windows/makefiles/generated.make + make/windows/makefiles/jvmti.make + make/windows/makefiles/makedeps.make + make/windows/makefiles/product.make + make/windows/makefiles/rules.make + make/windows/makefiles/sa.make + make/windows/makefiles/sanity.make + make/windows/makefiles/shared.make + make/windows/makefiles/top.make + make/windows/makefiles/vm.make + make/windows/platform_amd64 + make/windows/platform_i486 + make/windows/platform_ia64 + make/windows/projectfiles/common/Makefile + make/windows/projectfiles/compiler1/Makefile + make/windows/projectfiles/compiler1/vm.def + make/windows/projectfiles/compiler1/vm.dsw + make/windows/projectfiles/compiler2/ADLCompiler.dsp + make/windows/projectfiles/compiler2/ADLCompiler.dsw + make/windows/projectfiles/compiler2/Makefile + make/windows/projectfiles/compiler2/vm.def + make/windows/projectfiles/compiler2/vm.dsw + make/windows/projectfiles/core/Makefile + make/windows/projectfiles/core/vm.def + make/windows/projectfiles/core/vm.dsw + make/windows/projectfiles/kernel/Makefile + make/windows/projectfiles/kernel/vm.def + make/windows/projectfiles/kernel/vm.dsw + make/windows/projectfiles/tiered/ADLCompiler.dsp + make/windows/projectfiles/tiered/ADLCompiler.dsw + make/windows/projectfiles/tiered/Makefile + make/windows/projectfiles/tiered/vm.def + make/windows/projectfiles/tiered/vm.dsw Changeset: ebec5b9731e2 Author: kamg Date: 2008-04-10 12:21 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ebec5b9731e2 6615981: JVM class file parser incorrectly rejects class files with version < 45.2 Summary: A check on Code length did not take into account the old sizes of the max_stack, max_locals, and code_length. Reviewed-by: phh, sbohne ! src/share/vm/classfile/classFileParser.cpp Changeset: c6ff24ceec1c Author: sbohne Date: 2008-04-10 15:49 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/c6ff24ceec1c 6686407: Fix for 6666698 broke -XX:BiasedLockingStartupDelay=0 Summary: Stack allocated VM_EnableBiasedLocking op must be marked as such Reviewed-by: xlu, acorn, never, dholmes ! src/share/vm/runtime/biasedLocking.cpp Changeset: a49a647afe9a Author: kamg Date: 2008-04-11 09:56 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/a49a647afe9a Merge ! .hgignore ! make/linux/makefiles/vm.make ! make/linux/platform_amd64 ! make/linux/platform_i486 ! make/linux/platform_sparc ! make/solaris/makefiles/vm.make ! make/solaris/platform_amd64 ! make/solaris/platform_amd64.gcc ! make/solaris/platform_i486 ! make/solaris/platform_i486.gcc ! make/solaris/platform_sparc ! make/solaris/platform_sparc.gcc ! make/solaris/platform_sparcv9 ! make/solaris/platform_sparcv9.gcc ! make/windows/makefiles/vm.make ! make/windows/platform_amd64 ! make/windows/platform_i486 - src/cpu/sparc/vm/disassembler_sparc.cpp - src/cpu/x86/vm/disassembler_x86.cpp - src/share/vm/compiler/disassemblerEnv.hpp Changeset: ba764ed4b6f2 Author: coleenp Date: 2008-04-13 17:43 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java ! agent/src/share/classes/sun/jvm/hotspot/HSDB.java ! agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/OopMapSet.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/OopMapValue.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/OopMapVisitor.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/Address.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/Debugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/DebuggerBase.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/JVMDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescription.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionAMD64.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionIA64.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionIntelX86.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionSPARC32Bit.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionSPARC64Bit.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/dummy/DummyAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Address.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Debugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32DebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/memory/Universe.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Array.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCache.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/DefaultOopVisitor.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Instance.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/NarrowOopField.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjArray.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHistogram.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHistogramElement.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java ! agent/src/share/classes/sun/jvm/hotspot/oops/OopPrinter.java ! agent/src/share/classes/sun/jvm/hotspot/oops/OopUtilities.java ! agent/src/share/classes/sun/jvm/hotspot/oops/OopVisitor.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/AddressVisitor.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! agent/src/share/classes/sun/jvm/hotspot/types/Field.java + agent/src/share/classes/sun/jvm/hotspot/types/NarrowOopField.java ! agent/src/share/classes/sun/jvm/hotspot/types/Type.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicField.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicFieldWrapper.java + agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicNarrowOopField.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicOopField.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicType.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/ui/FindInHeapPanel.java ! agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/ReversePtrsAnalysis.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/RobustOopDeterminator.java ! make/Makefile ! make/solaris/makefiles/sparcWorks.make ! 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/copy_sparc.hpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/register_definitions_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vtableStubs_sparc.cpp ! src/cpu/x86/vm/assembler_x86_64.cpp ! src/cpu/x86/vm/assembler_x86_64.hpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/interpreter_x86_64.cpp ! src/cpu/x86/vm/register_definitions_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os/solaris/dtrace/generateJvmOffsets.cpp ! src/os/solaris/dtrace/jhelper.d ! src/os/solaris/dtrace/libjvm_db.c ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/solaris_sparc/vm/solaris_sparc.s ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/forms.cpp ! src/share/vm/adlc/forms.hpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/compiler/oopMap.cpp ! src/share/vm/compiler/oopMap.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/includeDB_gc_parNew ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp ! src/share/vm/gc_implementation/parNew/parGCAllocBuffer.hpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/gc_implementation/parNew/parOopClosures.hpp ! src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.hpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/prefetchQueue.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/includeDB_core ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/memory/barrierSet.hpp ! src/share/vm/memory/barrierSet.inline.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp ! src/share/vm/memory/compactingPermGenGen.cpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.hpp ! src/share/vm/memory/defNewGeneration.inline.hpp ! src/share/vm/memory/dump.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/genOopClosures.hpp ! src/share/vm/memory/genOopClosures.inline.hpp ! src/share/vm/memory/genRemSet.hpp ! src/share/vm/memory/genRemSet.inline.hpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/modRefBarrierSet.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp ! src/share/vm/memory/restore.cpp ! src/share/vm/memory/serialize.cpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/arrayOop.hpp ! src/share/vm/oops/constantPoolKlass.cpp ! src/share/vm/oops/constantPoolKlass.hpp ! src/share/vm/oops/constantPoolOop.hpp ! src/share/vm/oops/cpCacheKlass.cpp ! src/share/vm/oops/cpCacheKlass.hpp ! src/share/vm/oops/cpCacheOop.cpp ! src/share/vm/oops/cpCacheOop.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/instanceOop.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/markOop.hpp ! src/share/vm/oops/methodDataKlass.cpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/oops/objArrayOop.cpp ! src/share/vm/oops/objArrayOop.hpp ! src/share/vm/oops/oop.cpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/oop.pcgc.inline.hpp ! src/share/vm/oops/oopsHierarchy.hpp ! src/share/vm/opto/buildOopMap.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/connode.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/machnode.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/opcodes.cpp ! src/share/vm/opto/opcodes.hpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/phaseX.hpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/opto/subnode.hpp ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/atomic.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/hpi.cpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/utilities/copy.hpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/globalDefinitions.cpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/taskqueue.hpp ! src/share/vm/utilities/vmError.cpp Changeset: 34935c25a52d Author: kamg Date: 2008-04-15 18:11 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/34935c25a52d Merge ! make/linux/makefiles/cscope.make ! make/solaris/makefiles/cscope.make Changeset: e7a91a357527 Author: kamg Date: 2008-04-16 17:36 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/e7a91a357527 6622385: Accessing protected static methods Summary: Protected contraints should only be applied if member is not static Reviewed-by: acorn, coleenp ! src/share/vm/runtime/reflection.cpp Changeset: 018d5b58dd4f Author: kamg Date: 2008-04-17 22:18 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/018d5b58dd4f 6537506: Provide a mechanism for specifying Java-level USDT-like dtrace probes Summary: Initial checkin of JSDT code Reviewed-by: acorn, sbohne ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/dtrace.make ! make/solaris/makefiles/mapfile-vers ! src/cpu/sparc/vm/nativeInst_sparc.cpp ! src/cpu/sparc/vm/nativeInst_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/x86/vm/nativeInst_x86.cpp ! src/cpu/x86/vm/nativeInst_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp + src/os/linux/vm/dtraceJSDT_linux.cpp + src/os/solaris/vm/dtraceJSDT_solaris.cpp + src/os/windows/vm/dtraceJSDT_windows.cpp ! src/share/vm/asm/codeBuffer.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/includeDB_core ! src/share/vm/oops/methodOop.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h + src/share/vm/runtime/dtraceJSDT.cpp + src/share/vm/runtime/dtraceJSDT.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp Changeset: deadee49286e Author: sgoldman Date: 2008-04-11 06:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/deadee49286e 6644928: Internal Error (src/share/vm/code/relocInfo.hpp:1089) Summary: Cardtable base can be zero, ExternalAddress can't take a NULL. ! src/cpu/x86/vm/assembler_x86_32.cpp ! src/cpu/x86/vm/assembler_x86_64.cpp Changeset: fb75a7673531 Author: rasbold Date: 2008-04-16 14:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/fb75a7673531 Merge ! src/cpu/x86/vm/assembler_x86_64.cpp Changeset: d1a5218d7eaf Author: kvn Date: 2008-04-16 19:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/d1a5218d7eaf 6686791: Side effect in NumberFormat tests with -server -Xcomp Summary: Optimization in CmpPNode::sub() removed the valid compare instruction because of false positive answer from detect_dominating_control(). Reviewed-by: jrose, sgoldman ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp Changeset: aab136449123 Author: trims Date: 2008-04-17 16:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/aab136449123 6690518: Bump Version to 13 B01 Summary: Change Hotspot version and build number for 13b1 Reviewed-by: pbk ! make/hotspot_version Changeset: 86a689f680c5 Author: kamg Date: 2008-04-18 07:51 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/86a689f680c5 Merge Changeset: ec73d88d5b43 Author: kamg Date: 2008-04-23 06:35 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ec73d88d5b43 Merge ! make/hotspot_version ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp Changeset: 9e5a7340635e Author: sgoldman Date: 2008-04-17 07:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/9e5a7340635e 6688137: c++ interpreter fails on 64bit sparc Summary: Misc. 64bit and endian fixes for sparc Reviewed-by: never, kvn, rasbold Contributed-by: volker.simonis at gmail.com ! src/cpu/sparc/vm/bytecodeInterpreter_sparc.hpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: b130b98db9cf Author: kvn Date: 2008-04-23 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/b130b98db9cf 6689060: Escape Analysis does not work with Compressed Oops Summary: 64-bits VM crashes with -XX:+AggresiveOpts (Escape Analysis + Compressed Oops) Reviewed-by: never, sgoldman ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86_64.cpp ! src/cpu/x86/vm/assembler_x86_64.hpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/connode.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: d942c7e64bd9 Author: never Date: 2008-04-23 13:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/d942c7e64bd9 6601321: Assert(j == 1 || b->_nodes[j-1]->is_Phi(),"CreateEx must be first instruction in block") Reviewed-by: kvn, rasbold, sgoldman, jrose ! src/share/vm/opto/lcm.cpp Changeset: 72f4a668df19 Author: kvn Date: 2008-04-23 19:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/72f4a668df19 6625997: CastPP, CheckCastPP and Proj nodes are not dead loop safe Summary: EA and initialization optimizations could bypass these nodes. Reviewed-by: rasbold, never ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/connode.hpp ! src/share/vm/opto/multnode.hpp ! src/share/vm/opto/node.hpp Changeset: e0bd2e08e3d0 Author: never Date: 2008-04-24 11:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/e0bd2e08e3d0 6663848: assert(i < Max(),"oob") in C2 with -Xcomp Summary: NeverBranchNodes aren't handled properly Reviewed-by: kvn, sgoldman, rasbold, jrose ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/cfgnode.hpp ! src/share/vm/opto/compile.cpp + test/compiler/6663848/Tester.java Changeset: a76240c8b133 Author: rasbold Date: 2008-04-28 08:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/a76240c8b133 Merge ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: c0939256690b Author: rasbold Date: 2008-04-24 14:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/c0939256690b 6646019: array subscript expressions become top() with -d64 Summary: stop compilation after negative array allocation Reviewed-by: never, jrose ! src/share/vm/opto/parse2.cpp + test/compiler/6646019/Test.java Changeset: 3e2d987e2e68 Author: rasbold Date: 2008-04-29 06:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/3e2d987e2e68 Merge Changeset: 6e825ad773c6 Author: jrose Date: 2008-04-29 19:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/6e825ad773c6 6695288: runThese tests expr30303 and drem00301m1 fail when compiled code executes without deopt Summary: rework Value method for ModD and ModF, to DTRT for infinities Reviewed-by: sgoldman, kvn, rasbold ! src/share/vm/opto/divnode.cpp Changeset: 60b728ec77c1 Author: jrose Date: 2008-04-29 19:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/60b728ec77c1 6652736: well known classes in system dictionary are inefficiently processed Summary: combine many scalar variables into a single enum-indexed array in SystemDictionary. Reviewed-by: kvn ! agent/src/share/classes/sun/jvm/hotspot/memory/SystemDictionary.java ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/threadService.cpp Changeset: 435e64505015 Author: phh Date: 2008-04-24 15:07 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/435e64505015 6693457: Open-source hotspot linux-sparc support Summary: Move os_cpu/linux_sparc from closed to open Reviewed-by: kamg + make/linux/platform_sparcv9 + src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp + src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp + src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp + src/os_cpu/linux_sparc/vm/linux_sparc.ad + src/os_cpu/linux_sparc/vm/linux_sparc.s + src/os_cpu/linux_sparc/vm/orderAccess_linux_sparc.inline.hpp + src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp + src/os_cpu/linux_sparc/vm/os_linux_sparc.hpp + src/os_cpu/linux_sparc/vm/prefetch_linux_sparc.inline.hpp + src/os_cpu/linux_sparc/vm/threadLS_linux_sparc.cpp + src/os_cpu/linux_sparc/vm/threadLS_linux_sparc.hpp + src/os_cpu/linux_sparc/vm/thread_linux_sparc.cpp + src/os_cpu/linux_sparc/vm/thread_linux_sparc.hpp + src/os_cpu/linux_sparc/vm/vmStructs_linux_sparc.hpp + src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp ! src/share/vm/oops/oop.inline.hpp Changeset: 8a79f7ec8f5d Author: kamg Date: 2008-04-29 11:21 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/8a79f7ec8f5d 6692246: Regression : JDK 6u4 b01 fails two JCK tests when fallback is switched off Summary: Added a clause to allow null to be an operand to the arraylength bytecode Reviewed-by: sbohne, coleenp ! src/share/vm/classfile/verifier.cpp Changeset: b7268662a986 Author: coleenp Date: 2008-04-29 19:31 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/b7268662a986 6689523: max heap calculation for compressed oops is off by MaxPermSize Summary: Need to subtract MaxPermSize from the total heap size when determining whether compressed oops is turned on. Reviewed-by: jmasa, jcoomes, kvn ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 7f3a69574470 Author: kamg Date: 2008-04-30 10:58 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/7f3a69574470 6695506: JVM should accept classfiles with classfile version 51 Summary: increase class file parser's acceptable max to 51 Reviewed-by: sbohne, ikrylov ! src/share/vm/classfile/classFileParser.cpp Changeset: 53735b80b9f1 Author: sbohne Date: 2008-05-01 09:38 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/53735b80b9f1 Merge Changeset: bcdc68eb7e1f Author: sbohne Date: 2008-05-02 08:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/bcdc68eb7e1f Merge Changeset: 8bd1e4487c18 Author: iveresov Date: 2008-05-04 03:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/8bd1e4487c18 Merge ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! src/os/windows/vm/os_windows.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/includeDB_core ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/runtime/globals.hpp From Y.S.Ramakrishna at Sun.COM Tue May 6 22:55:23 2008 From: Y.S.Ramakrishna at Sun.COM (Y Srinivas Ramakrishna) Date: Tue, 06 May 2008 15:55:23 -0700 Subject: Request for review (XS): 6662086 6u2+, 7b11+: CMS never clears referents when -XX:+ParallelRefProcEnabled In-Reply-To: References: Message-ID: A small correction. I fixed the synopsis of this CR to read:- 6u4+, 7b11+: CMS never clears referents when -XX:+ParallelRefProcEnabled reflecting the correct versions in which the regression happened. The fix has since been verified by the customers that reported the problem (the most recent, a second report last night), and will be integrated shortly. -- ramki ----- Original Message ----- From: Y Srinivas Ramakrishna Date: Thursday, May 1, 2008 4:44 pm Subject: Request for review (XS): 6662086 6u2+, 7b11+: CMS never clears referents when -XX:+ParallelRefProcEnabled To: hotspot-gc-dev at openjdk.java.net > Thanks for your reviews.... > > Fixed: 6662086 6u2+, 7b11+: CMS never clears referents when -XX:+ParallelRefProcEnabled > > This fixes a regression introduced in 6u2, 7b11, because of which CMS > would not > correctly clear referents when +ParallelRefProcEnabled. This was because > the CMSIsAliveClosure used during the processing was using an empty span. > The symptom would typically manifest as a monotonically growing population > of referents until a stop-world mark-compact collection would reclaim > them. > > Thanks to Thomas Viessmann and Kevin Walls for debugging assistance, > and for collecting and analysing instrumentation data at customer site. > > Fix Verified: > Verification Testing: > Other testing: > > webrev: http://analemma.sfbay.sun.com/net/spot/workspaces/ysr/hg_gc_fixes/webrev/ > > Patch: > ===== > --- > old/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp Thu > May 1 16:05:09 2008 > +++ > new/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp Thu > May 1 16:05:08 2008 > @@ -283,7 +283,7 @@ > // processing phase of the CMS final checkpoint step. > class CMSKeepAliveClosure: public OopClosure { > CMSCollector* _collector; > - MemRegion _span; > + const MemRegion _span; > CMSMarkStack* _mark_stack; > CMSBitMap* _bit_map; > public: > @@ -292,7 +292,9 @@ > _collector(collector), > _span(span), > _bit_map(bit_map), > - _mark_stack(mark_stack) { } > + _mark_stack(mark_stack) { > + assert(!_span.is_empty(), "Empty span could spell trouble"); > + } > > void do_oop(oop* p); > void do_oop_nv(oop* p) { CMSKeepAliveClosure::do_oop(p); } > --- > old/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Thu > May 1 16:05:12 2008 > +++ > new/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Thu > May 1 16:05:11 2008 > @@ -520,7 +520,10 @@ > -1 /* lock-free */, "No_lock" /* dummy */), > _modUnionClosure(&_modUnionTable), > _modUnionClosurePar(&_modUnionTable), > - _is_alive_closure(&_markBitMap), > + // Adjust my span to cover old (cms) gen and perm gen > + _span(cmsGen->reserved()._union(permGen->reserved())), > + // Construct the is_alive_closure with _span & markBitMap > + _is_alive_closure(_span, &_markBitMap), > _restart_addr(NULL), > _overflow_list(NULL), > _preserved_oop_stack(NULL), > @@ -572,11 +575,6 @@ > _cmsGen->cmsSpace()->set_collector(this); > _permGen->cmsSpace()->set_collector(this); > > - // Adjust my span to cover old (cms) gen and perm gen > - _span = _cmsGen->reserved()._union(_permGen->reserved()); > - // Initialize the span of is_alive_closure > - _is_alive_closure.set_span(_span); > - > // Allocate MUT and marking bit map > { > MutexLockerEx x(_markBitMap.lock(), Mutex::_no_safepoint_check_flag); > @@ -5493,7 +5491,7 @@ > typedef AbstractRefProcTaskExecutor::ProcessTask ProcessTask; > CMSCollector* _collector; > CMSBitMap* _mark_bit_map; > - MemRegion _span; > + const MemRegion _span; > OopTaskQueueSet* _task_queues; > ParallelTaskTerminator _term; > ProcessTask& _task; > @@ -5510,7 +5508,10 @@ > _collector(collector), _span(span), _mark_bit_map(mark_bit_map), > _task_queues(task_queues), > _term(total_workers, task_queues) > - { } > + { > + assert(_collector->_span.equals(_span) && !_span.is_empty(), > + "Inconsistency in _span"); > + } > > OopTaskQueueSet* task_queues() { return _task_queues; } > > @@ -5531,7 +5532,8 @@ > _mark_bit_map, work_queue(i)); > CMSParDrainMarkingStackClosure par_drain_stack(_collector, _span, > _mark_bit_map, work_queue(i)); > - CMSIsAliveClosure is_alive_closure(_mark_bit_map); > + assert(_collector->_span.equals(_span), "Inconsistency in _span"); > + CMSIsAliveClosure is_alive_closure(_span, _mark_bit_map); > _task.work(i, is_alive_closure, par_keep_alive, par_drain_stack); > if (_task.marks_oops_alive()) { > do_work_steal(i, &par_drain_stack, &par_keep_alive, > --- > old/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Thu > May 1 16:05:16 2008 > +++ > new/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Thu > May 1 16:05:15 2008 > @@ -435,23 +435,22 @@ > // if the object is "live" (reachable). Used in weak > // reference processing. > class CMSIsAliveClosure: public BoolObjectClosure { > - MemRegion _span; > + const MemRegion _span; > const CMSBitMap* _bit_map; > > friend class CMSCollector; > - protected: > - void set_span(MemRegion span) { _span = span; } > public: > - CMSIsAliveClosure(CMSBitMap* bit_map): > - _bit_map(bit_map) { } > - > CMSIsAliveClosure(MemRegion span, > CMSBitMap* bit_map): > _span(span), > - _bit_map(bit_map) { } > + _bit_map(bit_map) { > + assert(!span.is_empty(), "Empty span could spell trouble"); > + } > + > void do_object(oop obj) { > assert(false, "not to be invoked"); > } > + > bool do_object_b(oop obj); > }; > > @@ -600,7 +599,7 @@ > // ("Weak") Reference processing support > ReferenceProcessor* _ref_processor; > CMSIsAliveClosure _is_alive_closure; > - // keep this textually after _markBitMap; c'tor dependency > + // keep this textually after _markBitMap and _span; c'tor dependency > > ConcurrentMarkSweepThread* _cmsThread; // the thread doing > the work > ModUnionClosure _modUnionClosure; > From y.s.ramakrishna at sun.com Wed May 7 00:43:49 2008 From: y.s.ramakrishna at sun.com (y.s.ramakrishna at sun.com) Date: Wed, 07 May 2008 00:43:49 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6662086: 6u4+, 7b11+: CMS never clears referents when -XX:+ParallelRefProcEnabled Message-ID: <20080507004351.7224527D66@hg.openjdk.java.net> Changeset: b5489bb705c9 Author: ysr Date: 2008-05-06 15:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/b5489bb705c9 6662086: 6u4+, 7b11+: CMS never clears referents when -XX:+ParallelRefProcEnabled Summary: Construct the relevant CMSIsAliveClosure used by CMS during parallel reference processing with the correct span. It had incorrectly been constructed with an empty span, a regression introduced in 6417901. Reviewed-by: jcoomes ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp From igor.veresov at sun.com Fri May 9 19:57:09 2008 From: igor.veresov at sun.com (igor.veresov at sun.com) Date: Fri, 09 May 2008 19:57:09 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6697534: Premature GC and invalid lgrp selection with NUMA-aware allocator. Message-ID: <20080509195713.0748D27E68@hg.openjdk.java.net> Changeset: e3729351c946 Author: iveresov Date: 2008-05-09 16:34 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/e3729351c946 6697534: Premature GC and invalid lgrp selection with NUMA-aware allocator. Summary: Don't move tops of the chunks in ensure_parsibility(). Handle the situation with Solaris when a machine has a locality group with no memory. Reviewed-by: apetrusenko, jcoomes, ysr ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp From Jon.Masamitsu at Sun.COM Mon May 12 19:35:01 2008 From: Jon.Masamitsu at Sun.COM (Jon Masamitsu) Date: Mon, 12 May 2008 12:35:01 -0700 Subject: Question about GCOverheadLimit In-Reply-To: <200805121457.07091.adamh@basis.com> References: <200805121457.07091.adamh@basis.com> Message-ID: <48289BE5.3050906@Sun.COM> The total time is measured as the time from the end of a full GC to the end of the next full GC. Adam Hawthorne wrote: > Hi all, > > I just have a quick question about the GC Overhead Limit. The docs say: if > more than 98% of the total time is spent in garbage collection and less than > 2% of the heap is recovered, an OutOfMemoryError will be thrown. > > What "total time" is it referring to there? > > Thanks, > > Adam > > > > ------------------------------------------------------------------------ > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From fw at deneb.enyo.de Tue May 13 07:40:34 2008 From: fw at deneb.enyo.de (Florian Weimer) Date: Tue, 13 May 2008 09:40:34 +0200 Subject: java.lang.OutOfMemoryError: nativeGetNewTLA In-Reply-To: <304E9E55F6A4BE4B910C2437D4D1B4960A622D2BEA@MERCMBX14.na.sas.com> (Keith Holdaway's message of "Sat, 26 Apr 2008 10:45:09 -0400") References: <9BADD5B8-F9DA-4656-843B-7D44FF36963A@mugfu.com> <477C09ED.9020400@Sun.COM> <22133221-306B-41D3-AE57-155876104354@mugfu.com> <477C1718.70004@Sun.COM> <304E9E55F6A4BE4B910C2437D4D1B49608FC799162@MERCMBX14.na.sas.com> <5d649bdb0801031600j7d36c5e9k4049421726346cf3@mail.gmail.com> <477D8067.8050802@Sun.COM> <304E9E55F6A4BE4B910C2437D4D1B4960A622D2BEA@MERCMBX14.na.sas.com> Message-ID: <87hcd2abyl.fsf@mid.deneb.enyo.de> * Keith Holdaway: > Any ideas what this refers to? > > java.lang.OutOfMemoryError: nativeGetNewTLA It's likely a stack trace from Bea JRockit, and not from Hotspot. _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Vladimir.Kozlov at Sun.COM Thu May 15 03:53:07 2008 From: Vladimir.Kozlov at Sun.COM (Vladimir Kozlov) Date: Wed, 14 May 2008 20:53:07 -0700 Subject: Request for reviews (L): 6695810: null oop passed to encode_heap_oop_not_null Message-ID: <482BB3A3.4080102@sun.com> Note: diffs contains changes (in node.cpp and c2_globals.hpp) for 6701887 which I will push first. http://webrev.invokedynamic.info/kvn/6695810/index.html Fixed 6695810: null oop passed to encode_heap_oop_not_null These changes include fixes for problems found in Escape Analysis and Compressed Oops implementations. Also they include additional optimizations for Compressed Oops: - use the 32-bits gap after klass in a object for a narrow oop field, - use the 32-bits gap after klass in a object for boxing objects value (except Long and Double), - use heapOopSize for instanceKlass::_nonstatic_field_size value instead of wordSize, - add LoadNKlass and CMoveN nodes and use CmpN and ConN nodes and add correspondent platform specific assembler instructions to generate narrow oops (32-bits) compares for oop type and oop NULL checks. Reviewed by: Fix verified (y/n): y, failed tests and generated code Other testing: JPRT, CTW, nsk tests, refworkload From MASLOWSC at cboe.com Sat May 17 20:50:06 2008 From: MASLOWSC at cboe.com (Maslowski, Chuck) Date: Sat, 17 May 2008 15:50:06 -0500 Subject: Bug 6700047 Message-ID: <4BD174404CF4A34C98322DC926CF862B05559583@MSMAIL.cboent.cboe.com> we ran into this HotSpot bug, do you guys have any information as to a circumvention or fix ? -- thanks Chuck Maslowski CBOE From David.Cox at Sun.COM Mon May 19 17:00:26 2008 From: David.Cox at Sun.COM (David Cox) Date: Mon, 19 May 2008 10:00:26 -0700 Subject: Bug 6700047 In-Reply-To: <4BD174404CF4A34C98322DC926CF862B05559583@MSMAIL.cboent.cboe.com> References: <4BD174404CF4A34C98322DC926CF862B05559583@MSMAIL.cboent.cboe.com> Message-ID: <4831B22A.6030809@sun.com> Chuck, This is a bug in hotspot's server compiler. This kind of failure can be hard to diagnose so I suspect that the compiler team (Cc'd) would like to work with you to help them track it down. Dave Maslowski, Chuck wrote: > we ran into this HotSpot bug, do you guys have any information as to a circumvention or fix ? > -- thanks > Chuck Maslowski > CBOE From igor.veresov at sun.com Wed May 21 04:02:03 2008 From: igor.veresov at sun.com (igor.veresov at sun.com) Date: Wed, 21 May 2008 04:02:03 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 4 new changesets Message-ID: <20080521040213.398D42846A@hg.openjdk.java.net> Changeset: f3de1255b035 Author: rasbold Date: 2008-05-07 08:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/f3de1255b035 6603011: RFE: Optimize long division Summary: Transform long division by constant into multiply Reviewed-by: never, kvn ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/divnode.cpp ! src/share/vm/opto/mulnode.cpp ! src/share/vm/opto/mulnode.hpp ! src/share/vm/opto/type.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 7cce9e4e0f7c Author: rasbold Date: 2008-05-09 05:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/7cce9e4e0f7c Merge Changeset: 83c868b757c0 Author: jrose Date: 2008-05-14 00:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/83c868b757c0 6701024: SAJDI functionality is broken Summary: back out sa-related changes to 6652736, use concrete expressions for WKK names in the SA Reviewed-by: never, sundar ! agent/src/share/classes/sun/jvm/hotspot/memory/SystemDictionary.java ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 7a0a921a1a8c Author: rasbold Date: 2008-05-14 15:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/7a0a921a1a8c Merge From jon.masamitsu at sun.com Wed May 28 05:05:20 2008 From: jon.masamitsu at sun.com (jon.masamitsu at sun.com) Date: Wed, 28 May 2008 05:05:20 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6706662: Remove workaround introduced in fix for 6624782 Message-ID: <20080528050524.79EE628738@hg.openjdk.java.net> Changeset: 23a06eca8e83 Author: jmasa Date: 2008-05-27 11:46 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/23a06eca8e83 6706662: Remove workaround introduced in fix for 6624782 Summary: Remove workaround compiler options for instanceKlass.cpp and objArrayKlass.cpp. Reviewed-by: ysr, jcoomes ! make/solaris/makefiles/amd64.make From tony.printezis at sun.com Wed May 28 22:08:44 2008 From: tony.printezis at sun.com (Tony Printezis) Date: Wed, 28 May 2008 18:08:44 -0400 Subject: Proposal: MaxTenuringThreshold and age field size changes Message-ID: <483DD7EC.7050500@sun.com> Hi all, We are considering making some changes to the way the MaxTenuringThreshold parameter is handled and to the size of the age field. We'd appreciate your feedback. *Background.* The -XX:MaxTenuringThreshold=n (or MTT for short) parameter dictates how many times objects will be copied within the young generation (i.e., between the survivor spaces) before they are promoted (tenured) to the old generation. Each object has an "age" field in its header which is incremented every time an object is copied within the young generation. When the age field reaches the value of MTT, the object is promoted to the old generation (I've left out some detail here...). The parameter -XX:+NeverTenure tells the GC never to tenure objects willingly (they will be promoted only when the target survivor space is full). (out of curiosity: does anyone actually use -XX:+NeverTenure?) Originally, in the HotSpot JVM, we had 5 bits per object for the age field (for a max value of 31, so values of MTT would make sense if they were <= 31). A couple of years ago (since 5u6 IIRC), the age field "lost" one bit and it now only has 4 (for a max value of 15). *The Problem.* We have got reports from customers that, when they use a MTT > 15 in the latest JVMs (say, when they use their older settings), the tenuring policy behaves strangely and piles up objects on age 15 (i.e., objects reach age 15 and are not then promoted, but are kept at age 15). This happens because if MTT is set to a value higher than the max age (which is currently 15, as I said earlier), the policy essentially behaves the same as -XX:+NeverTenure. We have got at least two reports that this has a detrimental effect on performance since (a) objects are either retained too long in the young gen, imposing copying overhead, or (b) objects are promoted too early, since objects much older than them, and which they should have got promoted some time ago, filled up the survivor space, forcing younger objects to be promoted instead. We also got some reports from customers that the decrease in age field size has actually created performance issues for them (they get better GC behavior if they keep objects in the young gen longer, so that they can reclaim more of them in the young gen and promote less). *Change Proposal.* We are thinking of applying the following changes: - If MTT is set by the user to a value > max age, we will actually set it to max age. So, a high MTT value will not be equivalent to setting -XX:+NeverTenure (if users really want they never tenure policy, they'd get it with the -XX:+NeverTenure parameter). We believe that this is the more natural interpretation of the MTT parameter (and it will be less confusing to users with "old" settings), even though it will behave differently to the way it currently behaves. - Even though we cannot add an extra bit to the age field in the 32-bit JVM (the space in an object's mark word is at a premium in the 32-bit JVM), we think we can increase the age field size, and as a result the max value of MTT, in the 64-bit JVM (to even higher than 5 bits too). We feel this is a worthwhile change, given that 64-bit JVM users will be able to use MTT values > 15, despite the confusion that it might cause (the max MTT value will be different in the 32-bit and 64-bit JVMs; incidentally, the "compressed oops" JVM will also have the larger age fields too). Let us know what you think, Tony, HS GC Group -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) From Y.S.Ramakrishna at Sun.COM Wed May 28 23:11:08 2008 From: Y.S.Ramakrishna at Sun.COM (Y Srinivas Ramakrishna) Date: Wed, 28 May 2008 16:11:08 -0700 Subject: Proposal: MaxTenuringThreshold and age field size changes In-Reply-To: <483DD7EC.7050500@sun.com> References: <483DD7EC.7050500@sun.com> Message-ID: Hi Tony -- I agree that it might be worthwhile to use a ceiling of MTT at 2^n - 1, n the number of available age bits, and use +NeverTenure for "never tenure" behaviour, rather than conflating MTT > 2^n - 1 with NeverTenure, somewhat as done presently. In the 64 bit JVM, I would rather vote for reserving the available bits for possible future use rather than use them for age. It would seem that 15 would almost always be sufficient, and if not there is always NeverTenure :-) [But I guess your customers are evidence that 15 is not enough in some cases; where do we draw the line? I guess that we do not really know, and that you are suggesting we give the users as many age bits as we "reasonably can" for a specific platform/implementation.] On the other hand, if people feel more age bits are needed for the 64-bit case, I would like us to agree that the actual number available in a given release would be bounded below by 4, but would otherwise be free to change from one release to another, along with the semantics for ceiling the MTT as suggested in your note below. [For example: "Hey, where did my age bit go? I was specifying MTT=256 in JDK 19 and was happy with the performance, and now the JVM's ceiling the MTT at 128 since JDK 20."] Just out of curiosity, and to do a very rough survey, should one do a quick poll of hotspot-gc-use to see how many people on the list missed the age-bit that vanished across the 5u5->5u6 transition and wished the bit were back? Anyway, ... my $0.02 :-) -- ramki ----- Original Message ----- From: Tony Printezis Date: Wednesday, May 28, 2008 3:15 pm Subject: Proposal: MaxTenuringThreshold and age field size changes To: "hotspot-gc-dev at openjdk.java.net" > Hi all, > > We are considering making some changes to the way the > MaxTenuringThreshold parameter is handled and to the size of the age > field. We'd appreciate your feedback. > > *Background.* The -XX:MaxTenuringThreshold=n (or MTT for short) > parameter dictates how many times objects will be copied within the > young generation (i.e., between the survivor spaces) before they are > promoted (tenured) to the old generation. Each object has an "age" > field > in its header which is incremented every time an object is copied > within > the young generation. When the age field reaches the value of MTT, the > > object is promoted to the old generation (I've left out some detail > here...). The parameter -XX:+NeverTenure tells the GC never to tenure > > objects willingly (they will be promoted only when the target survivor > > space is full). > > (out of curiosity: does anyone actually use -XX:+NeverTenure?) > > Originally, in the HotSpot JVM, we had 5 bits per object for the age > field (for a max value of 31, so values of MTT would make sense if > they > were <= 31). A couple of years ago (since 5u6 IIRC), the age field > "lost" one bit and it now only has 4 (for a max value of 15). > > *The Problem.* We have got reports from customers that, when they use > a > MTT > 15 in the latest JVMs (say, when they use their older settings), > > the tenuring policy behaves strangely and piles up objects on age 15 > (i.e., objects reach age 15 and are not then promoted, but are kept at > > age 15). This happens because if MTT is set to a value higher than the > > max age (which is currently 15, as I said earlier), the policy > essentially behaves the same as -XX:+NeverTenure. We have got at least > > two reports that this has a detrimental effect on performance since > (a) > objects are either retained too long in the young gen, imposing > copying > overhead, or (b) objects are promoted too early, since objects much > older than them, and which they should have got promoted some time > ago, > filled up the survivor space, forcing younger objects to be promoted > instead. We also got some reports from customers that the decrease in > > age field size has actually created performance issues for them (they > > get better GC behavior if they keep objects in the young gen longer, > so > that they can reclaim more of them in the young gen and promote less). > > *Change Proposal.* We are thinking of applying the following changes: > > - If MTT is set by the user to a value > max age, we will actually set > > it to max age. So, a high MTT value will not be equivalent to setting > > -XX:+NeverTenure (if users really want they never tenure policy, > they'd > get it with the -XX:+NeverTenure parameter). We believe that this is > the > more natural interpretation of the MTT parameter (and it will be less > > confusing to users with "old" settings), even though it will behave > differently to the way it currently behaves. > > - Even though we cannot add an extra bit to the age field in the > 32-bit > JVM (the space in an object's mark word is at a premium in the 32-bit > > JVM), we think we can increase the age field size, and as a result the > > max value of MTT, in the 64-bit JVM (to even higher than 5 bits too). > We > feel this is a worthwhile change, given that 64-bit JVM users will be > > able to use MTT values > 15, despite the confusion that it might cause > > (the max MTT value will be different in the 32-bit and 64-bit JVMs; > incidentally, the "compressed oops" JVM will also have the larger age > > fields too). > > Let us know what you think, > > Tony, HS GC Group > > -- > ---------------------------------------------------------------------- > | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | > | | MS BUR02-311 | > | e-mail: tony.printezis at sun.com | 35 Network Drive | > | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | > ---------------------------------------------------------------------- > e-mail client: Thunderbird (Solaris) > > From Thomas.Viessmann at Sun.COM Thu May 29 06:44:49 2008 From: Thomas.Viessmann at Sun.COM (Thomas Viessmann) Date: Thu, 29 May 2008 08:44:49 +0200 Subject: Proposal: MaxTenuringThreshold and age field size changes In-Reply-To: <483DD7EC.7050500@sun.com> References: <483DD7EC.7050500@sun.com> Message-ID: <483E50E1.5030400@sun.com> Just my two cents: > (out of curiosity: does anyone actually use -XX:+NeverTenure?) No, I wasn't even aware of this flag. > If MTT is set by the user to a value > max age, we will actually set it to max age. Agree. Still most customers use 32. > how many people on the list missed the age-bit that vanished across the > 5u5->5u6 transition and wished the bit were back? Actually most if not all customers missed that change. I always see 32 or 0. Nothing in between. Customers typically just enable or disable survivor spaces and do not care about the 4 or 5 bit granularity of MaxTenuringThreshold -- --- mit freundlichen Gruessen / with kind regards Thomas Viessmann Global Sales and Services - Software Support Engineering Sun Microsystems GmbH Phone: +49 (0)89 46008 2365 / x62365 Sonnenallee 1 Mobile: +49 (0)174 300 5467 D-85551 Kirchheim-Heimstetten Pager: Thomas.Viessmann at sun.itechtool.com Germany/Deutschland mailto: Thomas.Viessmann at sun.com http://www.sun.de Amtsgericht Muenchen: HRB 161028 Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer Vorsitzender des Aufsichtsrates: Martin Haering From email at nmichael.de Thu May 29 09:25:26 2008 From: email at nmichael.de (Nicolas Michael) Date: Thu, 29 May 2008 09:25:26 GMT Subject: GC Timestamps in Java 6 Message-ID: Hi, you have introduced some additional timestamps in the gc logs with Java 6, showing cpu time (user and system) as well as elapsed time. When I ran some CMS tests where I changed the number of CMS threads, I've noticed that those numbers don't show what I originally expected... For a STW collection, this new output is quite nice: 966.697: [GC 966.698: [ParNew: 260292K->65536K(262144K), 0.1426038 secs] 1090657K->898209K(1368064K), 0.1429749 secs] [Times: user=1.88 sys=0.06, real=0.14 secs] The collection took 0.14 secs, and the ParNew threads consumed 1.88+0.06=1.94 seconds cpu time. With 16 ParNew threads that I had configured, each single thread was therefore on a cpu for most of the time (they consumed 1.94 out of 16*0.14=2.24 theoretically possible cpu seconds). That's nice to know! However, for concurrent activities, this output is a little confusing: 2319.981: [CMS-concurrent-mark: 3.487/3.487 secs] [Times: user=54.12 sys=0.78, real=3.49 secs] The concurrent mark took 3.49 seconds, ok. Now I would expect the "user" and "sys" times to reflect the cpu time consumed for concurrent marking (the sum over all parallel CMS threads). In this example, I had 8 parallel CMS threads configured (plus the "coordinator" CMS thread). But 9 threads cannot consume 55 cpu seconds within 3.5 real seconds. So I guess this cpu time reported as "user" and "sys" is consumed by *all* threads of the JVM, including the mutator threads. Which would make sense (the numbers would fit), but is a rather meaningless information... Probably it is intended that way. But I think those times would be more usefull if they reflected *only* the gc activities. When I look at a gc log, I would like to see how much time (elapsed as well as cpu cycles) are spent for *garbage collection*, without cpu time spent for my mutator threads. What do you think? Nick. PS: Thanks Tony for pointing me to this discussion list! From kirk.pepperdine at gmail.com Thu May 29 07:16:23 2008 From: kirk.pepperdine at gmail.com (kirk) Date: Thu, 29 May 2008 09:16:23 +0200 Subject: Proposal: MaxTenuringThreshold and age field size changes In-Reply-To: <483E50E1.5030400@sun.com> References: <483DD7EC.7050500@sun.com> <483E50E1.5030400@sun.com> Message-ID: <483E5847.8080801@gmail.com> Thomas Viessmann wrote: > Just my two cents: > > > (out of curiosity: does anyone actually use -XX:+NeverTenure?) > > No, I wasn't even aware of this flag. > > > If MTT is set by the user to a value > max age, we will actually set > it to max age. > > Agree. Still most customers use 32. > >> how many people on the list missed the age-bit that vanished across >> the 5u5->5u6 transition and wished the bit were back? > > Actually most if not all customers missed that change. I always see > 32 or 0. Nothing in between. Customers typically just enable or disable > survivor spaces and do not care about the 4 or 5 bit granularity of > MaxTenuringThreshold > > > This is mostly because there isn't a well known tool that will suggest a change in the MTT. IMHO, having lower MTT values is less useful than having higher ones. I rarely want to prematurely promote where as I often would like to delay promotion. Kind regards, Kirk Pepperdine From Jon.Masamitsu at Sun.COM Thu May 29 13:36:08 2008 From: Jon.Masamitsu at Sun.COM (Jon Masamitsu) Date: Thu, 29 May 2008 06:36:08 -0700 Subject: Proposal: MaxTenuringThreshold and age field size changes In-Reply-To: <483DD7EC.7050500@sun.com> References: <483DD7EC.7050500@sun.com> Message-ID: <483EB148.1000502@Sun.COM> Tony Printezis wrote: > Hi all, > > ... > > (out of curiosity: does anyone actually use -XX:+NeverTenure?) > Today NeverTenure (and AlwaysTenure) are only recognized by the UseParallelGC collector mostly. You'll also find uses of in the incomplete adaptive sizing for CMS. From Y.S.Ramakrishna at Sun.COM Thu May 29 15:50:19 2008 From: Y.S.Ramakrishna at Sun.COM (Y Srinivas Ramakrishna) Date: Thu, 29 May 2008 08:50:19 -0700 Subject: GC Timestamps in Java 6 In-Reply-To: References: Message-ID: You are right that this represents the process virtual time (and elapsed time) rather than lwp-virtual time. I agree that for the concurrent phases reporting lwp-virtual time over the lwp's doing the concurrent gc work would be useful. -- ramki ----- Original Message ----- From: Nicolas Michael Date: Thursday, May 29, 2008 2:29 am Subject: GC Timestamps in Java 6 To: hotspot-gc-dev at openjdk.java.net > Hi, > > you have introduced some additional timestamps in the gc logs with > Java 6, > showing cpu time (user and system) as well as elapsed time. When I ran > some CMS > tests where I changed the number of CMS threads, I've noticed that > those numbers > don't show what I originally expected... > > For a STW collection, this new output is quite nice: > 966.697: [GC 966.698: [ParNew: 260292K->65536K(262144K), 0.1426038 secs] > 1090657K->898209K(1368064K), 0.1429749 secs] [Times: user=1.88 sys=0.06, > real=0.14 secs] > The collection took 0.14 secs, and the ParNew threads consumed 1.88+0.06=1.94 > seconds cpu time. With 16 ParNew threads that I had configured, each single > thread was therefore on a cpu for most of the time (they consumed 1.94 > out of > 16*0.14=2.24 theoretically possible cpu seconds). That's nice to know! > > However, for concurrent activities, this output is a little confusing: > 2319.981: [CMS-concurrent-mark: 3.487/3.487 secs] [Times: user=54.12 sys=0.78, > real=3.49 secs] > The concurrent mark took 3.49 seconds, ok. Now I would expect the > "user" and > "sys" times to reflect the cpu time consumed for concurrent marking > (the sum > over all parallel CMS threads). In this example, I had 8 parallel CMS > threads > configured (plus the "coordinator" CMS thread). But 9 threads cannot > consume 55 > cpu seconds within 3.5 real seconds. So I guess this cpu time reported > as "user" > and "sys" is consumed by *all* threads of the JVM, including the mutator > threads. Which would make sense (the numbers would fit), but is a rather > meaningless information... > > Probably it is intended that way. But I think those times would be > more usefull > if they reflected *only* the gc activities. When I look at a gc log, I > would > like to see how much time (elapsed as well as cpu cycles) are spent > for *garbage > collection*, without cpu time spent for my mutator threads. > > What do you think? > > Nick. > > PS: Thanks Tony for pointing me to this discussion > list! > From Y.S.Ramakrishna at Sun.COM Thu May 29 17:36:03 2008 From: Y.S.Ramakrishna at Sun.COM (Y Srinivas Ramakrishna) Date: Thu, 29 May 2008 10:36:03 -0700 Subject: GC Timestamps in Java 6 In-Reply-To: References: Message-ID: Just wanted to add the probably somewhat obvious footnote that even for stop-world phases what's reported is process-virtual time; of course in that case the work done by other threads in the process is a negligible fraction since most of the mutator threads are stopped for most of that time-window. However, mutator threads executing native code (and therefore not stopped) or the so-called "watcher thread" running in short bursts during a long collection, and/or some non-trivial work done by the "coordinating" vm thread (rather than the gc worker threads) might sometimes throw off your expectations by a bit. -- ramki ----- Original Message ----- From: Y Srinivas Ramakrishna Date: Thursday, May 29, 2008 8:50 am Subject: Re: GC Timestamps in Java 6 To: Nicolas Michael Cc: hotspot-gc-dev at openjdk.java.net > You are right that this represents the process virtual time (and > elapsed time) > rather than lwp-virtual time. I agree that for the concurrent phases reporting > lwp-virtual time over the lwp's doing the concurrent gc work would be > useful. > > -- ramki > > ----- Original Message ----- > From: Nicolas Michael > Date: Thursday, May 29, 2008 2:29 am > Subject: GC Timestamps in Java 6 > To: hotspot-gc-dev at openjdk.java.net > > > > Hi, > > > > you have introduced some additional timestamps in the gc logs with > > Java 6, > > showing cpu time (user and system) as well as elapsed time. When I > ran > > some CMS > > tests where I changed the number of CMS threads, I've noticed that > > those numbers > > don't show what I originally expected... > > > > For a STW collection, this new output is quite nice: > > 966.697: [GC 966.698: [ParNew: 260292K->65536K(262144K), 0.1426038 secs] > > 1090657K->898209K(1368064K), 0.1429749 secs] [Times: user=1.88 sys=0.06, > > real=0.14 secs] > > The collection took 0.14 secs, and the ParNew threads consumed 1.88+0.06=1.94 > > seconds cpu time. With 16 ParNew threads that I had configured, each > single > > thread was therefore on a cpu for most of the time (they consumed > 1.94 > > out of > > 16*0.14=2.24 theoretically possible cpu seconds). That's nice to know! > > > > However, for concurrent activities, this output is a little confusing: > > 2319.981: [CMS-concurrent-mark: 3.487/3.487 secs] [Times: user=54.12 > sys=0.78, > > real=3.49 secs] > > The concurrent mark took 3.49 seconds, ok. Now I would expect the > > "user" and > > "sys" times to reflect the cpu time consumed for concurrent marking > > > (the sum > > over all parallel CMS threads). In this example, I had 8 parallel > CMS > > threads > > configured (plus the "coordinator" CMS thread). But 9 threads cannot > > > consume 55 > > cpu seconds within 3.5 real seconds. So I guess this cpu time > reported > > as "user" > > and "sys" is consumed by *all* threads of the JVM, including the mutator > > threads. Which would make sense (the numbers would fit), but is a rather > > meaningless information... > > > > Probably it is intended that way. But I think those times would be > > more usefull > > if they reflected *only* the gc activities. When I look at a gc log, > I > > would > > like to see how much time (elapsed as well as cpu cycles) are spent > > > for *garbage > > collection*, without cpu time spent for my mutator threads. > > > > What do you think? > > > > Nick. > > > > PS: Thanks Tony for pointing me to this discussion > > list! > > From Y.S.Ramakrishna at Sun.COM Thu May 29 18:34:54 2008 From: Y.S.Ramakrishna at Sun.COM (Y Srinivas Ramakrishna) Date: Thu, 29 May 2008 11:34:54 -0700 Subject: Proposal: MaxTenuringThreshold and age field size changes In-Reply-To: <483E5847.8080801@gmail.com> References: <483DD7EC.7050500@sun.com> <483E50E1.5030400@sun.com> <483E5847.8080801@gmail.com> Message-ID: > This is mostly because there isn't a well known tool that will suggest > a > change in the MTT. IMHO, having lower MTT values is less useful than > having higher ones. I rarely want to prematurely promote where as I > often would like to delay promotion. I agree. And for that reason it might make sense to leave MTT untouched at the system-selected default of 2^n -1, n the extant age bits in a release, if you do not want objects promoted sooner for other reasons. For that reason, Tony's proposal of letting any user-selected value greater than 2^n -1, saturate at 2^n -1 is a very welcome change that would protect against inadvertent mistuning (or of changes in "n" in the underlying implementation, as happened in 5u5->5u6). [As Tony noted, the key is to _always_ (unless the user explicitly requested NeverTenure in which case all bets may be off) try to avoid premature promotion because of survivor space overflow (the statement is deliberately fuzzy because the multi-threaded nature of scavenges and/or sudden changes in object demographics can collude against any kind of guarantee in the face of fixed size survivor spaces).] Along with, as Jon pointed out, of making {Always,Never}Tenure work uniformly with all collectors. -- ramki From tony.printezis at sun.com Thu May 29 19:49:42 2008 From: tony.printezis at sun.com (Tony Printezis) Date: Thu, 29 May 2008 15:49:42 -0400 Subject: Proposal: MaxTenuringThreshold and age field size changes In-Reply-To: References: <483DD7EC.7050500@sun.com> Message-ID: <483F08D6.9060803@sun.com> Ramki, Y Srinivas Ramakrishna wrote: > In the 64 bit JVM, I would rather vote for reserving the available bits for > possible future use rather than use them for age. I think, in the 64-bit JVM, we have 26 bits available on the mark word. I think we should be able to use at least one of them to expand the age field. In fact, I was going to vote that we use two and expand the age field to 6 bits for a max value of 63. > It would seem that 15 > would almost always be sufficient, and if not there is always NeverTenure :-) > [But I guess your customers are evidence that 15 is not enough in some > cases; I know of at least two customers who see better GC behavior with a MTT > 15. > where do we draw the line? I guess that we do not really know, and that > you are suggesting we give the users as many age bits as we "reasonably can" for > a specific platform/implementation.] > > On the other hand, if people feel more age bits are needed for the 64-bit > case, I would like us to agree that the actual number available in a > given release would be bounded below by 4, but would otherwise be > free to change from one release to another, along with the semantics > for ceiling the MTT as suggested in your note below. [For example: "Hey, > where did my age bit go? I was specifying MTT=256 in JDK 19 > and was happy with the performance, and now the JVM's ceiling the MTT > at 128 since JDK 20."] > I think this is definitely reasonable. And, in fact, it makes using a 2n-1 ceiling for MTT, as we discussed, even more important. :-) > Just out of curiosity, and to do a very rough survey, should one do a quick > poll of hotspot-gc-use to see how many people on the > list missed the age-bit that vanished across the 5u5->5u6 transition > and wished the bit were back? > I can do that. > Anyway, ... my $0.02 :-) > Tony > ----- Original Message ----- > From: Tony Printezis > Date: Wednesday, May 28, 2008 3:15 pm > Subject: Proposal: MaxTenuringThreshold and age field size changes > To: "hotspot-gc-dev at openjdk.java.net" > > > >> Hi all, >> >> We are considering making some changes to the way the >> MaxTenuringThreshold parameter is handled and to the size of the age >> field. We'd appreciate your feedback. >> >> *Background.* The -XX:MaxTenuringThreshold=n (or MTT for short) >> parameter dictates how many times objects will be copied within the >> young generation (i.e., between the survivor spaces) before they are >> promoted (tenured) to the old generation. Each object has an "age" >> field >> in its header which is incremented every time an object is copied >> within >> the young generation. When the age field reaches the value of MTT, the >> >> object is promoted to the old generation (I've left out some detail >> here...). The parameter -XX:+NeverTenure tells the GC never to tenure >> >> objects willingly (they will be promoted only when the target survivor >> >> space is full). >> >> (out of curiosity: does anyone actually use -XX:+NeverTenure?) >> >> Originally, in the HotSpot JVM, we had 5 bits per object for the age >> field (for a max value of 31, so values of MTT would make sense if >> they >> were <= 31). A couple of years ago (since 5u6 IIRC), the age field >> "lost" one bit and it now only has 4 (for a max value of 15). >> >> *The Problem.* We have got reports from customers that, when they use >> a >> MTT > 15 in the latest JVMs (say, when they use their older settings), >> >> the tenuring policy behaves strangely and piles up objects on age 15 >> (i.e., objects reach age 15 and are not then promoted, but are kept at >> >> age 15). This happens because if MTT is set to a value higher than the >> >> max age (which is currently 15, as I said earlier), the policy >> essentially behaves the same as -XX:+NeverTenure. We have got at least >> >> two reports that this has a detrimental effect on performance since >> (a) >> objects are either retained too long in the young gen, imposing >> copying >> overhead, or (b) objects are promoted too early, since objects much >> older than them, and which they should have got promoted some time >> ago, >> filled up the survivor space, forcing younger objects to be promoted >> instead. We also got some reports from customers that the decrease in >> >> age field size has actually created performance issues for them (they >> >> get better GC behavior if they keep objects in the young gen longer, >> so >> that they can reclaim more of them in the young gen and promote less). >> >> *Change Proposal.* We are thinking of applying the following changes: >> >> - If MTT is set by the user to a value > max age, we will actually set >> >> it to max age. So, a high MTT value will not be equivalent to setting >> >> -XX:+NeverTenure (if users really want they never tenure policy, >> they'd >> get it with the -XX:+NeverTenure parameter). We believe that this is >> the >> more natural interpretation of the MTT parameter (and it will be less >> >> confusing to users with "old" settings), even though it will behave >> differently to the way it currently behaves. >> >> - Even though we cannot add an extra bit to the age field in the >> 32-bit >> JVM (the space in an object's mark word is at a premium in the 32-bit >> >> JVM), we think we can increase the age field size, and as a result the >> >> max value of MTT, in the 64-bit JVM (to even higher than 5 bits too). >> We >> feel this is a worthwhile change, given that 64-bit JVM users will be >> >> able to use MTT values > 15, despite the confusion that it might cause >> >> (the max MTT value will be different in the 32-bit and 64-bit JVMs; >> incidentally, the "compressed oops" JVM will also have the larger age >> >> fields too). >> >> Let us know what you think, >> >> Tony, HS GC Group >> >> -- >> ---------------------------------------------------------------------- >> | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | >> | | MS BUR02-311 | >> | e-mail: tony.printezis at sun.com | 35 Network Drive | >> | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | >> ---------------------------------------------------------------------- >> e-mail client: Thunderbird (Solaris) >> >> >> -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) From tony.printezis at sun.com Thu May 29 19:57:40 2008 From: tony.printezis at sun.com (Tony Printezis) Date: Thu, 29 May 2008 15:57:40 -0400 Subject: Proposal: MaxTenuringThreshold and age field size changes In-Reply-To: <483E50E1.5030400@sun.com> References: <483DD7EC.7050500@sun.com> <483E50E1.5030400@sun.com> Message-ID: <483F0AB4.9040709@sun.com> Thomas, Thomas Viessmann wrote: > > If MTT is set by the user to a value > max age, we will actually set > it to max age. > > Agree. Still most customers use 32. Even though they might use 32, it doesn't mean that the GC will actually use the "never tenure" policy. The actually tenuring threshold is actually auto-tuned by the GC so, if the GC notices that space in the survivor spaces is tight, it might lower the tenuring threshold irrespective of MTT. So, a lot of customers will get the autotuning policy if they set MTT to 32, not never tenure. > Actually most if not all customers missed that change. I always see > 32 or 0. Nothing in between. Oh, I've seen lots in between. :-) Tony -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) From tony.printezis at sun.com Thu May 29 20:52:06 2008 From: tony.printezis at sun.com (Tony Printezis) Date: Thu, 29 May 2008 16:52:06 -0400 Subject: What values do use for MaxTenuringThreshold? Message-ID: <483F1776.6000606@sun.com> (this is a follow-up to a discussion on the hotspot-gc-dev list) We're trying to take a quick poll on what values you use for MaxTenuringThreshold and whether the decrease in age field size from 5 to 4 bits (from 1.5u6) seemed to have affected the performance of your app. This is the thread, if you're interested: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2008-May/000309.html Tony, HS GC Group -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From jamesnichols3 at gmail.com Fri May 30 13:37:10 2008 From: jamesnichols3 at gmail.com (James Nichols) Date: Fri, 30 May 2008 09:37:10 -0400 Subject: What values do use for MaxTenuringThreshold? In-Reply-To: <483F1776.6000606@sun.com> References: <483F1776.6000606@sun.com> Message-ID: <83a51e120805300637l1494bceasaddcc4a01680f6c9@mail.gmail.com> Hey Tony, A while back I exchanged some messages about the tenuring threshold on this list, see: http://mail.openjdk.java.net/pipermail/hotspot-gc-use/2008-January/000027.html My MaxTenuringThreshold at the time was set to 30, but if you look at the plots attached to the email thread above, you can see it never went above 16. I had MTT set so high since I had a lot of short-lived data that would get promoted and GC'd when the next tenured area collection ran, which to me meant they were getting promoted too soon. I was using 1.5.0_12 and was always on it, so the change in bit size for the age value wasn't that big of deal, I guess. I was somewhat perplexed at the time as to why the threshold never went above 16 and now I know why. I currently have it set to 4 (along with a modified survivor space size), since I had a lot of unnecessary copying and the premature promotion issues discussed in the above post. My experience has shown that having a really high MTT leads to a ton of extra copying. Likewise, I'm not sure in what circumstances NeverTenure would be a good idea. The whole point of generational garbage collection is to get junk that sticks around a while out of the hot area of memory, isn't it? Both of these settings seem to indicate that you'ld be better off using non generational GC. For what it's worth, if I am working with a new application that has gc problems on a jvm that hasn't been tuned, I would set MTT to 4 with CMS and see how it worked and iterate from there. In Summary, current MTT=4. As to the change impacting performance, I'm not sure since I never ran this particular app on a rev of the JVM that old. Jim On Thu, May 29, 2008 at 4:52 PM, Tony Printezis wrote: > (this is a follow-up to a discussion on the hotspot-gc-dev list) > > We're trying to take a quick poll on what values you use for > MaxTenuringThreshold and whether the decrease in age field size from 5 > to 4 bits (from 1.5u6) seemed to have affected the performance of your app. > > This is the thread, if you're interested: > > http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2008-May/000309.html > > Tony, HS GC Group > > -- > ---------------------------------------------------------------------- > | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | > | | MS BUR02-311 | > | e-mail: tony.printezis at sun.com | 35 Network Drive | > | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | > ---------------------------------------------------------------------- > e-mail client: Thunderbird (Solaris) > > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Jon.Masamitsu at Sun.COM Fri May 30 14:36:58 2008 From: Jon.Masamitsu at Sun.COM (Jon Masamitsu) Date: Fri, 30 May 2008 07:36:58 -0700 Subject: GC Timestamps in Java 6 In-Reply-To: References: Message-ID: <4840110A.3030404@sun.com> Nick, My main motivation for this additional information was to have some way for the user to see that the JVM was swapping during GC. Before this addition the only way was that we would hear from the user that GC pauses of seconds had turned into GC pauses of mintues. Swapping was our first guess but only a guess. For the stop-the-world collections the numbers output do that for us. Regarding the numbers for the concurrent phases, I gave less thought to them but did think about them some. I recall that I liked them from the point of view that they gave me information about how much time the concurrent collections was stealing from the application. You went through the numbers for your example 2319.981: [CMS-concurrent-mark: 3.487/3.487 secs] [Times: user=54.12 sys=0.78, real=3.49 secs] and concluded that GC was not consuming all the time. For a concurrent phase, that's a conformt for me :). Does this make any sense? I had to consciously add the code to print out the times for the concurrent phases so I know I thought about it but perhaps not hard enough. Jon Nicolas Michael wrote: >Hi, > >you have introduced some additional timestamps in the gc logs with Java 6, >showing cpu time (user and system) as well as elapsed time. When I ran some CMS >tests where I changed the number of CMS threads, I've noticed that those numbers >don't show what I originally expected... > >For a STW collection, this new output is quite nice: >966.697: [GC 966.698: [ParNew: 260292K->65536K(262144K), 0.1426038 secs] >1090657K->898209K(1368064K), 0.1429749 secs] [Times: user=1.88 sys=0.06, >real=0.14 secs] >The collection took 0.14 secs, and the ParNew threads consumed 1.88+0.06=1.94 >seconds cpu time. With 16 ParNew threads that I had configured, each single >thread was therefore on a cpu for most of the time (they consumed 1.94 out of >16*0.14=2.24 theoretically possible cpu seconds). That's nice to know! > >However, for concurrent activities, this output is a little confusing: >2319.981: [CMS-concurrent-mark: 3.487/3.487 secs] [Times: user=54.12 sys=0.78, >real=3.49 secs] >The concurrent mark took 3.49 seconds, ok. Now I would expect the "user" and >"sys" times to reflect the cpu time consumed for concurrent marking (the sum >over all parallel CMS threads). In this example, I had 8 parallel CMS threads >configured (plus the "coordinator" CMS thread). But 9 threads cannot consume 55 >cpu seconds within 3.5 real seconds. So I guess this cpu time reported as "user" >and "sys" is consumed by *all* threads of the JVM, including the mutator >threads. Which would make sense (the numbers would fit), but is a rather >meaningless information... > >Probably it is intended that way. But I think those times would be more usefull >if they reflected *only* the gc activities. When I look at a gc log, I would >like to see how much time (elapsed as well as cpu cycles) are spent for *garbage >collection*, without cpu time spent for my mutator threads. > >What do you think? > >Nick. > >PS: Thanks Tony for pointing me to this discussion >list! > > > From tony.printezis at sun.com Fri May 30 16:18:14 2008 From: tony.printezis at sun.com (Tony Printezis) Date: Fri, 30 May 2008 12:18:14 -0400 Subject: What values do use for MaxTenuringThreshold? In-Reply-To: <83a51e120805300637l1494bceasaddcc4a01680f6c9@mail.gmail.com> References: <483F1776.6000606@sun.com> <83a51e120805300637l1494bceasaddcc4a01680f6c9@mail.gmail.com> Message-ID: <484028C6.3090904@sun.com> Hi Jim, See inline. James Nichols wrote: > Hey Tony, > > A while back I exchanged some messages about the tenuring threshold on > this list, see: > > http://mail.openjdk.java.net/pipermail/hotspot-gc-use/2008-January/000027.html > > My MaxTenuringThreshold at the time was set to 30, but if you look at > the plots attached to the email thread above, you can see it never > went above 16. I had MTT set so high since I had a lot of short-lived > data that would get promoted and GC'd when the next tenured area > collection ran, which to me meant they were getting promoted too > soon. I was using 1.5.0_12 and was always on it, so the change in > bit size for the age value wasn't that big of deal, I guess. I was > somewhat perplexed at the time as to why the threshold never went > above 16 and now I know why. I currently have it set to 4 (along with > a modified survivor space size), since I had a lot of unnecessary > copying and the premature promotion issues discussed in the above post. Thanks for the feedback. > My experience has shown that having a really high MTT leads to a ton > of extra copying. It really depends on the application / requirements / etc. A lot of the time the extra copying is worth it, if you can eventually reclaim the majority of those objects in the young generation and avoid promoting them. > Likewise, I'm not sure in what circumstances NeverTenure would be a > good idea. If you have quite a lot of free space in your survivor spaces, maybe you can retain objects in the young gen much longer with NeverTenure and reclaim them there, saving promoting them. But, I'd guess, in most cases, space in the survivor spaces will be at a premium. So, the NeverTenure policy (as I think I said in a previous e-mail?) could either prematurely promote objects or causing excessive object copying (or both!). I'm really curious whether anyone is using it and seeing a benefit from it. > The whole point of generational garbage collection is to get junk that > sticks around a while out of the hot area of memory, isn't it? I would actually say it's the opposite; to cheaply get rid of the short-lived "chaff". > Both of these settings seem to indicate that you'ld be better off > using non generational GC. Having observed GC patterns for Java applications for a long time, I don't think there would be many cases where a non-generational GC would win (I'm referring to real apps here, not small micro benchmarks...). > For what it's worth, if I am working with a new application that has > gc problems on a jvm that hasn't been tuned, I would set MTT to 4 with > CMS and see how it worked and iterate from there. > > In Summary, current MTT=4. As to the change impacting performance, > I'm not sure since I never ran this particular app on a rev of the JVM > that old. Thanks again for the feedback, Tony > On Thu, May 29, 2008 at 4:52 PM, Tony Printezis > > wrote: > > (this is a follow-up to a discussion on the hotspot-gc-dev list) > > We're trying to take a quick poll on what values you use for > MaxTenuringThreshold and whether the decrease in age field size from 5 > to 4 bits (from 1.5u6) seemed to have affected the performance of > your app. > > This is the thread, if you're interested: > > http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2008-May/000309.html > > Tony, HS GC Group > > -- > ---------------------------------------------------------------------- > | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | > | | MS BUR02-311 | > | e-mail: tony.printezis at sun.com > | 35 Network Drive | > | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | > ---------------------------------------------------------------------- > e-mail client: Thunderbird (Solaris) > > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > > -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From email at nmichael.de Fri May 30 18:49:52 2008 From: email at nmichael.de (Nicolas Michael) Date: Fri, 30 May 2008 20:49:52 +0200 Subject: GC Timestamps in Java 6 In-Reply-To: <4840110A.3030404@sun.com> References: <4840110A.3030404@sun.com> Message-ID: <48404C50.7020108@nmichael.de> Hi Jon, see inline. Jon Masamitsu schrieb: > My main motivation for this additional information was > to have some way for the user to see that the JVM > was swapping during GC. Before this addition the > only way was that we would hear from the user that > GC pauses of seconds had turned into GC pauses > of mintues. Swapping was our first guess but only > a guess. For the stop-the-world collections the > numbers output do that for us. Ok, I see. > Regarding the numbers for the concurrent phases, > I gave less thought to them but did think about > them some. I recall that I liked them from the > point of view that they gave me information about > how much time the concurrent collections was > stealing from the application. You went through the > numbers for your example > > 2319.981: [CMS-concurrent-mark: 3.487/3.487 secs] [Times: user=54.12 > sys=0.78, real=3.49 secs] > > and concluded that GC was not consuming all the time. > For a concurrent phase, that's a conformt for me :). Never looked at it that way! ;-) That's an interesting point. However, for our application we always keep spare ressources and configure the number of threads (mutator / concurrent gc) in such a way that a concurrent gc will never steal all cpu from our application. And, we're running on large multi-way servers. In fact, our mutators aren't slowed down by concurrent gc's at all (or: at least not measurable). So, for us it's not really of much importance to see our application's cpu time during concurrent collections. But I understand that this may be different for other customers. > Does this make any sense? I had to consciously add the > code to print out the times for the concurrent phases so > I know I thought about it but perhaps not hard enough. Sure! Although, for my use-case, it would be more interesting to see the cpu time for the gc threads. If our application is slowed down because of GC, we have lot's of other means to notice that. However, it is much more difficult to measure the cpu time for garbage collection. What I do from time to time is do pstack's to find out which the gc threads are, then do a prstat to see the total cpu time per LWP and add this up... Comparing this to the total process time gives me the "overhead" for garbage collection in terms of cpu usage. This is an interesting measure for us. I thought I may get this information from these additional times in the gc log when I first saw the new output. Anyway, this isn't that important. As I described above, we have other ways in getting this information. I was just wondering whether it was intended that way. Thanks for your background information, Nick. > Nicolas Michael wrote: > >> Hi, >> >> you have introduced some additional timestamps in the gc logs with >> Java 6, >> showing cpu time (user and system) as well as elapsed time. When I ran >> some CMS >> tests where I changed the number of CMS threads, I've noticed that >> those numbers >> don't show what I originally expected... >> For a STW collection, this new output is quite nice: >> 966.697: [GC 966.698: [ParNew: 260292K->65536K(262144K), 0.1426038 secs] >> 1090657K->898209K(1368064K), 0.1429749 secs] [Times: user=1.88 sys=0.06, >> real=0.14 secs] The collection took 0.14 secs, and the ParNew threads >> consumed 1.88+0.06=1.94 >> seconds cpu time. With 16 ParNew threads that I had configured, each >> single >> thread was therefore on a cpu for most of the time (they consumed 1.94 >> out of >> 16*0.14=2.24 theoretically possible cpu seconds). That's nice to know! >> >> However, for concurrent activities, this output is a little confusing: >> 2319.981: [CMS-concurrent-mark: 3.487/3.487 secs] [Times: user=54.12 >> sys=0.78, >> real=3.49 secs] The concurrent mark took 3.49 seconds, ok. Now I would >> expect the "user" and >> "sys" times to reflect the cpu time consumed for concurrent marking >> (the sum >> over all parallel CMS threads). In this example, I had 8 parallel CMS >> threads >> configured (plus the "coordinator" CMS thread). But 9 threads cannot >> consume 55 >> cpu seconds within 3.5 real seconds. So I guess this cpu time reported >> as "user" >> and "sys" is consumed by *all* threads of the JVM, including the mutator >> threads. Which would make sense (the numbers would fit), but is a rather >> meaningless information... >> >> Probably it is intended that way. But I think those times would be >> more usefull >> if they reflected *only* the gc activities. When I look at a gc log, I >> would >> like to see how much time (elapsed as well as cpu cycles) are spent >> for *garbage >> collection*, without cpu time spent for my mutator threads. >> >> What do you think? >> >> Nick. >> >> PS: Thanks Tony for pointing me to this discussion >> list! >> >> >> > > From Y.S.Ramakrishna at Sun.COM Fri May 30 19:15:58 2008 From: Y.S.Ramakrishna at Sun.COM (Y Srinivas Ramakrishna) Date: Fri, 30 May 2008 12:15:58 -0700 Subject: What values do use for MaxTenuringThreshold? In-Reply-To: <484028C6.3090904@sun.com> References: <483F1776.6000606@sun.com> <83a51e120805300637l1494bceasaddcc4a01680f6c9@mail.gmail.com> <484028C6.3090904@sun.com> Message-ID: Some random thoughts/ramblings below ... > > My experience has shown that having a really high MTT leads to a ton > > > of extra copying. > It really depends on the application / requirements / etc. A lot of > the > time the extra copying is worth it, if you can eventually reclaim the > > majority of those objects in the young generation and avoid promoting > them. Or, put another way, it depends on the relative costs (where cost is relative to an application-specific utility function) of the potentially repeated copying versus the cost of reclaiming them in the old generation (where the cost of reclaiming them in the old generation might include not just the measured cost of old gen collection, but also the cost of potentially increased mutator costs because of loss of spatial locality, or increase in young gen costs because of greater occupancy of the old generation for example increasing card-scanning costs etc.) > > Likewise, I'm not sure in what circumstances NeverTenure would be > a > > good idea. > If you have quite a lot of free space in your survivor spaces, maybe > you > can retain objects in the young gen much longer with NeverTenure and > reclaim them there, saving promoting them. But, I'd guess, in most > cases, space in the survivor spaces will be at a premium. So, the > NeverTenure policy (as I think I said in a previous e-mail?) could > either prematurely promote objects or causing excessive object copying > > (or both!). I'm really curious whether anyone is using it and seeing a > > benefit from it. The flip answer is that it's useful if you want to avoid promotion altogether (perhaps because the cost of an old generation collection is considered excessive given the user's utility function) and your objects all die just a little after 2^n scavenges, n the number of age bits available. > > The whole point of generational garbage collection is to get junk > that > > sticks around a while out of the hot area of memory, isn't it? > I would actually say it's the opposite; to cheaply get rid of the > short-lived "chaff". > > Both of these settings seem to indicate that you'ld be better off > > > using non generational GC. I agree that used in the manner of NeverTenure scenario I described above, one is essentially using a generational collector in non-generational mode, if you will. > Having observed GC patterns for Java applications for a long time, I > don't think there would be many cases where a non-generational GC > would > win (I'm referring to real apps here, not small micro benchmarks...). There is probably a small class of very specific applications (such as seen sometimes in telecoms -- and occasionally in certain ecommerce settings as Peter will attest -- where there is no state associated with very short-lived transactions for example) which are essentially non-generational in the time-scale of the scavenges. At a finer time-scale I am sure some generational behaviour would emerge even in these applications. However, to the extent that one can in most such cases simulate the non-generational configuration from a generational configuration that never promotes and does not allocate any space for the old generation, one would feel comfortable using generational collector implementations always (because it appears to be a simulation, not a bisimulation: it would seem that a non-generational collector would not be able to simulate a generational one, or may be we should not be splitting hairs on the semantics of what is or is not a non-generational collector). -- ramki _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Y.S.Ramakrishna at Sun.COM Fri May 30 19:39:02 2008 From: Y.S.Ramakrishna at Sun.COM (Y Srinivas Ramakrishna) Date: Fri, 30 May 2008 12:39:02 -0700 Subject: What values do use for MaxTenuringThreshold? In-Reply-To: References: <483F1776.6000606@sun.com> <83a51e120805300637l1494bceasaddcc4a01680f6c9@mail.gmail.com> <484028C6.3090904@sun.com> Message-ID: Please ignore this:- > There is probably a small class of very specific applications (such as > seen sometimes in telecoms -- and occasionally in certain ecommerce > settings as Peter will attest -- where there is no state associated with > very short-lived transactions for example) which are essentially > non-generational in the time-scale of the scavenges. At a finer time-scale > I am sure some generational behaviour would emerge even in these > applications. What I described above certainly conforms to the accepted definition of "generational behaviour" -- most objects die young -- in this case it turns out that the small fraction of objects that do not die very young die in middle age; they are not "long-lived" for some notion of "long". In fact this would be a highly generational application that never needs to use the older generation. I guess i entangled generational configurations and generational behaviour and hence my confused ramblings for which my apologies ... :-) -- ramki _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From tony.printezis at sun.com Fri May 30 20:04:43 2008 From: tony.printezis at sun.com (Tony Printezis) Date: Fri, 30 May 2008 16:04:43 -0400 Subject: What values do use for MaxTenuringThreshold? In-Reply-To: References: <483F1776.6000606@sun.com> <83a51e120805300637l1494bceasaddcc4a01680f6c9@mail.gmail.com> <484028C6.3090904@sun.com> Message-ID: <48405DDB.4000902@sun.com> Ramki, Y Srinivas Ramakrishna wrote: > Please ignore this:- > > >> There is probably a small class of very specific applications (such as >> seen sometimes in telecoms -- and occasionally in certain ecommerce >> settings as Peter will attest -- where there is no state associated with >> very short-lived transactions for example) which are essentially >> non-generational in the time-scale of the scavenges. At a finer time-scale >> I am sure some generational behaviour would emerge even in these >> applications. >> > > What I described above certainly conforms to the accepted definition of > "generational behaviour" -- most objects die young -- in this case > it turns out that the small fraction of objects that do not die very young die in middle > age; they are not "long-lived" for some notion of "long". > > In fact this would be a highly generational application that never needs > to use the older generation. > (playing Devil's advocate here a bit!) It is indeed a highly generational application. Most Java JVMs use a two-generation approach and, for better or worse, we seem to always try to fit the an application's patter into that. For many, it works. However, for some (like the above), it might not work out as well (due to the medium-lived objects generally surviving the young generation). But it doesn't mean the app is not generational; in fact, maybe a 3-generation system might fit such applications better. Tony > I guess i entangled generational configurations and generational behaviour > and hence my confused ramblings for which my apologies ... :-) > -- ramki > -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use