< prev index next >

src/share/vm/gc/g1/heapRegionType.hpp

Print this page




 155   void set_old() { set(OldTag); }
 156 
 157   // Change the current region type to be of an old region type if not already done so.
 158   // Returns whether the region type has been changed or not.
 159   bool relabel_as_old() {
 160     //assert(!is_free(), "Should not try to move Free region");
 161     assert(!is_humongous(), "Should not try to move Humongous region");
 162     if (is_old()) {
 163       return false;
 164     }
 165     if (is_eden()) {
 166       set_from(OldTag, EdenTag);
 167       return true;
 168     } else if (is_free()) {
 169       set_from(OldTag, FreeTag);
 170       return true;
 171     } else {
 172       set_from(OldTag, SurvTag);
 173       return true;
 174     }
 175     ShouldNotReachHere();
 176     return false;
 177   }
 178   void set_open_archive()   { set_from(OpenArchiveTag, FreeTag); }
 179   void set_closed_archive() { set_from(ClosedArchiveTag, FreeTag); }
 180 
 181   // Misc
 182 
 183   const char* get_str() const;
 184   const char* get_short_str() const;
 185   G1HeapRegionTraceType::Type get_trace_type();
 186 
 187   HeapRegionType() : _tag(FreeTag) { hrt_assert_is_valid(_tag); }
 188 };
 189 
 190 #endif // SHARE_VM_GC_G1_HEAPREGIONTYPE_HPP


 155   void set_old() { set(OldTag); }
 156 
 157   // Change the current region type to be of an old region type if not already done so.
 158   // Returns whether the region type has been changed or not.
 159   bool relabel_as_old() {
 160     //assert(!is_free(), "Should not try to move Free region");
 161     assert(!is_humongous(), "Should not try to move Humongous region");
 162     if (is_old()) {
 163       return false;
 164     }
 165     if (is_eden()) {
 166       set_from(OldTag, EdenTag);
 167       return true;
 168     } else if (is_free()) {
 169       set_from(OldTag, FreeTag);
 170       return true;
 171     } else {
 172       set_from(OldTag, SurvTag);
 173       return true;
 174     }


 175   }
 176   void set_open_archive()   { set_from(OpenArchiveTag, FreeTag); }
 177   void set_closed_archive() { set_from(ClosedArchiveTag, FreeTag); }
 178 
 179   // Misc
 180 
 181   const char* get_str() const;
 182   const char* get_short_str() const;
 183   G1HeapRegionTraceType::Type get_trace_type();
 184 
 185   HeapRegionType() : _tag(FreeTag) { hrt_assert_is_valid(_tag); }
 186 };
 187 
 188 #endif // SHARE_VM_GC_G1_HEAPREGIONTYPE_HPP
< prev index next >