comparison src/cpu/zero/vm/cppInterpreter_zero.cpp @ 1078:8e7adf982378

6896043: first round of zero fixes Reviewed-by: kvn Contributed-by: Gary Benson <gbenson@redhat.com>
author twisti
date Fri, 27 Nov 2009 07:56:58 -0800
parents 354d3184f6b2
children b6f06e395428
comparison
equal deleted inserted replaced
1073:de44705e6b33 1078:8e7adf982378
200 200
201 // Check we're not about to run out of stack 201 // Check we're not about to run out of stack
202 if (stack_overflow_imminent(thread)) { 202 if (stack_overflow_imminent(thread)) {
203 CALL_VM_NOCHECK(InterpreterRuntime::throw_StackOverflowError(thread)); 203 CALL_VM_NOCHECK(InterpreterRuntime::throw_StackOverflowError(thread));
204 goto unwind_and_return; 204 goto unwind_and_return;
205 }
206
207 // Update the invocation counter
208 if ((UseCompiler || CountCompiledCalls) && !method->is_synchronized()) {
209 thread->set_do_not_unlock();
210 InvocationCounter *counter = method->invocation_counter();
211 counter->increment();
212 if (counter->reached_InvocationLimit()) {
213 CALL_VM_NOCHECK(
214 InterpreterRuntime::frequency_counter_overflow(thread, NULL));
215 if (HAS_PENDING_EXCEPTION)
216 goto unwind_and_return;
217 }
218 thread->clr_do_not_unlock();
205 } 219 }
206 220
207 // Lock if necessary 221 // Lock if necessary
208 BasicObjectLock *monitor; 222 BasicObjectLock *monitor;
209 monitor = NULL; 223 monitor = NULL;