src/share/vm/memory/space.hpp

Print this page
rev 5032 : 8023033: PPC64 (part 13): basic changes for AIX
Summary: Added AIX includes alpha-sorted before BSD. Fix compilation issues with xlC in shared code. Basic shared platform dependend adaption (vm_version etc.).


  28 #include "memory/allocation.hpp"
  29 #include "memory/blockOffsetTable.hpp"
  30 #include "memory/cardTableModRefBS.hpp"
  31 #include "memory/iterator.hpp"
  32 #include "memory/memRegion.hpp"
  33 #include "memory/watermark.hpp"
  34 #include "oops/markOop.hpp"
  35 #include "runtime/mutexLocker.hpp"
  36 #include "runtime/prefetch.hpp"
  37 #include "utilities/macros.hpp"
  38 #include "utilities/workgroup.hpp"
  39 #ifdef TARGET_OS_FAMILY_linux
  40 # include "os_linux.inline.hpp"
  41 #endif
  42 #ifdef TARGET_OS_FAMILY_solaris
  43 # include "os_solaris.inline.hpp"
  44 #endif
  45 #ifdef TARGET_OS_FAMILY_windows
  46 # include "os_windows.inline.hpp"
  47 #endif



  48 #ifdef TARGET_OS_FAMILY_bsd
  49 # include "os_bsd.inline.hpp"
  50 #endif
  51 
  52 // A space is an abstraction for the "storage units" backing
  53 // up the generation abstraction. It includes specific
  54 // implementations for keeping track of free and used space,
  55 // for iterating over objects and free blocks, etc.
  56 
  57 // Here's the Space hierarchy:
  58 //
  59 // - Space               -- an asbtract base class describing a heap area
  60 //   - CompactibleSpace  -- a space supporting compaction
  61 //     - CompactibleFreeListSpace -- (used for CMS generation)
  62 //     - ContiguousSpace -- a compactible space in which all free space
  63 //                          is contiguous
  64 //       - EdenSpace     -- contiguous space used as nursery
  65 //         - ConcEdenSpace -- contiguous space with a 'soft end safe' allocation
  66 //       - OffsetTableContigSpace -- contiguous space with a block offset array
  67 //                          that allows "fast" block_start calls




  28 #include "memory/allocation.hpp"
  29 #include "memory/blockOffsetTable.hpp"
  30 #include "memory/cardTableModRefBS.hpp"
  31 #include "memory/iterator.hpp"
  32 #include "memory/memRegion.hpp"
  33 #include "memory/watermark.hpp"
  34 #include "oops/markOop.hpp"
  35 #include "runtime/mutexLocker.hpp"
  36 #include "runtime/prefetch.hpp"
  37 #include "utilities/macros.hpp"
  38 #include "utilities/workgroup.hpp"
  39 #ifdef TARGET_OS_FAMILY_linux
  40 # include "os_linux.inline.hpp"
  41 #endif
  42 #ifdef TARGET_OS_FAMILY_solaris
  43 # include "os_solaris.inline.hpp"
  44 #endif
  45 #ifdef TARGET_OS_FAMILY_windows
  46 # include "os_windows.inline.hpp"
  47 #endif
  48 #ifdef TARGET_OS_FAMILY_aix
  49 # include "os_aix.inline.hpp"
  50 #endif
  51 #ifdef TARGET_OS_FAMILY_bsd
  52 # include "os_bsd.inline.hpp"
  53 #endif
  54 
  55 // A space is an abstraction for the "storage units" backing
  56 // up the generation abstraction. It includes specific
  57 // implementations for keeping track of free and used space,
  58 // for iterating over objects and free blocks, etc.
  59 
  60 // Here's the Space hierarchy:
  61 //
  62 // - Space               -- an asbtract base class describing a heap area
  63 //   - CompactibleSpace  -- a space supporting compaction
  64 //     - CompactibleFreeListSpace -- (used for CMS generation)
  65 //     - ContiguousSpace -- a compactible space in which all free space
  66 //                          is contiguous
  67 //       - EdenSpace     -- contiguous space used as nursery
  68 //         - ConcEdenSpace -- contiguous space with a 'soft end safe' allocation
  69 //       - OffsetTableContigSpace -- contiguous space with a block offset array
  70 //                          that allows "fast" block_start calls