src/cpu/zero/vm/cppInterpreter_zero.cpp

changeset 5065
e60b3fce2b02
parent 4727
0094485b46c7
child 5545
e16282db4946
equal deleted inserted replaced
5004:e01e02a9fcb6 5065:e60b3fce2b02
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)

mercurial