hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.hpp
changeset 9984 5fe4dafb3739
parent 7397 5b173b4ca846
child 12509 6228e2085074
equal deleted inserted replaced
9969:57932d7294a9 9984:5fe4dafb3739
   112 
   112 
   113   void linkAfter(FreeChunk* ptr) {
   113   void linkAfter(FreeChunk* ptr) {
   114     linkNext(ptr);
   114     linkNext(ptr);
   115     if (ptr != NULL) ptr->linkPrev(this);
   115     if (ptr != NULL) ptr->linkPrev(this);
   116   }
   116   }
   117   void linkAfterNonNull(FreeChunk* ptr) {
       
   118     assert(ptr != NULL, "precondition violation");
       
   119     linkNext(ptr);
       
   120     ptr->linkPrev(this);
       
   121   }
       
   122   void linkNext(FreeChunk* ptr) { _next = ptr; }
   117   void linkNext(FreeChunk* ptr) { _next = ptr; }
   123   void linkPrev(FreeChunk* ptr) {
   118   void linkPrev(FreeChunk* ptr) {
   124     LP64_ONLY(if (UseCompressedOops) _prev = ptr; else)
   119     LP64_ONLY(if (UseCompressedOops) _prev = ptr; else)
   125     _prev = (FreeChunk*)((intptr_t)ptr | 0x1);
   120     _prev = (FreeChunk*)((intptr_t)ptr | 0x1);
   126   }
   121   }
   127   void clearPrev()              { _prev = NULL; }
       
   128   void clearNext()              { _next = NULL; }
   122   void clearNext()              { _next = NULL; }
   129   void markNotFree() {
   123   void markNotFree() {
   130     // Set _prev (klass) to null before (if) clearing the mark word below
   124     // Set _prev (klass) to null before (if) clearing the mark word below
   131     _prev = NULL;
   125     _prev = NULL;
   132 #ifdef _LP64
   126 #ifdef _LP64