Skip to content

Commit 60c535d

Browse files
committed
8301340: Make DirtyCardToOopClosure stack-allocated
Reviewed-by: stefank, tschatzl
1 parent b76a52f commit 60c535d

File tree

4 files changed

+3
-21
lines changed

4 files changed

+3
-21
lines changed

src/hotspot/share/gc/shared/cardTableRS.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -449,8 +449,8 @@ void CardTableRS::non_clean_card_iterate(TenuredSpace* sp,
449449
}
450450
// clear_cl finds contiguous dirty ranges of cards to process and clear.
451451

452-
DirtyCardToOopClosure* dcto_cl = sp->new_dcto_cl(cl);
453-
ClearNoncleanCardWrapper clear_cl(dcto_cl, ct);
452+
DirtyCardToOopClosure dcto_cl{sp, cl};
453+
ClearNoncleanCardWrapper clear_cl(&dcto_cl, ct);
454454

455455
clear_cl.do_MemRegion(mr);
456456
}

src/hotspot/share/gc/shared/space.cpp

-5
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,6 @@ void DirtyCardToOopClosure::walk_mem_region_with_cl(MemRegion mr,
150150
}
151151
}
152152

153-
DirtyCardToOopClosure*
154-
ContiguousSpace::new_dcto_cl(OopIterateClosure* cl) {
155-
return new DirtyCardToOopClosure(this, cl);
156-
}
157-
158153
void Space::initialize(MemRegion mr,
159154
bool clear_space,
160155
bool mangle_space) {

src/hotspot/share/gc/shared/space.hpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ class Space: public CHeapObj<mtGC> {
239239
// 2. That the space is really made up of objects and not just
240240
// blocks.
241241

242-
class DirtyCardToOopClosure: public MemRegionClosureRO {
242+
class DirtyCardToOopClosure: public MemRegionClosure {
243243
protected:
244244
OopIterateClosure* _cl;
245245
Space* _sp;
@@ -472,8 +472,6 @@ class ContiguousSpace: public CompactibleSpace {
472472
set_top(compaction_top());
473473
}
474474

475-
DirtyCardToOopClosure* new_dcto_cl(OopIterateClosure* cl);
476-
477475
// Apply "blk->do_oop" to the addresses of all reference fields in objects
478476
// starting with the _saved_mark_word, which was noted during a generation's
479477
// save_marks and is required to denote the head of an object.

src/hotspot/share/memory/memRegion.hpp

-11
Original file line numberDiff line numberDiff line change
@@ -105,15 +105,4 @@ class MemRegionClosure : public StackObj {
105105
virtual void do_MemRegion(MemRegion mr) = 0;
106106
};
107107

108-
// A ResourceObj version of MemRegionClosure
109-
110-
class MemRegionClosureRO: public MemRegionClosure {
111-
public:
112-
void* operator new(size_t size) throw() {
113-
return resource_allocate_bytes(size);
114-
}
115-
116-
void operator delete(void* p) {} // nothing to do
117-
};
118-
119108
#endif // SHARE_MEMORY_MEMREGION_HPP

0 commit comments

Comments
 (0)