Author: gshimansky
Date: Wed Nov 21 08:04:29 2007
New Revision: 597127
URL: http://svn.apache.org/viewvc?rev=597127&view=rev
Log:
Fixed bug with handling SOE in native unwindable code. It happens in places like
code that sets non-unwindable state for native code.
Modified:
harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp?rev=597127&r1=597126&r2=597127&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp Wed Nov 21 08:04:29
2007
@@ -564,9 +564,13 @@
DebugUtilsTI* ti = VM_Global_State::loader_env->TI;
VM_thread* vmthread = p_TLS_vmthread;
- if (java_code) {
+ if (java_code)
m2n_push_suspended_frame(vmthread, cur_m2nf, regs);
- }
+ else
+ // Gregory -
+ // Initialize cur_m2nf pointer in case we've crashed in native code that is unwindable,
+ // e.g. in the code that sets non-unwindable state for the native code area
+ cur_m2nf = m2n_get_last_frame();
BEGIN_RAISE_AREA;
|