MonoInst *gsharedvt_info_var;
/* For native-to-managed wrappers, CEE_MONO_JIT_(AT|DE)TACH opcodes */
- MonoInst *attach_cookie;
- MonoInst *attach_dummy;
+ MonoInst *orig_domain_var;
MonoInst *lmf_var;
MonoInst *lmf_addr_var;
MonoLMF** mono_get_lmf_addr (void);
void mono_set_lmf (MonoLMF *lmf);
MonoJitTlsData* mono_get_jit_tls (void);
-MONO_API gpointer mono_jit_thread_attach (MonoDomain *domain, gpointer *dummy);
-MONO_API void mono_jit_thread_detach (gpointer cookie, gpointer *dummy);
+MONO_API MonoDomain* mono_jit_thread_attach (MonoDomain *domain);
+MONO_API void mono_jit_set_domain (MonoDomain *domain);
gint32 mono_get_jit_tls_offset (void);
gint32 mono_get_lmf_tls_offset (void);
gint32 mono_get_lmf_addr_tls_offset (void);
/* AOT */
void mono_aot_init (void);
void mono_aot_cleanup (void);
-gpointer mono_aot_get_method (MonoDomain *domain,
- MonoMethod *method);
gpointer mono_aot_get_method_checked (MonoDomain *domain,
MonoMethod *method, MonoError *error);
-gpointer mono_aot_get_method_from_token (MonoDomain *domain, MonoImage *image, guint32 token);
+gpointer mono_aot_get_method_from_token (MonoDomain *domain, MonoImage *image, guint32 token, MonoError *error);
gboolean mono_aot_is_got_entry (guint8 *code, guint8 *addr);
guint8* mono_aot_get_plt_entry (guint8 *code);
guint32 mono_aot_get_plt_info_offset (mgreg_t *regs, guint8 *code);
MonoJitInfo* mono_aot_find_jit_info (MonoDomain *domain, MonoImage *image, gpointer addr);
gpointer mono_aot_plt_resolve (gpointer aot_module, guint32 plt_info_offset, guint8 *code, MonoError *error);
void mono_aot_patch_plt_entry (guint8 *code, guint8 *plt_entry, gpointer *got, mgreg_t *regs, guint8 *addr);
-gpointer mono_aot_get_method_from_vt_slot (MonoDomain *domain, MonoVTable *vtable, int slot);
+gpointer mono_aot_get_method_from_vt_slot (MonoDomain *domain, MonoVTable *vtable, int slot, MonoError *error);
gpointer mono_aot_create_specific_trampoline (MonoImage *image, gpointer arg1, MonoTrampolineType tramp_type, MonoDomain *domain, guint32 *code_len);
gpointer mono_aot_get_trampoline (const char *name);
gpointer mono_aot_get_trampoline_full (const char *name, MonoTrampInfo **out_tinfo);
GList *mono_arch_get_iregs_clobbered_by_call (MonoCallInst *call);
GList *mono_arch_get_fregs_clobbered_by_call (MonoCallInst *call);
guint32 mono_arch_regalloc_cost (MonoCompile *cfg, MonoMethodVar *vmv);
-void mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors);
+void mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors, MonoError *error);
void mono_arch_patch_code_new (MonoCompile *cfg, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gpointer target);
void mono_arch_flush_icache (guint8 *code, gint size);
int mono_arch_max_epilog_size (MonoCompile *cfg);