equal
deleted
inserted
replaced
37 class StrongRootsScope; |
37 class StrongRootsScope; |
38 class ThreadClosure; |
38 class ThreadClosure; |
39 class WorkGang; |
39 class WorkGang; |
40 |
40 |
41 class CMSHeap : public GenCollectedHeap { |
41 class CMSHeap : public GenCollectedHeap { |
|
42 |
|
43 protected: |
|
44 virtual void check_gen_kinds(); |
|
45 |
42 public: |
46 public: |
43 CMSHeap(GenCollectorPolicy *policy); |
47 CMSHeap(GenCollectorPolicy *policy); |
44 |
48 |
45 // Returns JNI_OK on success |
49 // Returns JNI_OK on success |
46 virtual jint initialize(); |
50 virtual jint initialize(); |
47 |
|
48 virtual void check_gen_kinds(); |
|
49 |
51 |
50 // Convenience function to be used in situations where the heap type can be |
52 // Convenience function to be used in situations where the heap type can be |
51 // asserted to be this type. |
53 // asserted to be this type. |
52 static CMSHeap* heap(); |
54 static CMSHeap* heap(); |
53 |
55 |
67 |
69 |
68 // Perform a full collection of the heap; intended for use in implementing |
70 // Perform a full collection of the heap; intended for use in implementing |
69 // "System.gc". This implies as full a collection as the CollectedHeap |
71 // "System.gc". This implies as full a collection as the CollectedHeap |
70 // supports. Caller does not hold the Heap_lock on entry. |
72 // supports. Caller does not hold the Heap_lock on entry. |
71 void collect(GCCause::Cause cause); |
73 void collect(GCCause::Cause cause); |
72 |
|
73 bool is_in_closed_subset(const void* p) const { |
|
74 return is_in_reserved(p); |
|
75 } |
|
76 |
74 |
77 bool card_mark_must_follow_store() const { |
75 bool card_mark_must_follow_store() const { |
78 return true; |
76 return true; |
79 } |
77 } |
80 |
78 |