< prev index next >

src/share/vm/gc_implementation/shared/liveRange.hpp

Print this page
rev 7793 : 8073315: Enable gcc -Wtype-limits and fix upcoming issues.


  25 #ifndef SHARE_VM_GC_IMPLEMENTATION_SHARED_LIVERANGE_HPP
  26 #define SHARE_VM_GC_IMPLEMENTATION_SHARED_LIVERANGE_HPP
  27 
  28 #include "memory/memRegion.hpp"
  29 #include "utilities/copy.hpp"
  30 
  31 // This is a shared helper class used during phase 3 and 4 to move all the objects
  32 // Dead regions in a Space are linked together to keep track of the live regions
  33 // so that the live data can be traversed quickly without having to look at each
  34 // object.
  35 
  36 class LiveRange: public MemRegion {
  37 public:
  38   LiveRange(HeapWord* bottom, HeapWord* top): MemRegion(bottom, top) {}
  39 
  40   void set_end(HeapWord* e) {
  41     assert(e >= start(), "should be a non-zero range");
  42     MemRegion::set_end(e);
  43   }
  44   void set_word_size(size_t ws) {
  45     assert(ws >= 0, "should be a non-zero range");
  46     MemRegion::set_word_size(ws);
  47   }
  48 
  49   LiveRange * next() { return (LiveRange *) end(); }
  50 
  51   void move_to(HeapWord* destination) {
  52     Copy::aligned_conjoint_words(start(), destination, word_size());
  53   }
  54 };
  55 
  56 #endif // SHARE_VM_GC_IMPLEMENTATION_SHARED_LIVERANGE_HPP


  25 #ifndef SHARE_VM_GC_IMPLEMENTATION_SHARED_LIVERANGE_HPP
  26 #define SHARE_VM_GC_IMPLEMENTATION_SHARED_LIVERANGE_HPP
  27 
  28 #include "memory/memRegion.hpp"
  29 #include "utilities/copy.hpp"
  30 
  31 // This is a shared helper class used during phase 3 and 4 to move all the objects
  32 // Dead regions in a Space are linked together to keep track of the live regions
  33 // so that the live data can be traversed quickly without having to look at each
  34 // object.
  35 
  36 class LiveRange: public MemRegion {
  37 public:
  38   LiveRange(HeapWord* bottom, HeapWord* top): MemRegion(bottom, top) {}
  39 
  40   void set_end(HeapWord* e) {
  41     assert(e >= start(), "should be a non-zero range");
  42     MemRegion::set_end(e);
  43   }
  44   void set_word_size(size_t ws) {

  45     MemRegion::set_word_size(ws);
  46   }
  47 
  48   LiveRange * next() { return (LiveRange *) end(); }
  49 
  50   void move_to(HeapWord* destination) {
  51     Copy::aligned_conjoint_words(start(), destination, word_size());
  52   }
  53 };
  54 
  55 #endif // SHARE_VM_GC_IMPLEMENTATION_SHARED_LIVERANGE_HPP
< prev index next >