Merge branch 'master' of http://github.com/mono/mono
[mono.git] / mono / mini / exceptions-s390.c
index 1aad39a1b33a70247bf2eb456682d3e336cc4cb0..663c0e94c268751924011c5ccfa4469065df53d7 100644 (file)
@@ -105,13 +105,17 @@ mono_arch_has_unwind_info (gconstpointer addr)
 /*------------------------------------------------------------------*/
 
 gpointer
-mono_arch_get_call_filter (void)
+mono_arch_get_call_filter (MonoTrampInfo **info, gboolean aot)
 {
        static guint8 *start;
        static int inited = 0;
        guint8 *code;
        int alloc_size, pos, i;
 
+       g_assert (!aot);
+       if (info)
+               *info = NULL;
+
        if (inited)
                return start;
 
@@ -347,12 +351,16 @@ get_throw_exception_generic (guint8 *start, int size,
 /*                                                                  */
 /*------------------------------------------------------------------*/
 
-gpointer 
-mono_arch_get_throw_exception (void)
+gpointer
+mono_arch_get_throw_exception (MonoTrampInfo **info, gboolean aot)
 {
        static guint8 *start;
        static int inited = 0;
 
+       g_assert (!aot);
+       if (info)
+               *info = NULL;
+
        if (inited)
                return start;
        start = mono_global_codeman_reserve (SZ_THROW);
@@ -375,11 +383,15 @@ mono_arch_get_throw_exception (void)
 /*------------------------------------------------------------------*/
 
 gpointer 
-mono_arch_get_rethrow_exception (void)
+mono_arch_get_rethrow_exception (MonoTrampInfo **info, gboolean aot)
 {
        static guint8 *start;
        static int inited = 0;
 
+       g_assert (!aot);
+       if (info)
+               *info = NULL;
+
        if (inited)
                return start;
        start = mono_global_codeman_reserve (SZ_THROW);
@@ -436,8 +448,7 @@ mono_arch_get_throw_exception_by_name (void)
 MonoJitInfo *
 mono_arch_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls, 
                         MonoJitInfo *res, MonoJitInfo *prev_ji, MonoContext *ctx, 
-                        MonoContext *new_ctx, char **trace, MonoLMF **lmf, 
-                        int *native_offset, gboolean *managed)
+                        MonoContext *new_ctx, MonoLMF **lmf, gboolean *managed)
 {
        MonoJitInfo *ji;
        gpointer ip = MONO_CONTEXT_GET_IP (ctx);
@@ -448,13 +459,7 @@ mono_arch_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls,
            ((guint8 *) ip <= ((guint8 *) prev_ji->code_start) + prev_ji->code_size)))
                ji = prev_ji;
        else
-               ji = mono_jit_info_table_find (domain, ip);
-
-       if (trace)
-               *trace = NULL;
-
-       if (native_offset)
-               *native_offset = -1;
+               ji = mini_jit_info_table_find (domain, ip, NULL);
 
        if (managed)
                *managed = FALSE;
@@ -471,9 +476,6 @@ mono_arch_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls,
 
                address = (char *)ip - (char *)ji->code_start;
 
-               if (native_offset)
-                       *native_offset = address;
-
                if (managed)
                        if (!ji->method->wrapper_type)
                                *managed = TRUE;
@@ -491,9 +493,9 @@ mono_arch_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls,
                if (!(*lmf)->method)
                        return (gpointer)-1;
 
-               if ((ji = mono_jit_info_table_find (domain, (gpointer)(*lmf)->eip))) {
+               if ((ji = mini_jit_info_table_find (domain, (gpointer)(*lmf)->eip, NULL))) {
                } else {
-                       memset (res, 0, sizeof (MonoJitInfo));
+                       memset (res, 0, MONO_SIZEOF_JIT_INFO);
                        res->method = (*lmf)->method;
                }
 
@@ -554,7 +556,7 @@ mono_arch_ip_from_context (void *sigctx)
 
 /*------------------------------------------------------------------*/
 /*                                                                  */
-/* Name                - mono_arch_get_restore_context                     */
+/* Name                - mono_arch_get_restore_context                    */
 /*                                                                  */
 /* Function    - Return the address of the routine that will rest- */
 /*                ore the context.                                  */
@@ -562,8 +564,12 @@ mono_arch_ip_from_context (void *sigctx)
 /*------------------------------------------------------------------*/
 
 gpointer
-mono_arch_get_restore_context ()
+mono_arch_get_restore_context (MonoTrampInfo **info, gboolean aot)
 {
+       g_assert (!aot);
+       if (info)
+               *info = NULL;
+
        return setcontext;
 }