#include <mono/arch/alpha/alpha-codegen.h>
+#define MONO_ARCH_CPU_SPEC alpha_desc
+
/* Parameters used by the register allocator */
-#define MONO_ARCH_HAS_XP_LOCAL_REGALLOC
/* Max number of integer registers (all int regs). Required definition */
#define MONO_MAX_IREGS 31
guint64 eip; // RA ? or caller PC
guint64 rsp; // SP ? caller SP
guint64 rgp; // GP
+ guint64 r14;
+ guint64 r13;
+ guint64 r12;
};
#define MONO_ARCH_FRAME_ALIGNMENT 8
mono_arch_flush_register_windows (); \
MONO_CONTEXT_SET_IP ((ctx), (start_func)); \
MONO_CONTEXT_SET_BP ((ctx), __builtin_frame_address (0)); \
+ MONO_CONTEXT_SET_SP ((ctx), __builtin_frame_address (0)); \
} while (0)
#define MONO_ARCH_USE_SIGACTION 1
-/* Use prerefered create trampoline callback method */
-#define MONO_ARCH_HAVE_CREATE_SPECIFIC_TRAMPOLINE 1
-
//#define MONO_ARCH_INST_FIXED_REG(desc) ((desc == 'r') ? IA64_R8 : ((desc == 'g') ? 8 : -1))
//#define MONO_ARCH_INST_IS_FLOAT(desc) ((desc == 'f') || (desc == 'g'))
#define MONO_ARCH_INST_SREG2_MASK(ins) (0)
//#define MONO_ARCH_INST_FIXED_REG(desc) (-1)
#define MONO_ARCH_INST_FIXED_REG(desc) ((desc == 'o') ? alpha_at : ( (desc == 'a') ? alpha_r0 : -1) )
-#define MONO_ARCH_HAVE_CREATE_VARS 1
-
#if 0
/* r8..r11, r14..r29 */
#define MONO_ARCH_USE_SIGACTION 1
#ifdef HAVE_WORKING_SIGALTSTACK
-#define MONO_ARCH_SIGSEGV_ON_ALTSTACK
+/*#define MONO_ARCH_SIGSEGV_ON_ALTSTACK*/
#endif
unw_dyn_region_info_t* mono_ia64_create_unwind_region (Ia64CodegenState *code);
#define MONO_ARCH_HAVE_IS_INT_OVERFLOW 1
#define MONO_ARCH_HAVE_INVALIDATE_METHOD 1
-#define MONO_ARCH_HAVE_PIC_AOT 1
#define MONO_ARCH_HAVE_SAVE_UNWIND_INFO 1
#endif
-#define MONO_ARCH_ENABLE_EMIT_STATE_OPT 1
-
#define MONO_ARCH_NO_EMULATE_LONG_SHIFT_OPS 1
-#define MONO_ARCH_HAVE_THROW_CORLIB_EXCEPTION 1
-
#define MONO_ARCH_EMULATE_CONV_R8_UN 1
#define MONO_ARCH_EMULATE_LCONV_TO_R8_UN 1
-#define MONO_ARCH_EMULATE_LCONV_TO_R8 1
+//#define MONO_ARCH_EMULATE_LCONV_TO_R8 1
#define MONO_ARCH_EMULATE_FREM 1
#define MONO_ARCH_EMULATE_MUL_DIV 1
#define MONO_ARCH_EMULATE_LONG_MUL_OPTS 1
#define MONO_ARCH_NEED_DIV_CHECK 1
-#define MONO_ARCH_HAVE_CREATE_TRAMPOLINE_FROM_TOKEN 1
#define MONO_ARCH_HAVE_CREATE_DELEGATE_TRAMPOLINE 1
+typedef struct {
+ guint8 *address;
+ guint8 *saved_byte;
+} MonoBreakpointInfo;
+extern MonoBreakpointInfo mono_breakpoint_info[MONO_BREAKPOINT_ARRAY_SIZE];
#endif /* __MONO_MINI_ALPHA_H__ */