src/share/vm/memory/barrierSet.inline.hpp

changeset 1680
6484c4ee11cb
parent 1526
6aa7255741f3
child 1907
c18cbe5936b8
     1.1 --- a/src/share/vm/memory/barrierSet.inline.hpp	Fri Jan 29 14:51:38 2010 -0800
     1.2 +++ b/src/share/vm/memory/barrierSet.inline.hpp	Mon Feb 01 17:29:01 2010 -0800
     1.3 @@ -42,16 +42,6 @@
     1.4    }
     1.5  }
     1.6  
     1.7 -void BarrierSet::write_ref_array(MemRegion mr) {
     1.8 -  assert((HeapWord*)align_size_down((uintptr_t)mr.start(), HeapWordSize) == mr.start() , "Unaligned start");
     1.9 -  assert((HeapWord*)align_size_up  ((uintptr_t)mr.end(),   HeapWordSize) == mr.end(),    "Unaligned end"  );
    1.10 -  if (kind() == CardTableModRef) {
    1.11 -    ((CardTableModRefBS*)this)->inline_write_ref_array(mr);
    1.12 -  } else {
    1.13 -    write_ref_array_work(mr);
    1.14 -  }
    1.15 -}
    1.16 -
    1.17  // count is number of array elements being written
    1.18  void BarrierSet::write_ref_array(HeapWord* start, size_t count) {
    1.19    assert(count <= (size_t)max_intx, "count too large");
    1.20 @@ -61,12 +51,12 @@
    1.21    // strictly necessary for current uses, but a case of good hygiene and,
    1.22    // if you will, aesthetics) and the second upward (this is essential for
    1.23    // current uses) to a HeapWord boundary, so we mark all cards overlapping
    1.24 -  // this write. In the event that this evolves in the future to calling a
    1.25 +  // this write. If this evolves in the future to calling a
    1.26    // logging barrier of narrow oop granularity, like the pre-barrier for G1
    1.27    // (mentioned here merely by way of example), we will need to change this
    1.28 -  // interface, much like the pre-barrier one above, so it is "exactly precise"
    1.29 -  // (if i may be allowed the adverbial redundancy for emphasis) and does not
    1.30 -  // include narrow oop slots not included in the original write interval.
    1.31 +  // interface, so it is "exactly precise" (if i may be allowed the adverbial
    1.32 +  // redundancy for emphasis) and does not include narrow oop slots not
    1.33 +  // included in the original write interval.
    1.34    HeapWord* aligned_start = (HeapWord*)align_size_down((uintptr_t)start, HeapWordSize);
    1.35    HeapWord* aligned_end   = (HeapWord*)align_size_up  ((uintptr_t)end,   HeapWordSize);
    1.36    // If compressed oops were not being used, these should already be aligned

mercurial