1.1 --- a/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp Fri Sep 16 21:35:06 2011 -0700 1.2 +++ b/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp Mon Sep 19 15:21:03 2011 -0700 1.3 @@ -267,7 +267,8 @@ 1.4 bool use_length = x->length() != NULL; 1.5 bool obj_store = x->elt_type() == T_ARRAY || x->elt_type() == T_OBJECT; 1.6 bool needs_store_check = obj_store && (x->value()->as_Constant() == NULL || 1.7 - !get_jobject_constant(x->value())->is_null_object()); 1.8 + !get_jobject_constant(x->value())->is_null_object() || 1.9 + x->should_profile()); 1.10 1.11 LIRItem array(x->array(), this); 1.12 LIRItem index(x->index(), this); 1.13 @@ -321,7 +322,7 @@ 1.14 LIR_Opr tmp3 = new_register(objectType); 1.15 1.16 CodeEmitInfo* store_check_info = new CodeEmitInfo(range_check_info); 1.17 - __ store_check(value.result(), array.result(), tmp1, tmp2, tmp3, store_check_info); 1.18 + __ store_check(value.result(), array.result(), tmp1, tmp2, tmp3, store_check_info, x->profiled_method(), x->profiled_bci()); 1.19 } 1.20 1.21 if (obj_store) {