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;