src/share/vm/gc_implementation/g1/heapRegion.hpp

Print this page
rev 6872 : imported patch nm-hashtable


 754   size_t predicted_bytes_to_copy() const   { return _predicted_bytes_to_copy; }
 755 
 756   void set_recorded_rs_length(size_t rs_length) {
 757     _recorded_rs_length = rs_length;
 758   }
 759 
 760   void set_predicted_elapsed_time_ms(double ms) {
 761     _predicted_elapsed_time_ms = ms;
 762   }
 763 
 764   void set_predicted_bytes_to_copy(size_t bytes) {
 765     _predicted_bytes_to_copy = bytes;
 766   }
 767 
 768   virtual CompactibleSpace* next_compaction_space() const;
 769 
 770   virtual void reset_after_compaction();
 771 
 772   // Routines for managing a list of code roots (attached to the
 773   // this region's RSet) that point into this heap region.

 774   void add_strong_code_root(nmethod* nm);
 775   void remove_strong_code_root(nmethod* nm);
 776 
 777   // During a collection, migrate the successfully evacuated
 778   // strong code roots that referenced into this region to the
 779   // new regions that they now point into. Unsuccessfully
 780   // evacuated code roots are not migrated.
 781   void migrate_strong_code_roots();
 782 
 783   // Applies blk->do_code_blob() to each of the entries in
 784   // the strong code roots list for this region
 785   void strong_code_roots_do(CodeBlobClosure* blk) const;
 786 
 787   // Verify that the entries on the strong code root list for this
 788   // region are live and include at least one pointer into this region.
 789   void verify_strong_code_roots(VerifyOption vo, bool* failures) const;
 790 
 791   void print() const;
 792   void print_on(outputStream* st) const;
 793 
 794   // vo == UsePrevMarking  -> use "prev" marking information,
 795   // vo == UseNextMarking -> use "next" marking information
 796   // vo == UseMarkWord    -> use the mark word in the object header
 797   //
 798   // NOTE: Only the "prev" marking information is guaranteed to be
 799   // consistent most of the time, so most calls to this should use
 800   // vo == UsePrevMarking.
 801   // Currently, there is only one case where this is called with




 754   size_t predicted_bytes_to_copy() const   { return _predicted_bytes_to_copy; }
 755 
 756   void set_recorded_rs_length(size_t rs_length) {
 757     _recorded_rs_length = rs_length;
 758   }
 759 
 760   void set_predicted_elapsed_time_ms(double ms) {
 761     _predicted_elapsed_time_ms = ms;
 762   }
 763 
 764   void set_predicted_bytes_to_copy(size_t bytes) {
 765     _predicted_bytes_to_copy = bytes;
 766   }
 767 
 768   virtual CompactibleSpace* next_compaction_space() const;
 769 
 770   virtual void reset_after_compaction();
 771 
 772   // Routines for managing a list of code roots (attached to the
 773   // this region's RSet) that point into this heap region.
 774   void lock_add_strong_code_root(nmethod* nm);
 775   void add_strong_code_root(nmethod* nm);
 776   void remove_strong_code_root(nmethod* nm);






 777 
 778   // Applies blk->do_code_blob() to each of the entries in
 779   // the strong code roots list for this region
 780   void strong_code_roots_do(CodeBlobClosure* blk) const;
 781 
 782   // Verify that the entries on the strong code root list for this
 783   // region are live and include at least one pointer into this region.
 784   void verify_strong_code_roots(VerifyOption vo, bool* failures) const;
 785 
 786   void print() const;
 787   void print_on(outputStream* st) const;
 788 
 789   // vo == UsePrevMarking  -> use "prev" marking information,
 790   // vo == UseNextMarking -> use "next" marking information
 791   // vo == UseMarkWord    -> use the mark word in the object header
 792   //
 793   // NOTE: Only the "prev" marking information is guaranteed to be
 794   // consistent most of the time, so most calls to this should use
 795   // vo == UsePrevMarking.
 796   // Currently, there is only one case where this is called with