< prev index next >
src/share/vm/gc/parallel/psParallelCompact.hpp
Print this page
rev 9847 : 8146395: Add inline qualifier in oop.hpp and fix inlining in gc files
Summary: Fix remaining issues after 8146401
*** 1240,1259 ****
// Verify that all the regions have been emptied.
static void verify_complete(SpaceId space_id);
#endif // #ifdef ASSERT
};
- inline bool PSParallelCompact::mark_obj(oop obj) {
- const int obj_size = obj->size();
- if (mark_bitmap()->mark_obj(obj, obj_size)) {
- _summary_data.add_obj(obj, obj_size);
- return true;
- } else {
- return false;
- }
- }
-
inline bool PSParallelCompact::is_marked(oop obj) {
return mark_bitmap()->is_marked(obj);
}
inline double PSParallelCompact::normal_distribution(double density) {
--- 1240,1249 ----
*** 1384,1414 ****
virtual IterationStatus do_addr(HeapWord* addr, size_t words);
inline void do_addr(HeapWord* addr);
};
! class FillClosure: public ParMarkBitMapClosure
! {
! public:
FillClosure(ParCompactionManager* cm, PSParallelCompact::SpaceId space_id) :
ParMarkBitMapClosure(PSParallelCompact::mark_bitmap(), cm),
_start_array(PSParallelCompact::start_array(space_id))
{
assert(space_id == PSParallelCompact::old_space_id,
"cannot use FillClosure in the young gen");
}
! virtual IterationStatus do_addr(HeapWord* addr, size_t size) {
! CollectedHeap::fill_with_objects(addr, size);
! HeapWord* const end = addr + size;
! do {
! _start_array->allocate_block(addr);
! addr += oop(addr)->size();
! } while (addr < end);
! return ParMarkBitMap::incomplete;
! }
! private:
ObjectStartArray* const _start_array;
};
#endif // SHARE_VM_GC_PARALLEL_PSPARALLELCOMPACT_HPP
--- 1374,1395 ----
virtual IterationStatus do_addr(HeapWord* addr, size_t words);
inline void do_addr(HeapWord* addr);
};
! class FillClosure: public ParMarkBitMapClosure {
! public:
FillClosure(ParCompactionManager* cm, PSParallelCompact::SpaceId space_id) :
ParMarkBitMapClosure(PSParallelCompact::mark_bitmap(), cm),
_start_array(PSParallelCompact::start_array(space_id))
{
assert(space_id == PSParallelCompact::old_space_id,
"cannot use FillClosure in the young gen");
}
! virtual IterationStatus do_addr(HeapWord* addr, size_t size);
! private:
ObjectStartArray* const _start_array;
};
#endif // SHARE_VM_GC_PARALLEL_PSPARALLELCOMPACT_HPP
< prev index next >