mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 03:24:38 +02:00
6964458: Reimplement class meta-data storage to use native memory
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com> Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com> Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com> Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
This commit is contained in:
parent
36eee7c8c8
commit
5c58d27aac
853 changed files with 26124 additions and 82956 deletions
|
@ -178,7 +178,7 @@ void DirtyCardToOopClosure::do_MemRegion(MemRegion mr) {
|
|||
}
|
||||
}
|
||||
|
||||
DirtyCardToOopClosure* Space::new_dcto_cl(OopClosure* cl,
|
||||
DirtyCardToOopClosure* Space::new_dcto_cl(ExtendedOopClosure* cl,
|
||||
CardTableModRefBS::PrecisionStyle precision,
|
||||
HeapWord* boundary) {
|
||||
return new DirtyCardToOopClosure(this, cl, precision, boundary);
|
||||
|
@ -253,11 +253,11 @@ void ContiguousSpaceDCTOC::walk_mem_region_with_cl(MemRegion mr, \
|
|||
// (There are only two of these, rather than N, because the split is due
|
||||
// only to the introduction of the FilteringClosure, a local part of the
|
||||
// impl of this abstraction.)
|
||||
ContiguousSpaceDCTOC__walk_mem_region_with_cl_DEFN(OopClosure)
|
||||
ContiguousSpaceDCTOC__walk_mem_region_with_cl_DEFN(ExtendedOopClosure)
|
||||
ContiguousSpaceDCTOC__walk_mem_region_with_cl_DEFN(FilteringClosure)
|
||||
|
||||
DirtyCardToOopClosure*
|
||||
ContiguousSpace::new_dcto_cl(OopClosure* cl,
|
||||
ContiguousSpace::new_dcto_cl(ExtendedOopClosure* cl,
|
||||
CardTableModRefBS::PrecisionStyle precision,
|
||||
HeapWord* boundary) {
|
||||
return new ContiguousSpaceDCTOC(this, cl, precision, boundary);
|
||||
|
@ -548,7 +548,7 @@ void ContiguousSpace::verify() const {
|
|||
}
|
||||
}
|
||||
|
||||
void Space::oop_iterate(OopClosure* blk) {
|
||||
void Space::oop_iterate(ExtendedOopClosure* blk) {
|
||||
ObjectToOopClosure blk2(blk);
|
||||
object_iterate(&blk2);
|
||||
}
|
||||
|
@ -679,7 +679,7 @@ void ContiguousSpace::object_iterate_mem(MemRegion mr, UpwardsObjectClosure* cl)
|
|||
#undef ContigSpace_PAR_OOP_ITERATE_DEFN
|
||||
#endif // SERIALGC
|
||||
|
||||
void ContiguousSpace::oop_iterate(OopClosure* blk) {
|
||||
void ContiguousSpace::oop_iterate(ExtendedOopClosure* blk) {
|
||||
if (is_empty()) return;
|
||||
HeapWord* obj_addr = bottom();
|
||||
HeapWord* t = top();
|
||||
|
@ -689,7 +689,7 @@ void ContiguousSpace::oop_iterate(OopClosure* blk) {
|
|||
}
|
||||
}
|
||||
|
||||
void ContiguousSpace::oop_iterate(MemRegion mr, OopClosure* blk) {
|
||||
void ContiguousSpace::oop_iterate(MemRegion mr, ExtendedOopClosure* blk) {
|
||||
if (is_empty()) {
|
||||
return;
|
||||
}
|
||||
|
@ -1002,17 +1002,7 @@ void OffsetTableContigSpace::verify() const {
|
|||
guarantee(p == top(), "end of last object must match end of space");
|
||||
}
|
||||
|
||||
void OffsetTableContigSpace::serialize_block_offset_array_offsets(
|
||||
SerializeOopClosure* soc) {
|
||||
_offsets.serialize(soc);
|
||||
}
|
||||
|
||||
|
||||
size_t TenuredSpace::allowed_dead_ratio() const {
|
||||
return MarkSweepDeadRatio;
|
||||
}
|
||||
|
||||
|
||||
size_t ContigPermSpace::allowed_dead_ratio() const {
|
||||
return PermMarkSweepDeadRatio;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue