--- a/hotspot/src/share/vm/c1/c1_LIR.cpp Fri Sep 16 21:35:06 2011 -0700
+++ b/hotspot/src/share/vm/c1/c1_LIR.cpp Mon Sep 19 15:21:03 2011 -0700
@@ -1394,8 +1394,15 @@
}
-void LIR_List::store_check(LIR_Opr object, LIR_Opr array, LIR_Opr tmp1, LIR_Opr tmp2, LIR_Opr tmp3, CodeEmitInfo* info_for_exception) {
- append(new LIR_OpTypeCheck(lir_store_check, object, array, tmp1, tmp2, tmp3, info_for_exception));
+void LIR_List::store_check(LIR_Opr object, LIR_Opr array, LIR_Opr tmp1, LIR_Opr tmp2, LIR_Opr tmp3,
+ CodeEmitInfo* info_for_exception, ciMethod* profiled_method, int profiled_bci) {
+ LIR_OpTypeCheck* c = new LIR_OpTypeCheck(lir_store_check, object, array, tmp1, tmp2, tmp3, info_for_exception);
+ if (profiled_method != NULL) {
+ c->set_profiled_method(profiled_method);
+ c->set_profiled_bci(profiled_bci);
+ c->set_should_profile(true);
+ }
+ append(c);
}