mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +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
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -266,16 +266,12 @@ inline void CMSCollector::icms_wait() {
|
|||
|
||||
inline void CMSCollector::save_sweep_limits() {
|
||||
_cmsGen->save_sweep_limit();
|
||||
_permGen->save_sweep_limit();
|
||||
}
|
||||
|
||||
inline bool CMSCollector::is_dead_obj(oop obj) const {
|
||||
HeapWord* addr = (HeapWord*)obj;
|
||||
assert((_cmsGen->cmsSpace()->is_in_reserved(addr)
|
||||
&& _cmsGen->cmsSpace()->block_is_obj(addr))
|
||||
||
|
||||
(_permGen->cmsSpace()->is_in_reserved(addr)
|
||||
&& _permGen->cmsSpace()->block_is_obj(addr)),
|
||||
&& _cmsGen->cmsSpace()->block_is_obj(addr)),
|
||||
"must be object");
|
||||
return should_unload_classes() &&
|
||||
_collectorState == Sweeping &&
|
||||
|
@ -453,6 +449,14 @@ inline void Par_MarkFromRootsClosure::do_yield_check() {
|
|||
}
|
||||
}
|
||||
|
||||
inline void PushOrMarkClosure::do_yield_check() {
|
||||
_parent->do_yield_check();
|
||||
}
|
||||
|
||||
inline void Par_PushOrMarkClosure::do_yield_check() {
|
||||
_parent->do_yield_check();
|
||||
}
|
||||
|
||||
// Return value of "true" indicates that the on-going preclean
|
||||
// should be aborted.
|
||||
inline bool ScanMarkedObjectsAgainCarefullyClosure::do_yield_check() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue