Mercurial > hg > graal-jvmci-8
comparison src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp @ 3957:5cceda753a4a
7091764: Tiered: enable aastore profiling
Summary: Turn on aastore profiling
Reviewed-by: jrose, twisti
author | iveresov |
---|---|
date | Mon, 19 Sep 2011 15:21:03 -0700 |
parents | e1162778c1c8 |
children | 6759698e3140 |
comparison
equal
deleted
inserted
replaced
3953:77e1a9153757 | 3957:5cceda753a4a |
---|---|
326 assert(x->is_pinned(),""); | 326 assert(x->is_pinned(),""); |
327 bool needs_range_check = true; | 327 bool needs_range_check = true; |
328 bool use_length = x->length() != NULL; | 328 bool use_length = x->length() != NULL; |
329 bool obj_store = x->elt_type() == T_ARRAY || x->elt_type() == T_OBJECT; | 329 bool obj_store = x->elt_type() == T_ARRAY || x->elt_type() == T_OBJECT; |
330 bool needs_store_check = obj_store && (x->value()->as_Constant() == NULL || | 330 bool needs_store_check = obj_store && (x->value()->as_Constant() == NULL || |
331 !get_jobject_constant(x->value())->is_null_object()); | 331 !get_jobject_constant(x->value())->is_null_object() || |
332 x->should_profile()); | |
332 | 333 |
333 LIRItem array(x->array(), this); | 334 LIRItem array(x->array(), this); |
334 LIRItem index(x->index(), this); | 335 LIRItem index(x->index(), this); |
335 LIRItem value(x->value(), this); | 336 LIRItem value(x->value(), this); |
336 LIRItem length(this); | 337 LIRItem length(this); |
380 LIR_Opr tmp1 = FrameMap::G1_opr; | 381 LIR_Opr tmp1 = FrameMap::G1_opr; |
381 LIR_Opr tmp2 = FrameMap::G3_opr; | 382 LIR_Opr tmp2 = FrameMap::G3_opr; |
382 LIR_Opr tmp3 = FrameMap::G5_opr; | 383 LIR_Opr tmp3 = FrameMap::G5_opr; |
383 | 384 |
384 CodeEmitInfo* store_check_info = new CodeEmitInfo(range_check_info); | 385 CodeEmitInfo* store_check_info = new CodeEmitInfo(range_check_info); |
385 __ store_check(value.result(), array.result(), tmp1, tmp2, tmp3, store_check_info); | 386 __ store_check(value.result(), array.result(), tmp1, tmp2, tmp3, store_check_info, x->profiled_method(), x->profiled_bci()); |
386 } | 387 } |
387 | 388 |
388 if (obj_store) { | 389 if (obj_store) { |
389 // Needs GC write barriers. | 390 // Needs GC write barriers. |
390 pre_barrier(LIR_OprFact::address(array_addr), LIR_OprFact::illegalOpr /* pre_val */, | 391 pre_barrier(LIR_OprFact::address(array_addr), LIR_OprFact::illegalOpr /* pre_val */, |