< prev index next >

src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp

Print this page




 384 
 385   initialize_all();
 386 
 387   _tracer = new (ResourceObj::C_HEAP, mtGC) ShenandoahTracer();
 388   _stw_timer = new (ResourceObj::C_HEAP, mtGC) STWGCTimer();
 389   _conc_timer = new (ResourceObj::C_HEAP, mtGC) ConcurrentGCTimer();
 390   _user_requested_gcs = 0;
 391   _allocation_failure_gcs = 0;
 392   _conc_gc_aborted = false;
 393 
 394   _phase_names[init_mark] = "Initial Mark Pauses (net)";
 395   _phase_names[init_mark_gross] = "Initial Mark Pauses (gross)";
 396   _phase_names[final_mark] = "Final Mark Pauses (net)";
 397   _phase_names[final_mark_gross] = "Final Mark Pauses (gross)";
 398   _phase_names[accumulate_stats] = "  Accumulate Stats";
 399   _phase_names[make_parsable] = "  Make Parsable";
 400   _phase_names[clear_liveness] = "  Clear Liveness";
 401   _phase_names[scan_roots] = "  Scan Roots";
 402   _phase_names[update_roots] = "  Update Roots";
 403   _phase_names[drain_satb] = "  Drain SATB";
 404   _phase_names[drain_queues] = "  Drain Queues";
 405   _phase_names[weakrefs] = "  Weak References";
 406   _phase_names[class_unloading] = "  Class Unloading";
 407   _phase_names[prepare_evac] = "  Prepare Evacuation";
 408   _phase_names[init_evac] = "  Initial Evacuation";
 409 
 410   _phase_names[scan_thread_roots] = "    Scan Thread Roots";
 411   _phase_names[scan_code_roots] = "    Scan Code Cache Roots";
 412   _phase_names[scan_string_table_roots] = "    Scan String Table  Roots";
 413   _phase_names[scan_universe_roots] = "    Scan Universe  Roots";
 414   _phase_names[scan_jni_roots] = "    Scan JNI  Roots";
 415   _phase_names[scan_jni_weak_roots] = "    Scan JNI Weak  Roots";
 416   _phase_names[scan_synchronizer_roots] = "    Scan Synchronizer  Roots";
 417   _phase_names[scan_flat_profiler_roots] = "    Scan Flat Profiler Roots";
 418   _phase_names[scan_management_roots] = "    Scan Management Roots";
 419   _phase_names[scan_system_dictionary_roots] = "    Scan System Dictionary Roots";
 420   _phase_names[scan_cldg_roots] = "    Scan CLDG  Roots";
 421   _phase_names[scan_jvmti_roots] = "    Scan JVMTI Roots";
 422 
 423   _phase_names[update_thread_roots] = "    Update Thread Roots";
 424   _phase_names[update_code_roots] = "    Update Code Cache Roots";


 435 
 436   _phase_names[evac_thread_roots] = "    Evacuate Thread Roots";
 437   _phase_names[evac_code_roots] = "    Evacuate Code Cache Roots";
 438   _phase_names[evac_string_table_roots] = "    Evacuate String Table  Roots";
 439   _phase_names[evac_universe_roots] = "    Evacuate Universe  Roots";
 440   _phase_names[evac_jni_roots] = "    Evacuate JNI  Roots";
 441   _phase_names[evac_jni_weak_roots] = "    Evacuate JNI Weak  Roots";
 442   _phase_names[evac_synchronizer_roots] = "    Evacuate Synchronizer  Roots";
 443   _phase_names[evac_flat_profiler_roots] = "    Evacuate Flat Profiler Roots";
 444   _phase_names[evac_management_roots] = "    Evacuate Management Roots";
 445   _phase_names[evac_system_dictionary_roots] = "    Evacuate System Dictionary Roots";
 446   _phase_names[evac_cldg_roots] = "    Evacuate CLDG  Roots";
 447   _phase_names[evac_jvmti_roots] = "    Evacuate JVMTI Roots";
 448 
 449   _phase_names[recycle_regions] = "  Recycle regions";
 450   _phase_names[reset_bitmaps] = "ResetBitmaps";
 451   _phase_names[resize_tlabs] = "Resize TLABs";
 452 
 453   _phase_names[full_gc] = "Full GC Times";
 454   _phase_names[full_gc_mark] = "  Mark";
 455   _phase_names[full_gc_mark_drain_queues] = "    Drain Queues";
 456   _phase_names[full_gc_mark_weakrefs] = "    Weak References";
 457   _phase_names[full_gc_mark_class_unloading] = "    Class Unloading";
 458   _phase_names[full_gc_calculate_addresses] = "  Calculate Addresses";
 459   _phase_names[full_gc_adjust_pointers] = "  Adjust Pointers";
 460   _phase_names[full_gc_copy_objects] = "  Copy Objects";
 461 
 462   _phase_names[conc_mark] = "Concurrent Marking Times";
 463   _phase_names[conc_evac] = "Concurrent Evacuation Times";
 464 
 465   if (ShenandoahGCHeuristics != NULL) {
 466     if (strcmp(ShenandoahGCHeuristics, "aggressive") == 0) {
 467       log_info(gc, init)("Shenandoah heuristics: aggressive");
 468       _heuristics = new AggressiveHeuristics();
 469     } else if (strcmp(ShenandoahGCHeuristics, "dynamic") == 0) {
 470       log_info(gc, init)("Shenandoah heuristics: dynamic");
 471       _heuristics = new DynamicHeuristics();
 472     } else if (strcmp(ShenandoahGCHeuristics, "adaptive") == 0) {
 473       log_info(gc, init)("Shenandoah heuristics: adaptive");
 474       _heuristics = new AdaptiveHeuristics();
 475     } else if (strcmp(ShenandoahGCHeuristics, "passive") == 0) {




 384 
 385   initialize_all();
 386 
 387   _tracer = new (ResourceObj::C_HEAP, mtGC) ShenandoahTracer();
 388   _stw_timer = new (ResourceObj::C_HEAP, mtGC) STWGCTimer();
 389   _conc_timer = new (ResourceObj::C_HEAP, mtGC) ConcurrentGCTimer();
 390   _user_requested_gcs = 0;
 391   _allocation_failure_gcs = 0;
 392   _conc_gc_aborted = false;
 393 
 394   _phase_names[init_mark] = "Initial Mark Pauses (net)";
 395   _phase_names[init_mark_gross] = "Initial Mark Pauses (gross)";
 396   _phase_names[final_mark] = "Final Mark Pauses (net)";
 397   _phase_names[final_mark_gross] = "Final Mark Pauses (gross)";
 398   _phase_names[accumulate_stats] = "  Accumulate Stats";
 399   _phase_names[make_parsable] = "  Make Parsable";
 400   _phase_names[clear_liveness] = "  Clear Liveness";
 401   _phase_names[scan_roots] = "  Scan Roots";
 402   _phase_names[update_roots] = "  Update Roots";
 403   _phase_names[drain_satb] = "  Drain SATB";

 404   _phase_names[weakrefs] = "  Weak References";
 405   _phase_names[class_unloading] = "  Class Unloading";
 406   _phase_names[prepare_evac] = "  Prepare Evacuation";
 407   _phase_names[init_evac] = "  Initial Evacuation";
 408 
 409   _phase_names[scan_thread_roots] = "    Scan Thread Roots";
 410   _phase_names[scan_code_roots] = "    Scan Code Cache Roots";
 411   _phase_names[scan_string_table_roots] = "    Scan String Table  Roots";
 412   _phase_names[scan_universe_roots] = "    Scan Universe  Roots";
 413   _phase_names[scan_jni_roots] = "    Scan JNI  Roots";
 414   _phase_names[scan_jni_weak_roots] = "    Scan JNI Weak  Roots";
 415   _phase_names[scan_synchronizer_roots] = "    Scan Synchronizer  Roots";
 416   _phase_names[scan_flat_profiler_roots] = "    Scan Flat Profiler Roots";
 417   _phase_names[scan_management_roots] = "    Scan Management Roots";
 418   _phase_names[scan_system_dictionary_roots] = "    Scan System Dictionary Roots";
 419   _phase_names[scan_cldg_roots] = "    Scan CLDG  Roots";
 420   _phase_names[scan_jvmti_roots] = "    Scan JVMTI Roots";
 421 
 422   _phase_names[update_thread_roots] = "    Update Thread Roots";
 423   _phase_names[update_code_roots] = "    Update Code Cache Roots";


 434 
 435   _phase_names[evac_thread_roots] = "    Evacuate Thread Roots";
 436   _phase_names[evac_code_roots] = "    Evacuate Code Cache Roots";
 437   _phase_names[evac_string_table_roots] = "    Evacuate String Table  Roots";
 438   _phase_names[evac_universe_roots] = "    Evacuate Universe  Roots";
 439   _phase_names[evac_jni_roots] = "    Evacuate JNI  Roots";
 440   _phase_names[evac_jni_weak_roots] = "    Evacuate JNI Weak  Roots";
 441   _phase_names[evac_synchronizer_roots] = "    Evacuate Synchronizer  Roots";
 442   _phase_names[evac_flat_profiler_roots] = "    Evacuate Flat Profiler Roots";
 443   _phase_names[evac_management_roots] = "    Evacuate Management Roots";
 444   _phase_names[evac_system_dictionary_roots] = "    Evacuate System Dictionary Roots";
 445   _phase_names[evac_cldg_roots] = "    Evacuate CLDG  Roots";
 446   _phase_names[evac_jvmti_roots] = "    Evacuate JVMTI Roots";
 447 
 448   _phase_names[recycle_regions] = "  Recycle regions";
 449   _phase_names[reset_bitmaps] = "ResetBitmaps";
 450   _phase_names[resize_tlabs] = "Resize TLABs";
 451 
 452   _phase_names[full_gc] = "Full GC Times";
 453   _phase_names[full_gc_mark] = "  Mark";

 454   _phase_names[full_gc_mark_weakrefs] = "    Weak References";
 455   _phase_names[full_gc_mark_class_unloading] = "    Class Unloading";
 456   _phase_names[full_gc_calculate_addresses] = "  Calculate Addresses";
 457   _phase_names[full_gc_adjust_pointers] = "  Adjust Pointers";
 458   _phase_names[full_gc_copy_objects] = "  Copy Objects";
 459 
 460   _phase_names[conc_mark] = "Concurrent Marking Times";
 461   _phase_names[conc_evac] = "Concurrent Evacuation Times";
 462 
 463   if (ShenandoahGCHeuristics != NULL) {
 464     if (strcmp(ShenandoahGCHeuristics, "aggressive") == 0) {
 465       log_info(gc, init)("Shenandoah heuristics: aggressive");
 466       _heuristics = new AggressiveHeuristics();
 467     } else if (strcmp(ShenandoahGCHeuristics, "dynamic") == 0) {
 468       log_info(gc, init)("Shenandoah heuristics: dynamic");
 469       _heuristics = new DynamicHeuristics();
 470     } else if (strcmp(ShenandoahGCHeuristics, "adaptive") == 0) {
 471       log_info(gc, init)("Shenandoah heuristics: adaptive");
 472       _heuristics = new AdaptiveHeuristics();
 473     } else if (strcmp(ShenandoahGCHeuristics, "passive") == 0) {


< prev index next >