374 void vmop_entry_full(GCCause::Cause cause);
375 void vmop_degenerated(ShenandoahDegenPoint point);
376
377 // Entry methods to normally STW GC operations. These set up logging, monitoring
378 // and workers for net VM operation
379 void entry_init_mark();
380 void entry_final_mark();
381 void entry_final_evac();
382 void entry_init_updaterefs();
383 void entry_final_updaterefs();
384 void entry_init_traversal();
385 void entry_final_traversal();
386 void entry_full(GCCause::Cause cause);
387 void entry_degenerated(int point);
388
389 // Entry methods to normally concurrent GC operations. These set up logging, monitoring
390 // for concurrent operation.
391 void entry_reset();
392 void entry_mark();
393 void entry_preclean();
394 void entry_cleanup();
395 void entry_evac();
396 void entry_updaterefs();
397 void entry_traversal();
398 void entry_uncommit(double shrink_before);
399
400 private:
401 // Actual work for the phases
402 void op_init_mark();
403 void op_final_mark();
404 void op_final_evac();
405 void op_init_updaterefs();
406 void op_final_updaterefs();
407 void op_init_traversal();
408 void op_final_traversal();
409 void op_full(GCCause::Cause cause);
410 void op_degenerated(ShenandoahDegenPoint point);
411 void op_degenerated_fail();
412 void op_degenerated_futile();
413
414 void op_reset();
415 void op_mark();
416 void op_preclean();
417 void op_cleanup();
418 void op_conc_evac();
419 void op_stw_evac();
420 void op_updaterefs();
421 void op_traversal();
422 void op_uncommit(double shrink_before);
423
424 // Messages for GC trace events, they have to be immortal for
425 // passing around the logging/tracing systems
426 const char* init_mark_event_message() const;
427 const char* final_mark_event_message() const;
428 const char* conc_mark_event_message() const;
429 const char* degen_event_message(ShenandoahDegenPoint point) const;
430
431 // ---------- GC subsystems
432 //
433 private:
434 ShenandoahControlThread* _control_thread;
435 ShenandoahCollectorPolicy* _shenandoah_policy;
436 ShenandoahHeuristics* _heuristics;
|
374 void vmop_entry_full(GCCause::Cause cause);
375 void vmop_degenerated(ShenandoahDegenPoint point);
376
377 // Entry methods to normally STW GC operations. These set up logging, monitoring
378 // and workers for net VM operation
379 void entry_init_mark();
380 void entry_final_mark();
381 void entry_final_evac();
382 void entry_init_updaterefs();
383 void entry_final_updaterefs();
384 void entry_init_traversal();
385 void entry_final_traversal();
386 void entry_full(GCCause::Cause cause);
387 void entry_degenerated(int point);
388
389 // Entry methods to normally concurrent GC operations. These set up logging, monitoring
390 // for concurrent operation.
391 void entry_reset();
392 void entry_mark();
393 void entry_preclean();
394 void entry_concurrent_roots();
395 void entry_cleanup();
396 void entry_evac();
397 void entry_updaterefs();
398 void entry_traversal();
399 void entry_uncommit(double shrink_before);
400
401 private:
402 // Actual work for the phases
403 void op_init_mark();
404 void op_final_mark();
405 void op_final_evac();
406 void op_init_updaterefs();
407 void op_final_updaterefs();
408 void op_init_traversal();
409 void op_final_traversal();
410 void op_full(GCCause::Cause cause);
411 void op_degenerated(ShenandoahDegenPoint point);
412 void op_degenerated_fail();
413 void op_degenerated_futile();
414
415 void op_reset();
416 void op_mark();
417 void op_preclean();
418 void op_concurrent_roots();
419 void op_cleanup();
420 void op_conc_evac();
421 void op_stw_evac();
422 void op_updaterefs();
423 void op_traversal();
424 void op_uncommit(double shrink_before);
425
426 // Messages for GC trace events, they have to be immortal for
427 // passing around the logging/tracing systems
428 const char* init_mark_event_message() const;
429 const char* final_mark_event_message() const;
430 const char* conc_mark_event_message() const;
431 const char* degen_event_message(ShenandoahDegenPoint point) const;
432
433 // ---------- GC subsystems
434 //
435 private:
436 ShenandoahControlThread* _control_thread;
437 ShenandoahCollectorPolicy* _shenandoah_policy;
438 ShenandoahHeuristics* _heuristics;
|