8324636: Serial: Remove Generation::block_is_obj
Reviewed-by: stefank, ysr
This commit is contained in:
parent
7a798d3ceb
commit
e709842eae
@ -723,6 +723,12 @@ void DefNewGeneration::adjust_desired_tenuring_threshold() {
|
|||||||
age_table()->print_age_table(_tenuring_threshold);
|
age_table()->print_age_table(_tenuring_threshold);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DefNewGeneration::block_is_obj(const HeapWord* addr) const {
|
||||||
|
return eden()->is_in(addr)
|
||||||
|
|| from()->is_in(addr)
|
||||||
|
|| to() ->is_in(addr);
|
||||||
|
}
|
||||||
|
|
||||||
void DefNewGeneration::collect(bool full,
|
void DefNewGeneration::collect(bool full,
|
||||||
bool clear_all_soft_refs,
|
bool clear_all_soft_refs,
|
||||||
size_t size,
|
size_t size,
|
||||||
|
@ -257,6 +257,10 @@ class DefNewGeneration: public Generation {
|
|||||||
// at some additional cost.
|
// at some additional cost.
|
||||||
bool collection_attempt_is_safe();
|
bool collection_attempt_is_safe();
|
||||||
|
|
||||||
|
// Requires "addr" to be the start of a block, and returns "TRUE" iff
|
||||||
|
// the block is an object.
|
||||||
|
bool block_is_obj(const HeapWord* addr) const;
|
||||||
|
|
||||||
virtual void collect(bool full,
|
virtual void collect(bool full,
|
||||||
bool clear_all_soft_refs,
|
bool clear_all_soft_refs,
|
||||||
size_t size,
|
size_t size,
|
||||||
|
@ -164,22 +164,3 @@ HeapWord* Generation::block_start(const void* p) const {
|
|||||||
((Generation*)this)->space_iterate(&blk);
|
((Generation*)this)->space_iterate(&blk);
|
||||||
return blk._start;
|
return blk._start;
|
||||||
}
|
}
|
||||||
|
|
||||||
class GenerationBlockIsObjClosure : public SpaceClosure {
|
|
||||||
public:
|
|
||||||
const HeapWord* _p;
|
|
||||||
bool is_obj;
|
|
||||||
virtual void do_space(Space* s) {
|
|
||||||
if (!is_obj && s->is_in_reserved(_p)) {
|
|
||||||
is_obj |= s->block_is_obj(_p);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GenerationBlockIsObjClosure(const HeapWord* p) { _p = p; is_obj = false; }
|
|
||||||
};
|
|
||||||
|
|
||||||
bool Generation::block_is_obj(const HeapWord* p) const {
|
|
||||||
GenerationBlockIsObjClosure blk(p);
|
|
||||||
// Cast away const
|
|
||||||
((Generation*)this)->space_iterate(&blk);
|
|
||||||
return blk.is_obj;
|
|
||||||
}
|
|
||||||
|
@ -234,10 +234,6 @@ class Generation: public CHeapObj<mtGC> {
|
|||||||
// non-object.
|
// non-object.
|
||||||
virtual HeapWord* block_start(const void* addr) const;
|
virtual HeapWord* block_start(const void* addr) const;
|
||||||
|
|
||||||
// Requires "addr" to be the start of a block, and returns "TRUE" iff
|
|
||||||
// the block is an object.
|
|
||||||
virtual bool block_is_obj(const HeapWord* addr) const;
|
|
||||||
|
|
||||||
virtual void print() const;
|
virtual void print() const;
|
||||||
virtual void print_on(outputStream* st) const;
|
virtual void print_on(outputStream* st) const;
|
||||||
|
|
||||||
|
@ -129,6 +129,8 @@ class TenuredGeneration: public Generation {
|
|||||||
|
|
||||||
bool no_allocs_since_save_marks();
|
bool no_allocs_since_save_marks();
|
||||||
|
|
||||||
|
// Requires "addr" to be the start of a block, and returns "TRUE" iff
|
||||||
|
// the block is an object.
|
||||||
inline bool block_is_obj(const HeapWord* addr) const;
|
inline bool block_is_obj(const HeapWord* addr) const;
|
||||||
|
|
||||||
virtual void collect(bool full,
|
virtual void collect(bool full,
|
||||||
|
@ -62,7 +62,7 @@ HeapWord* TenuredGeneration::par_allocate(size_t word_size,
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool TenuredGeneration::block_is_obj(const HeapWord* addr) const {
|
bool TenuredGeneration::block_is_obj(const HeapWord* addr) const {
|
||||||
return addr < _the_space ->top();
|
return addr < _the_space->top();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename OopClosureType>
|
template <typename OopClosureType>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user