Mercurial > hg > truffle
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; |