size_t OneContigSpaceCardGeneration::block_size(const HeapWord* addr) const { if (addr < the_space()->top()) return oop(addr)->size(); else { assert(addr == the_space()->top(), "non-block head arg to block_size"); return the_space()->_end - the_space()->top(); } }
inline size_t block_size(const HeapWord* addr) const { if (addr < the_space()->top()) { return oop(addr)->size(); } else if (addr < the_space()->end()) { assert(addr == the_space()->top(), "non-block head arg to block_size"); return the_space()->end() - the_space()->top(); } else if (addr < ro_space()->top()) { return oop(addr)->size(); } else if (addr < ro_space()->end()) { assert(addr == ro_space()->top(), "non-block head arg to block_size"); return ro_space()->end() - ro_space()->top(); } else if (addr < rw_space()->top()) { return oop(addr)->size(); } else { assert(addr == rw_space()->top(), "non-block head arg to block_size"); return rw_space()->end() - rw_space()->top(); } }
inline bool block_is_obj(const HeapWord* addr) const { if (addr < the_space()->top()) return true; else if (addr < the_space()->end()) return false; else if (addr < ro_space()->top()) return true; else if (addr < ro_space()->end()) return false; else if (addr < rw_space()->top()) return true; else return false; }
bool OneContigSpaceCardGeneration::is_in(const void* p) const { return the_space()->contains(p); }
bool OneContigSpaceCardGeneration::block_is_obj(const HeapWord* addr) const { return addr < the_space()->top(); }
WaterMark OneContigSpaceCardGeneration::bottom_mark() { return the_space()->bottom_mark(); }
HeapWord* OneContigSpaceCardGeneration::par_allocate(size_t word_size, bool is_large_noref, bool is_tlab) { assert(!is_tlab, "OneContigSpaceCardGeneration does not support TLAB allocation"); return the_space()->par_allocate(word_size); }
CompactibleSpace* OneContigSpaceCardGeneration::first_compaction_space() const { return the_space(); }
WaterMark OneContigSpaceCardGeneration::top_mark() { return the_space()->top_mark(); }
MemRegion OneContigSpaceCardGeneration::used_region() const { return the_space()->used_region(); }