src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp

changeset 5196
8dbc025ff709
parent 5194
eda078b01c65
child 5202
47bdfb3d010f
equal deleted inserted replaced
5195:95c00927be11 5196:8dbc025ff709
448 reference_processor()->enqueue_discovered_references(&task_executor); 448 reference_processor()->enqueue_discovered_references(&task_executor);
449 } else { 449 } else {
450 reference_processor()->enqueue_discovered_references(NULL); 450 reference_processor()->enqueue_discovered_references(NULL);
451 } 451 }
452 452
453 // Unlink any dead interned Strings 453 // Unlink any dead interned Strings and process the remaining live ones.
454 StringTable::unlink(&_is_alive_closure); 454 PSScavengeRootsClosure root_closure(promotion_manager);
455 // Process the remaining live ones 455 StringTable::unlink_or_oops_do(&_is_alive_closure, &root_closure);
456 PSScavengeRootsClosure root_closure(promotion_manager);
457 StringTable::oops_do(&root_closure);
458 456
459 // Finally, flush the promotion_manager's labs, and deallocate its stacks. 457 // Finally, flush the promotion_manager's labs, and deallocate its stacks.
460 PSPromotionManager::post_scavenge(); 458 PSPromotionManager::post_scavenge();
461 459
462 promotion_failure_occurred = promotion_failed(); 460 promotion_failure_occurred = promotion_failed();

mercurial