projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[runtime] Avoid crashing in mini_jit_info_table_find () if the current thread is...
[mono.git]
/
mono
/
mini
/
tramp-sparc.c
diff --git
a/mono/mini/tramp-sparc.c
b/mono/mini/tramp-sparc.c
index 0fae9ac9b6aa6f1fe04aaea8f8c4f487956b7c11..a1f5afd4576133a3587fef8681aff92673c94c6a 100644
(file)
--- a/
mono/mini/tramp-sparc.c
+++ b/
mono/mini/tramp-sparc.c
@@
-21,7
+21,6
@@
/*
* mono_arch_get_unbox_trampoline:
/*
* mono_arch_get_unbox_trampoline:
- * @gsctx: the generic sharing context
* @m: method pointer
* @addr: pointer to native code for @m
*
* @m: method pointer
* @addr: pointer to native code for @m
*
@@
-30,14
+29,11
@@
* unboxing before calling the method
*/
gpointer
* unboxing before calling the method
*/
gpointer
-mono_arch_get_unbox_trampoline (Mono
GenericSharingContext *gsctx, Mono
Method *m, gpointer addr)
+mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
{
guint8 *code, *start;
{
guint8 *code, *start;
- int
this_pos = 4,
reg;
+ int reg;
- if (MONO_TYPE_ISSTRUCT (mono_method_signature (m)->ret))
- this_pos = 8;
-
start = code = mono_global_codeman_reserve (36);
/* This executes in the context of the caller, hence o0 */
start = code = mono_global_codeman_reserve (36);
/* This executes in the context of the caller, hence o0 */
@@
-88,12
+84,16
@@
mono_arch_nullify_plt_entry (guint8 *code, mgreg_t *regs)
#define ALIGN_TO(val,align) (((val) + ((align) - 1)) & ~((align) - 1))
guchar*
#define ALIGN_TO(val,align) (((val) + ((align) - 1)) & ~((align) - 1))
guchar*
-mono_arch_create_
trampoline_code (MonoTrampolineType tramp_type
)
+mono_arch_create_
generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInfo **info, gboolean aot
)
{
guint8 *buf, *code, *tramp_addr;
guint32 lmf_offset, regs_offset, method_reg, i;
gboolean has_caller;
{
guint8 *buf, *code, *tramp_addr;
guint32 lmf_offset, regs_offset, method_reg, i;
gboolean has_caller;
+ g_assert (!aot);
+ if (info)
+ *info = NULL;
+
if (tramp_type == MONO_TRAMPOLINE_JUMP)
has_caller = FALSE;
else
if (tramp_type == MONO_TRAMPOLINE_JUMP)
has_caller = FALSE;
else
@@
-261,15
+261,13
@@
mono_arch_create_specific_trampoline (gpointer arg1, MonoTrampolineType tramp_ty
if (code_len)
*code_len = (code - buf) * 4;
if (code_len)
*code_len = (code - buf) * 4;
- mono_jit_stats.method_trampolines++;
-
mono_arch_flush_icache ((guint8*)buf, (code - buf) * 4);
return buf;
}
gpointer
mono_arch_flush_icache ((guint8*)buf, (code - buf) * 4);
return buf;
}
gpointer
-mono_arch_create_rgctx_lazy_fetch_trampoline (guint32
encoded_offse
t)
+mono_arch_create_rgctx_lazy_fetch_trampoline (guint32
slot, MonoTrampInfo **info, gboolean ao
t)
{
/* FIXME: implement! */
g_assert_not_reached ();
{
/* FIXME: implement! */
g_assert_not_reached ();