--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Fri Aug 31 16:39:35 2012 -0700
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Sat Sep 01 13:25:18 2012 -0400
@@ -284,7 +284,6 @@
PSYoungGen* young_gen = heap->young_gen();
PSOldGen* old_gen = heap->old_gen();
- PSPermGen* perm_gen = heap->perm_gen();
PSAdaptiveSizePolicy* size_policy = heap->size_policy();
heap->increment_total_collections();
@@ -338,7 +337,6 @@
if (VerifyObjectStartArray &&
VerifyBeforeGC) {
old_gen->verify_object_start_array();
- perm_gen->verify_object_start_array();
}
// Verify no unmarked old->young roots
@@ -370,12 +368,11 @@
// Reset our survivor overflow.
set_survivor_overflow(false);
- // We need to save the old/perm top values before
+ // We need to save the old top values before
// creating the promotion_manager. We pass the top
// values to the card_table, to prevent it from
// straying into the promotion labs.
HeapWord* old_top = old_gen->object_space()->top();
- HeapWord* perm_top = perm_gen->object_space()->top();
// Release all previously held resources
gc_task_manager()->release_all_resources();
@@ -403,8 +400,6 @@
q->enqueue(new OldToYoungRootsTask(old_gen, old_top, i, stripe_total));
}
- q->enqueue(new SerialOldToYoungRootsTask(perm_gen, perm_top));
-
q->enqueue(new ScavengeRootsTask(ScavengeRootsTask::universe));
q->enqueue(new ScavengeRootsTask(ScavengeRootsTask::jni_handles));
// We scan the thread roots in parallel
@@ -454,13 +449,11 @@
reference_processor()->enqueue_discovered_references(NULL);
}
- if (!JavaObjectsInPerm) {
// Unlink any dead interned Strings
StringTable::unlink(&_is_alive_closure);
// Process the remaining live ones
PSScavengeRootsClosure root_closure(promotion_manager);
StringTable::oops_do(&root_closure);
- }
// Finally, flush the promotion_manager's labs, and deallocate its stacks.
PSPromotionManager::post_scavenge();
@@ -503,10 +496,8 @@
heap->total_collections());
if (Verbose) {
- gclog_or_tty->print("old_gen_capacity: %d young_gen_capacity: %d"
- " perm_gen_capacity: %d ",
- old_gen->capacity_in_bytes(), young_gen->capacity_in_bytes(),
- perm_gen->capacity_in_bytes());
+ gclog_or_tty->print("old_gen_capacity: %d young_gen_capacity: %d",
+ old_gen->capacity_in_bytes(), young_gen->capacity_in_bytes());
}
}
@@ -564,7 +555,6 @@
size_policy->compute_generation_free_space(young_gen->used_in_bytes(),
young_gen->eden_space()->used_in_bytes(),
old_gen->used_in_bytes(),
- perm_gen->used_in_bytes(),
young_gen->eden_space()->capacity_in_bytes(),
old_gen->max_gen_size(),
max_eden_size,
@@ -614,7 +604,6 @@
if (VerifyObjectStartArray &&
VerifyAfterGC) {
old_gen->verify_object_start_array();
- perm_gen->verify_object_start_array();
}
// Verify all old -> young cards are now precise
@@ -810,11 +799,8 @@
PSYoungGen* young_gen = heap->young_gen();
PSOldGen* old_gen = heap->old_gen();
- PSPermGen* perm_gen = heap->perm_gen();
// Set boundary between young_gen and old_gen
- assert(perm_gen->reserved().end() <= old_gen->object_space()->bottom(),
- "perm above old");
assert(old_gen->reserved().end() <= young_gen->eden_space()->bottom(),
"old above young");
_young_generation_boundary = young_gen->eden_space()->bottom();