equal
deleted
inserted
replaced
212 |
212 |
213 CardTableBarrierSet* ct = barrier_set_cast<CardTableBarrierSet>(BarrierSet::barrier_set()); |
213 CardTableBarrierSet* ct = barrier_set_cast<CardTableBarrierSet>(BarrierSet::barrier_set()); |
214 assert(sizeof(*ct->card_table()->byte_map_base()) == sizeof(jbyte), "adjust this code"); |
214 assert(sizeof(*ct->card_table()->byte_map_base()) == sizeof(jbyte), "adjust this code"); |
215 |
215 |
216 // Does store cross heap regions? |
216 // Does store cross heap regions? |
217 if (G1RSBarrierRegionFilter) { |
217 __ xorr(tmp1, store_addr, new_val); |
218 __ xorr(tmp1, store_addr, new_val); |
218 __ srdi_(tmp1, tmp1, HeapRegion::LogOfHRGrainBytes); |
219 __ srdi_(tmp1, tmp1, HeapRegion::LogOfHRGrainBytes); |
219 __ beq(CCR0, filtered); |
220 __ beq(CCR0, filtered); |
|
221 } |
|
222 |
220 |
223 // Crosses regions, storing NULL? |
221 // Crosses regions, storing NULL? |
224 if (not_null) { |
222 if (not_null) { |
225 #ifdef ASSERT |
223 #ifdef ASSERT |
226 __ cmpdi(CCR0, new_val, 0); |
224 __ cmpdi(CCR0, new_val, 0); |