X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini-alpha.h;h=40d6e4cec80977eaf908c262c4e1616439e632b2;hb=d0b97d4bd5f42978987b4ae1d7cad18bedd3b393;hp=fa2e43270c1bf84b3a2c3a90e3a1262d7c1bade5;hpb=af90548a08ef5effc93b083b7eec44daa178b141;p=mono.git diff --git a/mono/mini/mini-alpha.h b/mono/mini/mini-alpha.h index fa2e43270c1..40d6e4cec80 100644 --- a/mono/mini/mini-alpha.h +++ b/mono/mini/mini-alpha.h @@ -5,8 +5,9 @@ #include +#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 @@ -64,6 +65,9 @@ struct MonoLMF 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 @@ -109,13 +113,11 @@ struct MonoLMF 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) @@ -127,8 +129,6 @@ struct MonoLMF //#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 */ @@ -272,7 +272,7 @@ mono_ia64_context_get_fp (MonoContext *ctx) #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); @@ -282,28 +282,27 @@ 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__ */