We should compare vm_native_stack_get_frame() with _current_ frame
not the caller's frame.

Signed-off-by: Tomek Grabiec <[email protected]>
---
 include/jit/exception.h |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/include/jit/exception.h b/include/jit/exception.h
index 68a1da1..3185cce 100644
--- a/include/jit/exception.h
+++ b/include/jit/exception.h
@@ -101,7 +101,8 @@ static inline struct vm_object *exception_occurred(void)
        if (!is_native((unsigned long)native_ptr)) {                    \
                frame = __builtin_frame_address(1);                     \
                                                                        \
-               if (vm_native_stack_get_frame() == frame)               \
+               if (vm_native_stack_get_frame() ==                      \
+                   __builtin_frame_address(0))                         \
                        vm_leave_vm_native();                           \
                                                                        \
                cu = jit_lookup_cu((unsigned long)native_ptr);          \
-- 
1.6.0.6


------------------------------------------------------------------------------
_______________________________________________
Jatovm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to