8199604_cardtablemodrefbs_rename
180 if (val == noreg) {
181 __ store_heap_oop_null(Address(rdx, 0));
182 } else {
183 // G1 barrier needs uncompressed oop for region cross check.
184 Register new_val = val;
185 if (UseCompressedOops) {
186 new_val = rbx;
187 __ movptr(new_val, val);
188 }
189 __ store_heap_oop(Address(rdx, 0), val);
190 __ g1_write_barrier_post(rdx /* store_adr */,
191 new_val /* new_val */,
192 rthread /* thread */,
193 rtmp /* tmp */,
194 rbx /* tmp2 */);
195 }
196 NOT_LP64( __ restore_bcp());
197 }
198 break;
199 #endif // INCLUDE_ALL_GCS
200 case BarrierSet::CardTableModRef:
201 {
202 if (val == noreg) {
203 __ store_heap_oop_null(obj);
204 } else {
205 __ store_heap_oop(obj, val);
206 // flatten object address if needed
207 if (!precise || (obj.index() == noreg && obj.disp() == 0)) {
208 __ store_check(obj.base());
209 } else {
210 __ lea(rdx, obj);
211 __ store_check(rdx);
212 }
213 }
214 }
215 break;
216 case BarrierSet::ModRef:
217 if (val == noreg) {
218 __ store_heap_oop_null(obj);
219 } else {
|
180 if (val == noreg) {
181 __ store_heap_oop_null(Address(rdx, 0));
182 } else {
183 // G1 barrier needs uncompressed oop for region cross check.
184 Register new_val = val;
185 if (UseCompressedOops) {
186 new_val = rbx;
187 __ movptr(new_val, val);
188 }
189 __ store_heap_oop(Address(rdx, 0), val);
190 __ g1_write_barrier_post(rdx /* store_adr */,
191 new_val /* new_val */,
192 rthread /* thread */,
193 rtmp /* tmp */,
194 rbx /* tmp2 */);
195 }
196 NOT_LP64( __ restore_bcp());
197 }
198 break;
199 #endif // INCLUDE_ALL_GCS
200 case BarrierSet::CardTableBarrierSet:
201 {
202 if (val == noreg) {
203 __ store_heap_oop_null(obj);
204 } else {
205 __ store_heap_oop(obj, val);
206 // flatten object address if needed
207 if (!precise || (obj.index() == noreg && obj.disp() == 0)) {
208 __ store_check(obj.base());
209 } else {
210 __ lea(rdx, obj);
211 __ store_check(rdx);
212 }
213 }
214 }
215 break;
216 case BarrierSet::ModRef:
217 if (val == noreg) {
218 __ store_heap_oop_null(obj);
219 } else {
|