Thu, 16 Sep 2010 13:45:55 -0700
Merge
1.1 --- a/make/jprt.properties Mon Sep 13 07:38:10 2010 -0700 1.2 +++ b/make/jprt.properties Thu Sep 16 13:45:55 2010 -0700 1.3 @@ -48,6 +48,7 @@ 1.4 1.5 jprt.my.solaris.sparc.jdk7=solaris_sparc_5.10 1.6 jprt.my.solaris.sparc.jdk7b107=solaris_sparc_5.10 1.7 +jprt.my.solaris.sparc.jdk7temp=solaris_sparc_5.10 1.8 jprt.my.solaris.sparc.jdk6=solaris_sparc_5.8 1.9 jprt.my.solaris.sparc.jdk6perf=solaris_sparc_5.8 1.10 jprt.my.solaris.sparc.jdk6u10=solaris_sparc_5.8 1.11 @@ -58,6 +59,7 @@ 1.12 1.13 jprt.my.solaris.sparcv9.jdk7=solaris_sparcv9_5.10 1.14 jprt.my.solaris.sparcv9.jdk7b107=solaris_sparcv9_5.10 1.15 +jprt.my.solaris.sparcv9.jdk7temp=solaris_sparcv9_5.10 1.16 jprt.my.solaris.sparcv9.jdk6=solaris_sparcv9_5.8 1.17 jprt.my.solaris.sparcv9.jdk6perf=solaris_sparcv9_5.8 1.18 jprt.my.solaris.sparcv9.jdk6u10=solaris_sparcv9_5.8 1.19 @@ -68,6 +70,7 @@ 1.20 1.21 jprt.my.solaris.i586.jdk7=solaris_i586_5.10 1.22 jprt.my.solaris.i586.jdk7b107=solaris_i586_5.10 1.23 +jprt.my.solaris.i586.jdk7temp=solaris_i586_5.10 1.24 jprt.my.solaris.i586.jdk6=solaris_i586_5.8 1.25 jprt.my.solaris.i586.jdk6perf=solaris_i586_5.8 1.26 jprt.my.solaris.i586.jdk6u10=solaris_i586_5.8 1.27 @@ -78,6 +81,7 @@ 1.28 1.29 jprt.my.solaris.x64.jdk7=solaris_x64_5.10 1.30 jprt.my.solaris.x64.jdk7b107=solaris_x64_5.10 1.31 +jprt.my.solaris.x64.jdk7temp=solaris_x64_5.10 1.32 jprt.my.solaris.x64.jdk6=solaris_x64_5.10 1.33 jprt.my.solaris.x64.jdk6perf=solaris_x64_5.10 1.34 jprt.my.solaris.x64.jdk6u10=solaris_x64_5.10 1.35 @@ -88,6 +92,7 @@ 1.36 1.37 jprt.my.linux.i586.jdk7=linux_i586_2.6 1.38 jprt.my.linux.i586.jdk7b107=linux_i586_2.6 1.39 +jprt.my.linux.i586.jdk7temp=linux_i586_2.6 1.40 jprt.my.linux.i586.jdk6=linux_i586_2.4 1.41 jprt.my.linux.i586.jdk6perf=linux_i586_2.4 1.42 jprt.my.linux.i586.jdk6u10=linux_i586_2.4 1.43 @@ -98,6 +103,7 @@ 1.44 1.45 jprt.my.linux.x64.jdk7=linux_x64_2.6 1.46 jprt.my.linux.x64.jdk7b107=linux_x64_2.6 1.47 +jprt.my.linux.x64.jdk7temp=linux_x64_2.6 1.48 jprt.my.linux.x64.jdk6=linux_x64_2.4 1.49 jprt.my.linux.x64.jdk6perf=linux_x64_2.4 1.50 jprt.my.linux.x64.jdk6u10=linux_x64_2.4 1.51 @@ -106,8 +112,9 @@ 1.52 jprt.my.linux.x64.jdk6u20=linux_x64_2.4 1.53 jprt.my.linux.x64=${jprt.my.linux.x64.${jprt.tools.default.release}} 1.54 1.55 -jprt.my.windows.i586.jdk7=windows_i586_5.0 1.56 +jprt.my.windows.i586.jdk7=windows_i586_5.1 1.57 jprt.my.windows.i586.jdk7b107=windows_i586_5.0 1.58 +jprt.my.windows.i586.jdk7temp=windows_i586_5.0 1.59 jprt.my.windows.i586.jdk6=windows_i586_5.0 1.60 jprt.my.windows.i586.jdk6perf=windows_i586_5.0 1.61 jprt.my.windows.i586.jdk6u10=windows_i586_5.0 1.62 @@ -118,6 +125,7 @@ 1.63 1.64 jprt.my.windows.x64.jdk7=windows_x64_5.2 1.65 jprt.my.windows.x64.jdk7b107=windows_x64_5.2 1.66 +jprt.my.windows.x64.jdk7temp=windows_x64_5.2 1.67 jprt.my.windows.x64.jdk6=windows_x64_5.2 1.68 jprt.my.windows.x64.jdk6perf=windows_x64_5.2 1.69 jprt.my.windows.x64.jdk6u10=windows_x64_5.2
2.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp Mon Sep 13 07:38:10 2010 -0700 2.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp Thu Sep 16 13:45:55 2010 -0700 2.3 @@ -256,7 +256,7 @@ 2.4 } 2.5 2.6 TreeChunk* TreeList::first_available() { 2.7 - guarantee(head() != NULL, "The head of the list cannot be NULL"); 2.8 + assert(head() != NULL, "The head of the list cannot be NULL"); 2.9 FreeChunk* fc = head()->next(); 2.10 TreeChunk* retTC; 2.11 if (fc == NULL) { 2.12 @@ -272,7 +272,7 @@ 2.13 // those in the list for this size; potentially slow and expensive, 2.14 // use with caution! 2.15 TreeChunk* TreeList::largest_address() { 2.16 - guarantee(head() != NULL, "The head of the list cannot be NULL"); 2.17 + assert(head() != NULL, "The head of the list cannot be NULL"); 2.18 FreeChunk* fc = head()->next(); 2.19 TreeChunk* retTC; 2.20 if (fc == NULL) {
3.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Mon Sep 13 07:38:10 2010 -0700 3.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Thu Sep 16 13:45:55 2010 -0700 3.3 @@ -1946,8 +1946,8 @@ 3.4 3.5 bool CompactibleFreeListSpace::no_allocs_since_save_marks() { 3.6 assert(_promoInfo.tracking(), "No preceding save_marks?"); 3.7 - guarantee(SharedHeap::heap()->n_par_threads() == 0, 3.8 - "Shouldn't be called (yet) during parallel part of gc."); 3.9 + assert(SharedHeap::heap()->n_par_threads() == 0, 3.10 + "Shouldn't be called if using parallel gc."); 3.11 return _promoInfo.noPromotions(); 3.12 } 3.13 3.14 @@ -2569,7 +2569,7 @@ 3.15 3.16 HeapWord* CFLS_LAB::alloc(size_t word_sz) { 3.17 FreeChunk* res; 3.18 - guarantee(word_sz == _cfls->adjustObjectSize(word_sz), "Error"); 3.19 + assert(word_sz == _cfls->adjustObjectSize(word_sz), "Error"); 3.20 if (word_sz >= CompactibleFreeListSpace::IndexSetSize) { 3.21 // This locking manages sync with other large object allocations. 3.22 MutexLockerEx x(_cfls->parDictionaryAllocLock(),
4.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Mon Sep 13 07:38:10 2010 -0700 4.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Thu Sep 16 13:45:55 2010 -0700 4.3 @@ -1332,7 +1332,7 @@ 4.4 // ----------------------------------------------------- 4.5 // FREE: klass_word & 1 == 1; mark_word holds block size 4.6 // 4.7 -// OBJECT: klass_word installed; klass_word != 0 && klass_word & 0 == 0; 4.8 +// OBJECT: klass_word installed; klass_word != 0 && klass_word & 1 == 0; 4.9 // obj->size() computes correct size 4.10 // [Perm Gen objects needs to be "parsable" before they can be navigated] 4.11 //
5.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp Mon Sep 13 07:38:10 2010 -0700 5.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp Thu Sep 16 13:45:55 2010 -0700 5.3 @@ -165,13 +165,8 @@ 5.4 "Next of tail should be NULL"); 5.5 } 5.6 decrement_count(); 5.7 -#define TRAP_CODE 1 5.8 -#if TRAP_CODE 5.9 - if (head() == NULL) { 5.10 - guarantee(tail() == NULL, "INVARIANT"); 5.11 - guarantee(count() == 0, "INVARIANT"); 5.12 - } 5.13 -#endif 5.14 + assert(((head() == NULL) + (tail() == NULL) + (count() == 0)) % 3 == 0, 5.15 + "H/T/C Inconsistency"); 5.16 // clear next and prev fields of fc, debug only 5.17 NOT_PRODUCT( 5.18 fc->linkPrev(NULL);
6.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.cpp Mon Sep 13 07:38:10 2010 -0700 6.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.cpp Thu Sep 16 13:45:55 2010 -0700 6.3 @@ -253,8 +253,8 @@ 6.4 cur_spool = cur_spool->nextSpoolBlock) { 6.5 // the first entry is just a self-pointer; indices 1 through 6.6 // bufferSize - 1 are occupied (thus, bufferSize - 1 slots). 6.7 - guarantee((void*)cur_spool->displacedHdr == (void*)&cur_spool->displacedHdr, 6.8 - "first entry of displacedHdr should be self-referential"); 6.9 + assert((void*)cur_spool->displacedHdr == (void*)&cur_spool->displacedHdr, 6.10 + "first entry of displacedHdr should be self-referential"); 6.11 slots += cur_spool->bufferSize - 1; 6.12 blocks++; 6.13 }
7.1 --- a/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Mon Sep 13 07:38:10 2010 -0700 7.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Thu Sep 16 13:45:55 2010 -0700 7.3 @@ -2148,7 +2148,7 @@ 7.4 body_summary->get_termination_seq() 7.5 }; 7.6 NumberSeq calc_other_times_ms(body_summary->get_parallel_seq(), 7.7 - 7, other_parts); 7.8 + 6, other_parts); 7.9 check_other_times(2, body_summary->get_parallel_other_seq(), 7.10 &calc_other_times_ms); 7.11 } 7.12 @@ -2166,30 +2166,32 @@ 7.13 } 7.14 print_summary(1, "Other", summary->get_other_seq()); 7.15 { 7.16 - NumberSeq calc_other_times_ms; 7.17 - if (parallel) { 7.18 - // parallel 7.19 - NumberSeq* other_parts[] = { 7.20 - body_summary->get_satb_drain_seq(), 7.21 - body_summary->get_parallel_seq(), 7.22 - body_summary->get_clear_ct_seq() 7.23 - }; 7.24 - calc_other_times_ms = NumberSeq(summary->get_total_seq(), 7.25 - 3, other_parts); 7.26 - } else { 7.27 - // serial 7.28 - NumberSeq* other_parts[] = { 7.29 - body_summary->get_satb_drain_seq(), 7.30 - body_summary->get_update_rs_seq(), 7.31 - body_summary->get_ext_root_scan_seq(), 7.32 - body_summary->get_mark_stack_scan_seq(), 7.33 - body_summary->get_scan_rs_seq(), 7.34 - body_summary->get_obj_copy_seq() 7.35 - }; 7.36 - calc_other_times_ms = NumberSeq(summary->get_total_seq(), 7.37 - 7, other_parts); 7.38 + if (body_summary != NULL) { 7.39 + NumberSeq calc_other_times_ms; 7.40 + if (parallel) { 7.41 + // parallel 7.42 + NumberSeq* other_parts[] = { 7.43 + body_summary->get_satb_drain_seq(), 7.44 + body_summary->get_parallel_seq(), 7.45 + body_summary->get_clear_ct_seq() 7.46 + }; 7.47 + calc_other_times_ms = NumberSeq(summary->get_total_seq(), 7.48 + 3, other_parts); 7.49 + } else { 7.50 + // serial 7.51 + NumberSeq* other_parts[] = { 7.52 + body_summary->get_satb_drain_seq(), 7.53 + body_summary->get_update_rs_seq(), 7.54 + body_summary->get_ext_root_scan_seq(), 7.55 + body_summary->get_mark_stack_scan_seq(), 7.56 + body_summary->get_scan_rs_seq(), 7.57 + body_summary->get_obj_copy_seq() 7.58 + }; 7.59 + calc_other_times_ms = NumberSeq(summary->get_total_seq(), 7.60 + 6, other_parts); 7.61 + } 7.62 + check_other_times(1, summary->get_other_seq(), &calc_other_times_ms); 7.63 } 7.64 - check_other_times(1, summary->get_other_seq(), &calc_other_times_ms); 7.65 } 7.66 } else { 7.67 print_indent(0);
8.1 --- a/src/share/vm/runtime/globals.hpp Mon Sep 13 07:38:10 2010 -0700 8.2 +++ b/src/share/vm/runtime/globals.hpp Thu Sep 16 13:45:55 2010 -0700 8.3 @@ -1544,13 +1544,13 @@ 8.4 "Use BinaryTreeDictionary as default in the CMS generation") \ 8.5 \ 8.6 product(uintx, CMSIndexedFreeListReplenish, 4, \ 8.7 - "Replenish and indexed free list with this number of chunks") \ 8.8 + "Replenish an indexed free list with this number of chunks") \ 8.9 \ 8.10 product(bool, CMSReplenishIntermediate, true, \ 8.11 "Replenish all intermediate free-list caches") \ 8.12 \ 8.13 product(bool, CMSSplitIndexedFreeListBlocks, true, \ 8.14 - "When satisfying batched demand, splot blocks from the " \ 8.15 + "When satisfying batched demand, split blocks from the " \ 8.16 "IndexedFreeList whose size is a multiple of requested size") \ 8.17 \ 8.18 product(bool, CMSLoopWarn, false, \