Mercurial > hg > truffle
diff src/share/vm/runtime/deoptimization.cpp @ 8328:6b6cbd8b8914
Support deoptimizing before the entry to a synchronized method.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Sun, 17 Mar 2013 21:20:39 +0100 |
parents | b8f261ba79c6 |
children | 9f9aaa65294e |
line wrap: on
line diff
--- a/src/share/vm/runtime/deoptimization.cpp Sun Mar 17 21:14:35 2013 +0100 +++ b/src/share/vm/runtime/deoptimization.cpp Sun Mar 17 21:20:39 2013 +0100 @@ -1316,6 +1316,10 @@ methodHandle trap_method = trap_scope->method(); int trap_bci = trap_scope->bci(); + if (trap_bci == SynchronizationEntryBCI) { + trap_bci = 0; + Thread::current()->set_pending_monitorenter(true); + } Bytecodes::Code trap_bc = trap_method->java_code_at(trap_bci); if (trap_scope->rethrow_exception()) {