equal
deleted
inserted
replaced
25 #ifndef SHARE_VM_GC_G1_G1EVACFAILURE_HPP |
25 #ifndef SHARE_VM_GC_G1_G1EVACFAILURE_HPP |
26 #define SHARE_VM_GC_G1_G1EVACFAILURE_HPP |
26 #define SHARE_VM_GC_G1_G1EVACFAILURE_HPP |
27 |
27 |
28 #include "gc/g1/g1OopClosures.hpp" |
28 #include "gc/g1/g1OopClosures.hpp" |
29 #include "gc/g1/heapRegionManager.hpp" |
29 #include "gc/g1/heapRegionManager.hpp" |
|
30 #include "gc/shared/preservedMarks.hpp" |
30 #include "gc/shared/workgroup.hpp" |
31 #include "gc/shared/workgroup.hpp" |
31 #include "utilities/globalDefinitions.hpp" |
32 #include "utilities/globalDefinitions.hpp" |
32 |
33 |
33 class G1CollectedHeap; |
34 class G1CollectedHeap; |
34 |
|
35 class OopAndMarkOop { |
|
36 oop _o; |
|
37 markOop _m; |
|
38 public: |
|
39 OopAndMarkOop(oop obj, markOop m) : _o(obj), _m(m) { |
|
40 } |
|
41 |
|
42 void set_mark() { |
|
43 _o->set_mark(_m); |
|
44 } |
|
45 }; |
|
46 |
|
47 typedef Stack<OopAndMarkOop,mtGC> OopAndMarkOopStack; |
|
48 |
35 |
49 // Task to fixup self-forwarding pointers |
36 // Task to fixup self-forwarding pointers |
50 // installed as a result of an evacuation failure. |
37 // installed as a result of an evacuation failure. |
51 class G1ParRemoveSelfForwardPtrsTask: public AbstractGangTask { |
38 class G1ParRemoveSelfForwardPtrsTask: public AbstractGangTask { |
52 protected: |
39 protected: |