src/share/vm/c1/c1_LIRGenerator.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8025566 Cdiff src/share/vm/c1/c1_LIRGenerator.cpp

src/share/vm/c1/c1_LIRGenerator.cpp

Print this page

        

*** 3051,3061 **** assert(level > CompLevel_simple, "Shouldn't be here"); int offset = -1; LIR_Opr counter_holder; if (level == CompLevel_limited_profile) { ! address counters_adr = method->ensure_method_counters(); counter_holder = new_pointer_register(); __ move(LIR_OprFact::intptrConst(counters_adr), counter_holder); offset = in_bytes(backedge ? MethodCounters::backedge_counter_offset() : MethodCounters::invocation_counter_offset()); } else if (level == CompLevel_full_profile) { --- 3051,3065 ---- assert(level > CompLevel_simple, "Shouldn't be here"); int offset = -1; LIR_Opr counter_holder; if (level == CompLevel_limited_profile) { ! MethodCounters* counters_adr = method->ensure_method_counters(); ! if (counters_adr == NULL) { ! bailout("method counters allocation failed"); ! return; ! } counter_holder = new_pointer_register(); __ move(LIR_OprFact::intptrConst(counters_adr), counter_holder); offset = in_bytes(backedge ? MethodCounters::backedge_counter_offset() : MethodCounters::invocation_counter_offset()); } else if (level == CompLevel_full_profile) {
src/share/vm/c1/c1_LIRGenerator.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File