42 class PSOldGen; 43 class Thread; 44 class VMThread; 45 46 // 47 // ScavengeRootsTask 48 // 49 // This task scans all the roots of a given type. 50 // 51 // 52 53 class ScavengeRootsTask : public GCTask { 54 public: 55 enum RootType { 56 universe = 1, 57 jni_handles = 2, 58 threads = 3, 59 object_synchronizer = 4, 60 flat_profiler = 5, 61 system_dictionary = 6, 62 management = 7, 63 jvmti = 8, 64 code_cache = 9 65 }; 66 private: 67 RootType _root_type; 68 public: 69 ScavengeRootsTask(RootType value) : _root_type(value) {} 70 71 char* name() { return (char *)"scavenge-roots-task"; } 72 73 virtual void do_it(GCTaskManager* manager, uint which); 74 }; 75 76 // 77 // ThreadRootsTask 78 // 79 // This task scans the roots of a single thread. This task 80 // enables scanning of thread roots in parallel. 81 // 82 83 class ThreadRootsTask : public GCTask { 84 private: | 42 class PSOldGen; 43 class Thread; 44 class VMThread; 45 46 // 47 // ScavengeRootsTask 48 // 49 // This task scans all the roots of a given type. 50 // 51 // 52 53 class ScavengeRootsTask : public GCTask { 54 public: 55 enum RootType { 56 universe = 1, 57 jni_handles = 2, 58 threads = 3, 59 object_synchronizer = 4, 60 flat_profiler = 5, 61 system_dictionary = 6, 62 class_loader_data = 7, 63 management = 8, 64 jvmti = 9, 65 code_cache = 10 66 }; 67 private: 68 RootType _root_type; 69 public: 70 ScavengeRootsTask(RootType value) : _root_type(value) {} 71 72 char* name() { return (char *)"scavenge-roots-task"; } 73 74 virtual void do_it(GCTaskManager* manager, uint which); 75 }; 76 77 // 78 // ThreadRootsTask 79 // 80 // This task scans the roots of a single thread. This task 81 // enables scanning of thread roots in parallel. 82 // 83 84 class ThreadRootsTask : public GCTask { 85 private: |