hotspot/src/share/vm/gc/g1/g1ConcurrentMark.cpp
changeset 46968 9119841280f4
parent 46810 7dad333205cd
child 46993 dd0f91c85ffc
equal deleted inserted replaced
46953:39063b484ec2 46968:9119841280f4
  1916   void operator()(G1TaskQueueEntry task_entry) const {
  1916   void operator()(G1TaskQueueEntry task_entry) const {
  1917     if (task_entry.is_array_slice()) {
  1917     if (task_entry.is_array_slice()) {
  1918       guarantee(_g1h->is_in_reserved(task_entry.slice()), "Slice " PTR_FORMAT " must be in heap.", p2i(task_entry.slice()));
  1918       guarantee(_g1h->is_in_reserved(task_entry.slice()), "Slice " PTR_FORMAT " must be in heap.", p2i(task_entry.slice()));
  1919       return;
  1919       return;
  1920     }
  1920     }
  1921     guarantee(task_entry.obj()->is_oop(),
  1921     guarantee(oopDesc::is_oop(task_entry.obj()),
  1922               "Non-oop " PTR_FORMAT ", phase: %s, info: %d",
  1922               "Non-oop " PTR_FORMAT ", phase: %s, info: %d",
  1923               p2i(task_entry.obj()), _phase, _info);
  1923               p2i(task_entry.obj()), _phase, _info);
  1924     guarantee(!_g1h->is_in_cset(task_entry.obj()),
  1924     guarantee(!_g1h->is_in_cset(task_entry.obj()),
  1925               "obj: " PTR_FORMAT " in CSet, phase: %s, info: %d",
  1925               "obj: " PTR_FORMAT " in CSet, phase: %s, info: %d",
  1926               p2i(task_entry.obj()), _phase, _info);
  1926               p2i(task_entry.obj()), _phase, _info);
  2311   for (size_t i = 0; i < G1CMMarkStack::EntriesPerChunk; ++i) {
  2311   for (size_t i = 0; i < G1CMMarkStack::EntriesPerChunk; ++i) {
  2312     G1TaskQueueEntry task_entry = buffer[i];
  2312     G1TaskQueueEntry task_entry = buffer[i];
  2313     if (task_entry.is_null()) {
  2313     if (task_entry.is_null()) {
  2314       break;
  2314       break;
  2315     }
  2315     }
  2316     assert(task_entry.is_array_slice() || task_entry.obj()->is_oop(), "Element " PTR_FORMAT " must be an array slice or oop", p2i(task_entry.obj()));
  2316     assert(task_entry.is_array_slice() || oopDesc::is_oop(task_entry.obj()), "Element " PTR_FORMAT " must be an array slice or oop", p2i(task_entry.obj()));
  2317     bool success = _task_queue->push(task_entry);
  2317     bool success = _task_queue->push(task_entry);
  2318     // We only call this when the local queue is empty or under a
  2318     // We only call this when the local queue is empty or under a
  2319     // given target limit. So, we do not expect this push to fail.
  2319     // given target limit. So, we do not expect this push to fail.
  2320     assert(success, "invariant");
  2320     assert(success, "invariant");
  2321   }
  2321   }