210 interpreterState istate = frame->interpreter_state(); |
210 interpreterState istate = frame->interpreter_state(); |
211 intptr_t *locals = istate->locals(); |
211 intptr_t *locals = istate->locals(); |
212 |
212 |
213 // Update the invocation counter |
213 // Update the invocation counter |
214 if ((UseCompiler || CountCompiledCalls) && !method->is_synchronized()) { |
214 if ((UseCompiler || CountCompiledCalls) && !method->is_synchronized()) { |
215 InvocationCounter *counter = method->invocation_counter(); |
215 MethodCounters* mcs = method->method_counters(); |
|
216 if (mcs == NULL) { |
|
217 CALL_VM_NOCHECK(mcs = InterpreterRuntime::build_method_counters(thread, method)); |
|
218 if (HAS_PENDING_EXCEPTION) |
|
219 goto unwind_and_return; |
|
220 } |
|
221 InvocationCounter *counter = mcs->invocation_counter(); |
216 counter->increment(); |
222 counter->increment(); |
217 if (counter->reached_InvocationLimit()) { |
223 if (counter->reached_InvocationLimit()) { |
218 CALL_VM_NOCHECK( |
224 CALL_VM_NOCHECK( |
219 InterpreterRuntime::frequency_counter_overflow(thread, NULL)); |
225 InterpreterRuntime::frequency_counter_overflow(thread, NULL)); |
220 if (HAS_PENDING_EXCEPTION) |
226 if (HAS_PENDING_EXCEPTION) |