2002-04-30 Dietmar Maurer <dietmar@ximian.com>
authorDietmar Maurer <dietmar@mono-cvs.ximian.com>
Tue, 30 Apr 2002 02:09:11 +0000 (02:09 -0000)
committerDietmar Maurer <dietmar@mono-cvs.ximian.com>
Tue, 30 Apr 2002 02:09:11 +0000 (02:09 -0000)
* exception.c (arch_handle_exception): use ctx->SC_EBP in
end_of_stack check as suggested by Linus Upson <linus@linus.com>

svn path=/trunk/mono/; revision=4159

docs/exceptions
mono/jit/ChangeLog
mono/jit/exception.c

index 3bf2e6068124f4f7f89d55e36027f4183226ee46..05f1be03bbaee7d31e0183410fd5d3d79e151d1d 100644 (file)
@@ -16,7 +16,7 @@ unmanaged code. That way we can recover from exceptions inside unmanaged code.
 
 void handle_exception ((struct sigcontext *ctx, gpointer obj)
 {
-        if (ctx->ip < mono_end_of_stack) {
+        if (ctx->bp < mono_end_of_stack) {
                /* unhandled exception */
                abort ();
        }
index bf6ef460d51dd7118cab1891b30e8b3bfe4770e1..1ac095d9bcd182e6952175d305b253ad10547683 100644 (file)
@@ -1,3 +1,8 @@
+2002-04-30  Dietmar Maurer  <dietmar@ximian.com>
+
+       * exception.c (arch_handle_exception): use ctx->SC_EBP in
+       end_of_stack check as suggested by Linus Upson <linus@linus.com>
+
 2002-04-29  Dietmar Maurer  <dietmar@ximian.com>
 
        * x86.brg (LDLEN, UNBOX): removed unnecessary NULL check.  
index 634aa370a7729954d7d5fae08e3046fcec194858..771e07e9e9fb9fc6e195fc28ebd54a0faf76535d 100644 (file)
@@ -278,7 +278,7 @@ arch_handle_exception (struct sigcontext *ctx, gpointer obj)
                        g_free (tmp);
                }
 
-               if (ctx->SC_EIP < (unsigned)mono_end_of_stack)
+               if (ctx->SC_EBP < (unsigned)mono_end_of_stack)
                        arch_handle_exception (ctx, obj);
                else {
                        g_assert (cleanup);