< prev index next >

src/hotspot/share/gc/g1/g1CollectedHeap.cpp

Print this page
rev 50453 : imported patch 02.removeInArchiveRoot
rev 50454 : imported patch cleanups

*** 76,85 **** --- 76,86 ---- #include "gc/shared/taskqueue.inline.hpp" #include "gc/shared/weakProcessor.hpp" #include "logging/log.hpp" #include "memory/allocation.hpp" #include "memory/iterator.hpp" + #include "memory/metaspaceShared.hpp" #include "memory/resourceArea.hpp" #include "oops/access.inline.hpp" #include "oops/compressedOops.inline.hpp" #include "oops/oop.inline.hpp" #include "prims/resolvedMethodTable.hpp"
*** 821,830 **** --- 822,843 ---- HeapRegion::GrainWords * HeapWordSize * uncommitted_regions); } decrease_used(size_used); } + oop G1CollectedHeap::materialize_archived_object(oop obj) { + assert(obj != NULL, "archived obj is NULL"); + assert(MetaspaceShared::is_archive_object(obj), "must be archived object"); + + // Loading an archived object makes it strongly reachable. If it is + // loaded during concurrent marking, it must be enqueued to the SATB + // queue, shading the previously white object gray. + G1BarrierSet::enqueue(obj); + + return obj; + } + HeapWord* G1CollectedHeap::attempt_allocation_humongous(size_t word_size) { ResourceMark rm; // For retrieving the thread names in log messages. // The structure of this method has a lot of similarities to // attempt_allocation_slow(). The reason these two were not merged
< prev index next >