32 class HeapWord; |
32 class HeapWord; |
33 class CardTableRS; |
33 class CardTableRS; |
34 class CardTableModRefBS; |
34 class CardTableModRefBS; |
35 class DefNewGeneration; |
35 class DefNewGeneration; |
36 |
36 |
37 template<class E, unsigned int N> class GenericTaskQueue; |
37 template<class E, MEMFLAGS F, unsigned int N> class GenericTaskQueue; |
38 typedef GenericTaskQueue<oop, TASKQUEUE_SIZE> OopTaskQueue; |
38 typedef GenericTaskQueue<oop, mtGC, TASKQUEUE_SIZE> OopTaskQueue; |
39 template<class T> class GenericTaskQueueSet; |
39 template<class T, MEMFLAGS F> class GenericTaskQueueSet; |
40 typedef GenericTaskQueueSet<OopTaskQueue> OopTaskQueueSet; |
40 typedef GenericTaskQueueSet<OopTaskQueue, mtGC> OopTaskQueueSet; |
41 |
41 |
42 // Closure for iterating roots from a particular generation |
42 // Closure for iterating roots from a particular generation |
43 // Note: all classes deriving from this MUST call this do_barrier |
43 // Note: all classes deriving from this MUST call this do_barrier |
44 // method at the end of their own do_oop method! |
44 // method at the end of their own do_oop method! |
45 // Note: no do_oop defined, this is an abstract class. |
45 // Note: no do_oop defined, this is an abstract class. |