From nobody Mon Sep 17 00:00:00 2001 From: Pavel Afremov Date: Wed, 6 Dec 2006 17:09:30 +0300 Subject: [PATCH] Fix enumeration safety state inconsistence in compile.cpp file. --- vm/vmcore/src/jit/compile.cpp | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) mode change 100644 => 100755 vm/vmcore/src/jit/compile.cpp 8ac5a745876aeca33036614e42003d873921d761 diff --git a/vm/vmcore/src/jit/compile.cpp b/vm/vmcore/src/jit/compile.cpp old mode 100644 new mode 100755 index d06a13b..71921b2 --- a/vm/vmcore/src/jit/compile.cpp +++ b/vm/vmcore/src/jit/compile.cpp @@ -798,7 +798,7 @@ #endif static jthrowable compile_make_exception(const char* name, Method* method) { // FIXME: prototype should be changed to getrid of managed objects . // Now it works in gc disabled mode because of prototype. - assert(!hythread_is_suspend_enabled()); + assert(hythread_is_suspend_enabled()); jthrowable old_exc = exn_get(); exn_clear(); @@ -870,8 +870,12 @@ NativeCodePtr compile_jit_a_method(Metho } else { exn_class = "java/lang/InternalError"; } + + // it's runtime helper - safety place to suspend enable + tmn_suspend_enable(); jthrowable exn = compile_make_exception(exn_class, method); exn_raise_object(exn); + tmn_suspend_disable(); } return NULL; } //compile_jit_a_method -- 1.3.3