1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Fri Aug 31 16:39:35 2012 -0700 1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Sat Sep 01 13:25:18 2012 -0400 1.3 @@ -284,7 +284,6 @@ 1.4 1.5 PSYoungGen* young_gen = heap->young_gen(); 1.6 PSOldGen* old_gen = heap->old_gen(); 1.7 - PSPermGen* perm_gen = heap->perm_gen(); 1.8 PSAdaptiveSizePolicy* size_policy = heap->size_policy(); 1.9 heap->increment_total_collections(); 1.10 1.11 @@ -338,7 +337,6 @@ 1.12 if (VerifyObjectStartArray && 1.13 VerifyBeforeGC) { 1.14 old_gen->verify_object_start_array(); 1.15 - perm_gen->verify_object_start_array(); 1.16 } 1.17 1.18 // Verify no unmarked old->young roots 1.19 @@ -370,12 +368,11 @@ 1.20 // Reset our survivor overflow. 1.21 set_survivor_overflow(false); 1.22 1.23 - // We need to save the old/perm top values before 1.24 + // We need to save the old top values before 1.25 // creating the promotion_manager. We pass the top 1.26 // values to the card_table, to prevent it from 1.27 // straying into the promotion labs. 1.28 HeapWord* old_top = old_gen->object_space()->top(); 1.29 - HeapWord* perm_top = perm_gen->object_space()->top(); 1.30 1.31 // Release all previously held resources 1.32 gc_task_manager()->release_all_resources(); 1.33 @@ -403,8 +400,6 @@ 1.34 q->enqueue(new OldToYoungRootsTask(old_gen, old_top, i, stripe_total)); 1.35 } 1.36 1.37 - q->enqueue(new SerialOldToYoungRootsTask(perm_gen, perm_top)); 1.38 - 1.39 q->enqueue(new ScavengeRootsTask(ScavengeRootsTask::universe)); 1.40 q->enqueue(new ScavengeRootsTask(ScavengeRootsTask::jni_handles)); 1.41 // We scan the thread roots in parallel 1.42 @@ -454,13 +449,11 @@ 1.43 reference_processor()->enqueue_discovered_references(NULL); 1.44 } 1.45 1.46 - if (!JavaObjectsInPerm) { 1.47 // Unlink any dead interned Strings 1.48 StringTable::unlink(&_is_alive_closure); 1.49 // Process the remaining live ones 1.50 PSScavengeRootsClosure root_closure(promotion_manager); 1.51 StringTable::oops_do(&root_closure); 1.52 - } 1.53 1.54 // Finally, flush the promotion_manager's labs, and deallocate its stacks. 1.55 PSPromotionManager::post_scavenge(); 1.56 @@ -503,10 +496,8 @@ 1.57 heap->total_collections()); 1.58 1.59 if (Verbose) { 1.60 - gclog_or_tty->print("old_gen_capacity: %d young_gen_capacity: %d" 1.61 - " perm_gen_capacity: %d ", 1.62 - old_gen->capacity_in_bytes(), young_gen->capacity_in_bytes(), 1.63 - perm_gen->capacity_in_bytes()); 1.64 + gclog_or_tty->print("old_gen_capacity: %d young_gen_capacity: %d", 1.65 + old_gen->capacity_in_bytes(), young_gen->capacity_in_bytes()); 1.66 } 1.67 } 1.68 1.69 @@ -564,7 +555,6 @@ 1.70 size_policy->compute_generation_free_space(young_gen->used_in_bytes(), 1.71 young_gen->eden_space()->used_in_bytes(), 1.72 old_gen->used_in_bytes(), 1.73 - perm_gen->used_in_bytes(), 1.74 young_gen->eden_space()->capacity_in_bytes(), 1.75 old_gen->max_gen_size(), 1.76 max_eden_size, 1.77 @@ -614,7 +604,6 @@ 1.78 if (VerifyObjectStartArray && 1.79 VerifyAfterGC) { 1.80 old_gen->verify_object_start_array(); 1.81 - perm_gen->verify_object_start_array(); 1.82 } 1.83 1.84 // Verify all old -> young cards are now precise 1.85 @@ -810,11 +799,8 @@ 1.86 1.87 PSYoungGen* young_gen = heap->young_gen(); 1.88 PSOldGen* old_gen = heap->old_gen(); 1.89 - PSPermGen* perm_gen = heap->perm_gen(); 1.90 1.91 // Set boundary between young_gen and old_gen 1.92 - assert(perm_gen->reserved().end() <= old_gen->object_space()->bottom(), 1.93 - "perm above old"); 1.94 assert(old_gen->reserved().end() <= young_gen->eden_space()->bottom(), 1.95 "old above young"); 1.96 _young_generation_boundary = young_gen->eden_space()->bottom();