src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp

changeset 1215
c96bf21b756f
parent 1162
6b2273dd6fa9
child 1730
3cf667df43ef
equal deleted inserted replaced
1214:d0e0d6d824d8 1215:c96bf21b756f
284 // compute index = number of words to clear 284 // compute index = number of words to clear
285 set(con_size_in_bytes - hdr_size_in_bytes, index); 285 set(con_size_in_bytes - hdr_size_in_bytes, index);
286 initialize_body(base, index); 286 initialize_body(base, index);
287 } 287 }
288 288
289 if (DTraceAllocProbes) { 289 if (CURRENT_ENV->dtrace_alloc_probes()) {
290 assert(obj == O0, "must be"); 290 assert(obj == O0, "must be");
291 call(CAST_FROM_FN_PTR(address, Runtime1::entry_for(Runtime1::dtrace_object_alloc_id)), 291 call(CAST_FROM_FN_PTR(address, Runtime1::entry_for(Runtime1::dtrace_object_alloc_id)),
292 relocInfo::runtime_call_type); 292 relocInfo::runtime_call_type);
293 delayed()->nop(); 293 delayed()->nop();
294 } 294 }
353 const Register index = t3; 353 const Register index = t3;
354 add(obj, hdr_size * wordSize, base); // compute address of first element 354 add(obj, hdr_size * wordSize, base); // compute address of first element
355 sub(arr_size, hdr_size * wordSize, index); // compute index = number of words to clear 355 sub(arr_size, hdr_size * wordSize, index); // compute index = number of words to clear
356 initialize_body(base, index); 356 initialize_body(base, index);
357 357
358 if (DTraceAllocProbes) { 358 if (CURRENT_ENV->dtrace_alloc_probes()) {
359 assert(obj == O0, "must be"); 359 assert(obj == O0, "must be");
360 call(CAST_FROM_FN_PTR(address, Runtime1::entry_for(Runtime1::dtrace_object_alloc_id)), 360 call(CAST_FROM_FN_PTR(address, Runtime1::entry_for(Runtime1::dtrace_object_alloc_id)),
361 relocInfo::runtime_call_type); 361 relocInfo::runtime_call_type);
362 delayed()->nop(); 362 delayed()->nop();
363 } 363 }

mercurial