2009-10-24 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / exceptions-amd64.c
index 525ff9867045a5d2febeda428ddbd1eeed250126..126b0aaa7a95e94a8987127edcb5089b436643df 100644 (file)
@@ -548,7 +548,7 @@ mono_arch_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls, MonoJitInf
        if (prev_ji && (ip > prev_ji->code_start && ((guint8*)ip < ((guint8*)prev_ji->code_start) + prev_ji->code_size)))
                ji = prev_ji;
        else
-               ji = mono_jit_info_table_find (domain, ip);
+               ji = mini_jit_info_table_find (domain, ip, NULL);
 
        if (managed)
                *managed = FALSE;
@@ -641,7 +641,7 @@ mono_arch_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls, MonoJitInf
                        rip = *(guint64*)((*lmf)->rsp - sizeof (gpointer));
                }
 
-               ji = mono_jit_info_table_find (domain, (gpointer)rip);
+               ji = mini_jit_info_table_find (domain, (gpointer)rip, NULL);
                if (!ji) {
                        // FIXME: This can happen with multiple appdomains (bug #444383)
                        return (gpointer)-1;
@@ -696,13 +696,7 @@ mono_arch_handle_exception (void *sigctx, gpointer obj, gboolean test_only)
 static inline guint64*
 gregs_from_ucontext (ucontext_t *ctx)
 {
-#ifdef __FreeBSD__
-    guint64 *gregs = (guint64 *) &ctx->uc_mcontext;
-#else
-    guint64 *gregs = (guint64 *) &ctx->uc_mcontext.gregs;
-#endif
-
-       return gregs;
+       return (guint64 *) UCONTEXT_GREGS (ctx);
 }
 #endif
 void
@@ -856,7 +850,7 @@ mono_arch_handle_altstack_exception (void *sigctx, gpointer fault_addr, gboolean
        MonoException *exc = NULL;
        ucontext_t *ctx = (ucontext_t*)sigctx;
        guint64 *gregs = gregs_from_ucontext (ctx);
-       MonoJitInfo *ji = mono_jit_info_table_find (mono_domain_get (), (gpointer)gregs [REG_RIP]);
+       MonoJitInfo *ji = mini_jit_info_table_find (mono_domain_get (), (gpointer)gregs [REG_RIP], NULL);
        gpointer *sp;
        int frame_size;
 
@@ -1253,7 +1247,7 @@ MONO_GET_RUNTIME_FUNCTION_CALLBACK ( DWORD64 ControlPc, IN PVOID Context )
        PMonoUnwindInfo targetinfo;
        MonoDomain *domain = mono_domain_get ();
 
-       ji = mono_jit_info_table_find (domain, (char*)ControlPc);
+       ji = mini_jit_info_table_find (domain, (char*)ControlPc, NULL);
        if (!ji)
                return 0;