projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[runtime] Centralize the processing of MonoTrampInfo structures into the mono_tramp_i...
[mono.git]
/
mono
/
mini
/
tramp-ia64.c
diff --git
a/mono/mini/tramp-ia64.c
b/mono/mini/tramp-ia64.c
index 0a06af88bcf22c68195c2847d732eed9d37f32c2..c95d26f8fd66c33f49a18513df3daccacef6188c 100644
(file)
--- a/
mono/mini/tramp-ia64.c
+++ b/
mono/mini/tramp-ia64.c
@@
-24,7
+24,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
*
@@
-33,7
+32,7
@@
* 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 *buf;
gpointer func_addr, func_gp;
{
guint8 *buf;
gpointer func_addr, func_gp;
@@
-44,15
+43,10
@@
mono_arch_get_unbox_trampoline (MonoGenericSharingContext *gsctx, MonoMethod *m,
/* FIXME: Optimize this */
/* FIXME: Optimize this */
- if (MONO_TYPE_ISSTRUCT (mono_method_signature (m)->ret))
- this_reg = 1;
-
func_addr = ((gpointer*)addr) [0];
func_gp = ((gpointer*)addr) [1];
func_addr = ((gpointer*)addr) [0];
func_gp = ((gpointer*)addr) [1];
- mono_domain_lock (domain);
- buf = mono_code_manager_reserve (domain->code_mp, 256);
- mono_domain_unlock (domain);
+ buf = mono_domain_code_reserve (domain, 256);
/* Since the this reg is a stacked register, its a bit hard to access it */
ia64_codegen_init (code, buf);
/* Since the this reg is a stacked register, its a bit hard to access it */
ia64_codegen_init (code, buf);
@@
-124,13
+118,13
@@
mono_arch_patch_callsite (guint8 *method_start, guint8 *code, guint8 *addr)
}
void
}
void
-mono_arch_patch_plt_entry (guint8 *code, guint8 *addr)
+mono_arch_patch_plt_entry (guint8 *code, g
pointer *got, mgreg_t *regs, g
uint8 *addr)
{
g_assert_not_reached ();
}
void
{
g_assert_not_reached ();
}
void
-mono_arch_nullify_class_init_trampoline (guint8 *code,
gssize
*regs)
+mono_arch_nullify_class_init_trampoline (guint8 *code,
mgreg_t
*regs)
{
guint8 *callsite_begin;
guint64 *callsite = (guint64*)(gpointer)(code - 16);
{
guint8 *callsite_begin;
guint64 *callsite = (guint64*)(gpointer)(code - 16);
@@
-176,13
+170,13
@@
mono_arch_nullify_class_init_trampoline (guint8 *code, gssize *regs)
}
void
}
void
-mono_arch_nullify_plt_entry (guint8 *code)
+mono_arch_nullify_plt_entry (guint8 *code
, mgreg_t *regs
)
{
g_assert_not_reached ();
}
guchar*
{
g_assert_not_reached ();
}
guchar*
-mono_arch_create_
trampoline_code (MonoTrampolineType tramp_type
)
+mono_arch_create_
generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInfo **info, gboolean aot
)
{
guint8 *buf, *tramp;
int i, offset, saved_regs_offset, saved_fpregs_offset, last_offset, framesize;
{
guint8 *buf, *tramp;
int i, offset, saved_regs_offset, saved_fpregs_offset, last_offset, framesize;
@@
-192,6
+186,10
@@
mono_arch_create_trampoline_code (MonoTrampolineType tramp_type)
unw_dyn_info_t *di;
unw_dyn_region_info_t *r_pro;
unw_dyn_info_t *di;
unw_dyn_region_info_t *r_pro;
+ g_assert (!aot);
+ if (info)
+ *info = NULL;
+
/*
* Since jump trampolines are not patched, this trampoline is executed every
* time a call is made to a jump trampoline. So we try to keep things faster
/*
* Since jump trampolines are not patched, this trampoline is executed every
* time a call is made to a jump trampoline. So we try to keep things faster
@@
-376,9
+374,7
@@
mono_arch_create_specific_trampoline (gpointer arg1, MonoTrampolineType tramp_ty
tramp = mono_get_trampoline_code (tramp_type);
tramp = mono_get_trampoline_code (tramp_type);
- mono_domain_lock (domain);
- buf = mono_code_manager_reserve (domain->code_mp, TRAMPOLINE_SIZE);
- mono_domain_unlock (domain);
+ buf = mono_domain_code_reserve (domain, TRAMPOLINE_SIZE);
/* FIXME: Optimize this */
/* FIXME: Optimize this */
@@
-416,17
+412,9
@@
mono_arch_invalidate_method (MonoJitInfo *ji, void *func, gpointer func_arg)
}
gpointer
}
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 ();
return NULL;
}
{
/* FIXME: implement! */
g_assert_not_reached ();
return NULL;
}
-
-guint32
-mono_arch_get_rgctx_lazy_fetch_offset (gpointer *regs)
-{
- /* FIXME: implement! */
- g_assert_not_reached ();
- return 0;
-}