hotspot/src/share/vm/gc/g1/g1BlockOffsetTable.cpp
changeset 42588 d628ae4e12a2
parent 35469 17ea1b453dd5
child 46286 c112671e114e
equal deleted inserted replaced
42587:80c66fce4b3b 42588:d628ae4e12a2
   225   if (addr >= _space->top()) return _space->top();
   225   if (addr >= _space->top()) return _space->top();
   226   while (next_boundary < addr) {
   226   while (next_boundary < addr) {
   227     while (n <= next_boundary) {
   227     while (n <= next_boundary) {
   228       q = n;
   228       q = n;
   229       oop obj = oop(q);
   229       oop obj = oop(q);
   230       if (obj->klass_or_null() == NULL) return q;
   230       if (obj->klass_or_null_acquire() == NULL) return q;
   231       n += block_size(q);
   231       n += block_size(q);
   232     }
   232     }
   233     assert(q <= next_boundary && n > next_boundary, "Consequence of loop");
   233     assert(q <= next_boundary && n > next_boundary, "Consequence of loop");
   234     // [q, n) is the block that crosses the boundary.
   234     // [q, n) is the block that crosses the boundary.
   235     alloc_block_work(&next_boundary, &next_index, q, n);
   235     alloc_block_work(&next_boundary, &next_index, q, n);