projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[TSan] Tackle MonoPerfCounters (#5413)
[mono.git]
/
mono
/
mini
/
tramp-ppc.c
diff --git
a/mono/mini/tramp-ppc.c
b/mono/mini/tramp-ppc.c
index 32ab65ba8cda81118f2a16007cef51fda25a7b5a..faecb47d4de845102c506bef722fab3652b24cd2 100644
(file)
--- a/
mono/mini/tramp-ppc.c
+++ b/
mono/mini/tramp-ppc.c
@@
-1,5
+1,6
@@
-/*
- * tramp-ppc.c: JIT trampoline code for PowerPC
+/**
+ * \file
+ * JIT trampoline code for PowerPC
*
* Authors:
* Dietmar Maurer (dietmar@ximian.com)
*
* Authors:
* Dietmar Maurer (dietmar@ximian.com)
@@
-112,10
+113,10
@@
mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
/*
* mono_arch_get_static_rgctx_trampoline:
*
/*
* mono_arch_get_static_rgctx_trampoline:
*
- * Create a trampoline which sets RGCTX_REG to
MRGCTX
, then jumps to ADDR.
+ * Create a trampoline which sets RGCTX_REG to
ARG
, then jumps to ADDR.
*/
gpointer
*/
gpointer
-mono_arch_get_static_rgctx_trampoline (
MonoMethod *m, MonoMethodRuntimeGenericContext *mrgctx
, gpointer addr)
+mono_arch_get_static_rgctx_trampoline (
gpointer arg
, gpointer addr)
{
guint8 *code, *start, *p;
guint8 imm_buf [128];
{
guint8 *code, *start, *p;
guint8 imm_buf [128];
@@
-126,9
+127,9
@@
mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericCo
addr = mono_get_addr_from_ftnptr (addr);
addr = mono_get_addr_from_ftnptr (addr);
- /* Compute size of code needed to emit
mrgctx
*/
+ /* Compute size of code needed to emit
the arg
*/
p = imm_buf;
p = imm_buf;
- ppc_load_ptr (p, MONO_ARCH_RGCTX_REG,
mrgctx
);
+ ppc_load_ptr (p, MONO_ARCH_RGCTX_REG,
arg
);
imm_size = p - imm_buf;
mono_domain_lock (domain);
imm_size = p - imm_buf;
mono_domain_lock (domain);
@@
-140,12
+141,12
@@
mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericCo
mono_domain_unlock (domain);
if (short_branch) {
mono_domain_unlock (domain);
if (short_branch) {
- ppc_load_ptr (code, MONO_ARCH_RGCTX_REG,
mrgctx
);
+ ppc_load_ptr (code, MONO_ARCH_RGCTX_REG,
arg
);
ppc_emit32 (code, short_branch);
} else {
ppc_load_ptr (code, ppc_r0, addr);
ppc_mtctr (code, ppc_r0);
ppc_emit32 (code, short_branch);
} else {
ppc_load_ptr (code, ppc_r0, addr);
ppc_mtctr (code, ppc_r0);
- ppc_load_ptr (code, MONO_ARCH_RGCTX_REG,
mrgctx
);
+ ppc_load_ptr (code, MONO_ARCH_RGCTX_REG,
arg
);
ppc_bcctr (code, 20, 0);
}
mono_arch_flush_icache (start, code - start);
ppc_bcctr (code, 20, 0);
}
mono_arch_flush_icache (start, code - start);
@@
-632,3
+633,10
@@
mono_arch_get_plt_info_offset (guint8 *plt_entry, mgreg_t *regs, guint8 *code)
return ((guint32*)plt_entry) [6];
#endif
}
return ((guint32*)plt_entry) [6];
#endif
}
+
+gpointer
+mono_arch_get_enter_icall_trampoline (MonoTrampInfo **info)
+{
+ g_assert_not_reached ();
+ return NULL;
+}