equal
deleted
inserted
replaced
5066 assert(0 <= i && i < limit, "sanity"); |
5066 assert(0 <= i && i < limit, "sanity"); |
5067 assert(!rp->discovery_is_atomic(), "check this code"); |
5067 assert(!rp->discovery_is_atomic(), "check this code"); |
5068 |
5068 |
5069 // Select discovered lists [i, i+stride, i+2*stride,...,limit) |
5069 // Select discovered lists [i, i+stride, i+2*stride,...,limit) |
5070 for (int idx = i; idx < limit; idx += stride) { |
5070 for (int idx = i; idx < limit; idx += stride) { |
5071 DiscoveredList& ref_list = rp->discovered_soft_refs()[idx]; |
5071 DiscoveredList& ref_list = rp->discovered_refs()[idx]; |
5072 |
5072 |
5073 DiscoveredListIterator iter(ref_list, &keep_alive, &always_alive); |
5073 DiscoveredListIterator iter(ref_list, &keep_alive, &always_alive); |
5074 while (iter.has_next()) { |
5074 while (iter.has_next()) { |
5075 // Since discovery is not atomic for the CM ref processor, we |
5075 // Since discovery is not atomic for the CM ref processor, we |
5076 // can see some null referent objects. |
5076 // can see some null referent objects. |