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

changeset 2661
b099aaf51bf8
parent 2651
92da084fefc9
child 2888
78542e2b5e35
equal deleted inserted replaced
2660:924777755fad 2661:b099aaf51bf8
21 * questions. 21 * questions.
22 * 22 *
23 */ 23 */
24 24
25 #include "precompiled.hpp" 25 #include "precompiled.hpp"
26 #include "classfile/symbolTable.hpp"
26 #include "gc_implementation/parallelScavenge/cardTableExtension.hpp" 27 #include "gc_implementation/parallelScavenge/cardTableExtension.hpp"
27 #include "gc_implementation/parallelScavenge/gcTaskManager.hpp" 28 #include "gc_implementation/parallelScavenge/gcTaskManager.hpp"
28 #include "gc_implementation/parallelScavenge/generationSizer.hpp" 29 #include "gc_implementation/parallelScavenge/generationSizer.hpp"
29 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp" 30 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
30 #include "gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp" 31 #include "gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp"
437 reference_processor()->enqueue_discovered_references(&task_executor); 438 reference_processor()->enqueue_discovered_references(&task_executor);
438 } else { 439 } else {
439 reference_processor()->enqueue_discovered_references(NULL); 440 reference_processor()->enqueue_discovered_references(NULL);
440 } 441 }
441 442
443 if (!JavaObjectsInPerm) {
444 // Unlink any dead interned Strings
445 StringTable::unlink(&_is_alive_closure);
446 // Process the remaining live ones
447 PSScavengeRootsClosure root_closure(promotion_manager);
448 StringTable::oops_do(&root_closure);
449 }
450
442 // Finally, flush the promotion_manager's labs, and deallocate its stacks. 451 // Finally, flush the promotion_manager's labs, and deallocate its stacks.
443 PSPromotionManager::post_scavenge(); 452 PSPromotionManager::post_scavenge();
444 453
445 promotion_failure_occurred = promotion_failed(); 454 promotion_failure_occurred = promotion_failed();
446 if (promotion_failure_occurred) { 455 if (promotion_failure_occurred) {

mercurial