src/share/vm/gc_implementation/g1/heapRegion.hpp
Print this page
rev 4802 : imported patch optimize-nmethod-scanning
rev 4803 : imported patch thomas-comments-2
*** 336,348 ****
// The predicted number of bytes to copy that was added to
// the total value for the collection set.
size_t _predicted_bytes_to_copy;
- // A list of code blobs (nmethods) whose code contains pointers into this region
- GrowableArray<nmethod*>* _strong_code_root_list;
-
public:
HeapRegion(uint hrs_index,
G1BlockOffsetSharedArray* sharedOffsetArray,
MemRegion mr);
--- 336,345 ----
*** 799,833 ****
virtual CompactibleSpace* next_compaction_space() const;
virtual void reset_after_compaction();
! // Routines for managing the list of code roots that point into
! // this heap region.
void add_strong_code_root(nmethod* nm);
void remove_strong_code_root(nmethod* nm);
! GrowableArray<nmethod*>* strong_code_root_list() {
! return _strong_code_root_list;
! }
!
! // During a collection, migrate successfully evacuated strong
! // code roots attached to this region to the new regions that
! // they point into. Unsuccessfully evacuated code roots are
! // not migrated.
void migrate_strong_code_roots();
// Applies blk->do_code_blob() to each of the entries in
! // the strong code roots list;
void strong_code_roots_do(CodeBlobClosure* blk) const;
! // Returns the amount of memory, in bytes, currently
! // consumed by the strong code roots.
! size_t strong_code_root_mem_size();
!
! // Verify that the entries on the strong code root list are live and
! // include at least one pointer into this region.
void verify_strong_code_roots(VerifyOption vo, bool* failures) const;
void print() const;
void print_on(outputStream* st) const;
--- 796,822 ----
virtual CompactibleSpace* next_compaction_space() const;
virtual void reset_after_compaction();
! // Routines for managing a list of code roots (attached to the
! // this region's RSet) that point into this heap region.
void add_strong_code_root(nmethod* nm);
void remove_strong_code_root(nmethod* nm);
! // During a collection, migrate the successfully evacuated
! // strong code roots that referenced into this region to the
! // new regions that they now point into. Unsuccessfully
! // evacuated code roots are not migrated.
void migrate_strong_code_roots();
// Applies blk->do_code_blob() to each of the entries in
! // the strong code roots list for this region
void strong_code_roots_do(CodeBlobClosure* blk) const;
! // Verify that the entries on the strong code root list for this
! // region are live and include at least one pointer into this region.
void verify_strong_code_roots(VerifyOption vo, bool* failures) const;
void print() const;
void print_on(outputStream* st) const;