< prev index next >

src/hotspot/share/gc/cms/freeChunk.hpp

Print this page

        

*** 23,33 **** */ #ifndef SHARE_VM_GC_CMS_FREECHUNK_HPP #define SHARE_VM_GC_CMS_FREECHUNK_HPP - #include "memory/allocation.hpp" #include "memory/memRegion.hpp" #include "oops/markOop.hpp" #include "runtime/mutex.hpp" #include "runtime/orderAccess.hpp" #include "utilities/debug.hpp" --- 23,32 ----
*** 53,63 **** // don't have their LSB set. The corresponding bit in the CMSBitMap is // set when the chunk is allocated. There are also blocks that "look free" // but are not part of the free list and should not be coalesced into larger // free blocks. These free blocks have their two LSB's set. ! class FreeChunk VALUE_OBJ_CLASS_SPEC { friend class VMStructs; // For 64 bit compressed oops, the markOop encodes both the size and the // indication that this is a FreeChunk and not an object. volatile size_t _size; FreeChunk* _prev; --- 52,62 ---- // don't have their LSB set. The corresponding bit in the CMSBitMap is // set when the chunk is allocated. There are also blocks that "look free" // but are not part of the free list and should not be coalesced into larger // free blocks. These free blocks have their two LSB's set. ! class FreeChunk { friend class VMStructs; // For 64 bit compressed oops, the markOop encodes both the size and the // indication that this is a FreeChunk and not an object. volatile size_t _size; FreeChunk* _prev;
< prev index next >