-/*
- * mini-arm64.h
+/**
+ * \file
*
* Copyright 2013 Xamarin Inc
*
#define PARAM_REGS 8
#define FP_PARAM_REGS 8
-#define DYN_CALL_STACK_ARGS 6
-
typedef struct {
- /* The +1 is for r8 */
- mgreg_t regs [PARAM_REGS + 1 + DYN_CALL_STACK_ARGS];
mgreg_t res, res2;
guint8 *ret;
double fpregs [FP_PARAM_REGS];
- int n_fpargs, n_fpret;
+ int n_fpargs, n_fpret, n_stackargs;
guint8 buffer [256];
+ /* This should come last as the structure is dynamically extended */
+ /* The +1 is for r8 */
+ mgreg_t regs [PARAM_REGS + 1];
} DynCallArgs;
typedef struct {
#define MONO_ARCH_HAVE_EXCEPTIONS_INIT 1
#define MONO_ARCH_HAVE_GET_TRAMPOLINES 1
#define MONO_ARCH_DYN_CALL_SUPPORTED 1
-#define MONO_ARCH_DYN_CALL_PARAM_AREA (DYN_CALL_STACK_ARGS * 8)
+#define MONO_ARCH_DYN_CALL_PARAM_AREA 0
#define MONO_ARCH_SOFT_DEBUG_SUPPORTED 1
#define MONO_ARCH_GSHAREDVT_SUPPORTED 1
#define MONO_ARCH_HAVE_SETUP_RESUME_FROM_SIGNAL_HANDLER_CTX 1
#define MONO_ARCH_HAVE_SETUP_ASYNC_CALLBACK 1
#define MONO_ARCH_HAVE_GENERAL_RGCTX_LAZY_FETCH_TRAMPOLINE 1
-#ifndef MONO_CROSS_COMPILE
-#define MONO_ARCH_ENABLE_MONO_LMF_VAR 1
-#endif
#define MONO_ARCH_HAVE_OP_GET_EX_OBJ 1
#define MONO_ARCH_HAVE_OBJC_GET_SELECTOR 1
#define MONO_ARCH_HAVE_SDB_TRAMPOLINES 1
#define MONO_ARCH_HAVE_OP_GENERIC_CLASS_INIT 1
#define MONO_ARCH_HAVE_OPCODE_NEEDS_EMULATION 1
#define MONO_ARCH_HAVE_DECOMPOSE_LONG_OPTS 1
-#define MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD 1
-#define MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD_AOT 1
+#define MONO_ARCH_HAVE_INIT_LMF_EXT 1
#ifdef TARGET_IOS
void mono_arm_resume_unwind (gpointer arg, mgreg_t pc, mgreg_t *int_regs, gdouble *fp_regs, gboolean corlib, gboolean rethrow);
-gpointer mono_arm_handler_block_trampoline_helper (gpointer *ptr);
-
CallInfo* mono_arch_get_call_info (MonoMemPool *mp, MonoMethodSignature *sig);
#endif /* __MONO_MINI_ARM64_H__ */