/*------------------------------------------------------------------*/
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;
/* */
/*------------------------------------------------------------------*/
-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);
/*------------------------------------------------------------------*/
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);
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);
((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;
if (ji != NULL) {
- char *source_location, *tmpaddr, *fname;
- gint32 address, iloffset;
+ gint32 address;
*new_ctx = *ctx;
address = (char *)ip - (char *)ji->code_start;
- if (native_offset)
- *native_offset = address;
-
if (managed)
if (!ji->method->wrapper_type)
*managed = TRUE;
- if (trace) {
- source_location = mono_debug_source_location_from_address (ji->method, address, NULL, domain);
- iloffset = mono_debug_il_offset_from_address (ji->method, address, domain);
-
- if (iloffset < 0)
- tmpaddr = g_strdup_printf ("<0x%08x>", address);
- else
- tmpaddr = g_strdup_printf ("[0x%08x]", iloffset);
-
- fname = mono_method_full_name (ji->method, TRUE);
-
- if (source_location)
- *trace = g_strdup_printf ("in %s (at %s) %s", tmpaddr, source_location, fname);
- else
- *trace = g_strdup_printf ("in %s %s", tmpaddr, fname);
-
- g_free (fname);
- g_free (source_location);
- g_free (tmpaddr);
- }
sframe = (MonoS390StackFrame *) MONO_CONTEXT_GET_SP (ctx);
MONO_CONTEXT_SET_BP (new_ctx, sframe->prev);
sframe = (MonoS390StackFrame *) sframe->prev;
if (!(*lmf)->method)
return (gpointer)-1;
- if (trace)
- *trace = g_strdup_printf ("in (unmanaged) %s", mono_method_full_name ((*lmf)->method, TRUE));
-
- 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;
}
/*------------------------------------------------------------------*/
/* */
-/* 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. */
/*------------------------------------------------------------------*/
gpointer
-mono_arch_get_restore_context ()
+mono_arch_get_restore_context (MonoTrampInfo **info, gboolean aot)
{
+ g_assert (!aot);
+ if (info)
+ *info = NULL;
+
return setcontext;
}