22 *
23 */
24
25 #include "precompiled.hpp"
26
27 #include "compiler/oopMap.hpp"
28 #include "gc/shared/workerThread.hpp"
29 #include "gc/shenandoah/shenandoahClosures.inline.hpp"
30 #include "gc/shenandoah/shenandoahGC.hpp"
31 #include "gc/shenandoah/shenandoahHeap.hpp"
32 #include "gc/shenandoah/shenandoahPhaseTimings.hpp"
33 #include "gc/shenandoah/shenandoahRootProcessor.inline.hpp"
34 #include "gc/shenandoah/shenandoahUtils.hpp"
35
36 const char* ShenandoahGC::degen_point_to_string(ShenandoahDegenPoint point) {
37 switch(point) {
38 case _degenerated_unset:
39 return "<UNSET>";
40 case _degenerated_outside_cycle:
41 return "Outside of Cycle";
42 case _degenerated_mark:
43 return "Mark";
44 case _degenerated_evac:
45 return "Evacuation";
46 case _degenerated_updaterefs:
47 return "Update References";
48 default:
49 ShouldNotReachHere();
50 return "ERROR";
51 }
52 }
53
54 class ShenandoahUpdateRootsTask : public WorkerTask {
55 private:
56 ShenandoahRootUpdater* _root_updater;
57 bool _check_alive;
58 public:
59 ShenandoahUpdateRootsTask(ShenandoahRootUpdater* root_updater, bool check_alive) :
60 WorkerTask("Shenandoah Update Roots"),
61 _root_updater(root_updater),
|
22 *
23 */
24
25 #include "precompiled.hpp"
26
27 #include "compiler/oopMap.hpp"
28 #include "gc/shared/workerThread.hpp"
29 #include "gc/shenandoah/shenandoahClosures.inline.hpp"
30 #include "gc/shenandoah/shenandoahGC.hpp"
31 #include "gc/shenandoah/shenandoahHeap.hpp"
32 #include "gc/shenandoah/shenandoahPhaseTimings.hpp"
33 #include "gc/shenandoah/shenandoahRootProcessor.inline.hpp"
34 #include "gc/shenandoah/shenandoahUtils.hpp"
35
36 const char* ShenandoahGC::degen_point_to_string(ShenandoahDegenPoint point) {
37 switch(point) {
38 case _degenerated_unset:
39 return "<UNSET>";
40 case _degenerated_outside_cycle:
41 return "Outside of Cycle";
42 case _degenerated_roots:
43 return "Roots";
44 case _degenerated_mark:
45 return "Mark";
46 case _degenerated_evac:
47 return "Evacuation";
48 case _degenerated_updaterefs:
49 return "Update References";
50 default:
51 ShouldNotReachHere();
52 return "ERROR";
53 }
54 }
55
56 class ShenandoahUpdateRootsTask : public WorkerTask {
57 private:
58 ShenandoahRootUpdater* _root_updater;
59 bool _check_alive;
60 public:
61 ShenandoahUpdateRootsTask(ShenandoahRootUpdater* root_updater, bool check_alive) :
62 WorkerTask("Shenandoah Update Roots"),
63 _root_updater(root_updater),
|