mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-28 03:00:41 +00:00
8142399: G1ParCopyClosure does not need do_oop_work
Reviewed-by: stefank, tschatzl
This commit is contained in:
parent
daff2dc241
commit
57776e7af1
@ -123,16 +123,13 @@ enum G1Mark {
|
||||
|
||||
template <G1Barrier barrier, G1Mark do_mark_object>
|
||||
class G1ParCopyClosure : public G1ParCopyHelper {
|
||||
private:
|
||||
template <class T> void do_oop_work(T* p);
|
||||
|
||||
public:
|
||||
G1ParCopyClosure(G1CollectedHeap* g1, G1ParScanThreadState* par_scan_state) :
|
||||
G1ParCopyHelper(g1, par_scan_state) {
|
||||
assert(ref_processor() == NULL, "sanity");
|
||||
}
|
||||
|
||||
template <class T> void do_oop_nv(T* p) { do_oop_work(p); }
|
||||
template <class T> void do_oop_nv(T* p);
|
||||
virtual void do_oop(oop* p) { do_oop_nv(p); }
|
||||
virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
|
||||
};
|
||||
|
||||
@ -251,7 +251,7 @@ void G1ParCopyHelper::mark_forwarded_object(oop from_obj, oop to_obj) {
|
||||
|
||||
template <G1Barrier barrier, G1Mark do_mark_object>
|
||||
template <class T>
|
||||
void G1ParCopyClosure<barrier, do_mark_object>::do_oop_work(T* p) {
|
||||
void G1ParCopyClosure<barrier, do_mark_object>::do_oop_nv(T* p) {
|
||||
T heap_oop = oopDesc::load_heap_oop(p);
|
||||
|
||||
if (oopDesc::is_null(heap_oop)) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user