X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini-arm.h;h=f22514b61ef3e58d2d6acbc1a1e4132e1ebc76c1;hb=e4b431e3a502b475a3451ba8762044c4f5fac2e4;hp=131d43300166f748532ccb0c60dd987131906671;hpb=b9afa882093e6c112faa386ab205f90a056866db;p=mono.git diff --git a/mono/mini/mini-arm.h b/mono/mini/mini-arm.h index 131d4330016..f22514b61ef 100644 --- a/mono/mini/mini-arm.h +++ b/mono/mini/mini-arm.h @@ -167,6 +167,23 @@ typedef struct { int map [MONO_ZERO_LEN_ARRAY]; } GSharedVtCallInfo; +/* Structure used by the sequence points in AOTed code */ +typedef struct { + gpointer ss_trigger_page; + gpointer bp_trigger_page; + guint8* bp_addrs [MONO_ZERO_LEN_ARRAY]; +} SeqPointInfo; + + +#define PARAM_REGS 4 +#define DYN_CALL_STACK_ARGS 6 + +typedef struct { + mgreg_t regs [PARAM_REGS + DYN_CALL_STACK_ARGS]; + mgreg_t res, res2; + guint8 *ret; +} DynCallArgs; + void arm_patch (guchar *code, const guchar *target); guint8* mono_arm_emit_load_imm (guint8 *code, int dreg, guint32 val); int mono_arm_is_rotated_imm8 (guint32 val, gint *rot_amount); @@ -239,25 +256,25 @@ typedef struct MonoCompileArch { #define MONO_ARCH_NEED_DIV_CHECK 1 #define MONO_ARCH_HAVE_CREATE_DELEGATE_TRAMPOLINE -#define MONO_ARCH_HAVE_XP_UNWIND 1 #define MONO_ARCH_HAVE_GENERALIZED_IMT_THUNK 1 #define ARM_NUM_REG_ARGS (ARM_LAST_ARG_REG-ARM_FIRST_ARG_REG+1) #define ARM_NUM_REG_FPARGS 0 #define MONO_ARCH_HAVE_FULL_AOT_TRAMPOLINES 1 -#define MONO_ARCH_HAVE_IMT 1 #define MONO_ARCH_HAVE_DECOMPOSE_LONG_OPTS 1 #define MONO_ARCH_AOT_SUPPORTED 1 #define MONO_ARCH_LLVM_SUPPORTED 1 -#define MONO_ARCH_THIS_AS_FIRST_ARG 1 #define MONO_ARCH_GSHARED_SUPPORTED 1 #define MONO_ARCH_DYN_CALL_SUPPORTED 1 #define MONO_ARCH_DYN_CALL_PARAM_AREA 24 +#ifndef MONO_CROSS_COMPILE #define MONO_ARCH_SOFT_DEBUG_SUPPORTED 1 +#endif + #define MONO_ARCH_HAVE_EXCEPTIONS_INIT 1 #define MONO_ARCH_HAVE_GET_TRAMPOLINES 1 #define MONO_ARCH_HAVE_CONTEXT_SET_INT_REG 1 @@ -265,6 +282,7 @@ typedef struct MonoCompileArch { #define MONO_ARCH_GC_MAPS_SUPPORTED 1 #define MONO_ARCH_HAVE_SETUP_ASYNC_CALLBACK 1 #define MONO_ARCH_HAVE_CONTEXT_SET_INT_REG 1 +#define MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD 1 #define MONO_ARCH_HAVE_SETUP_RESUME_FROM_SIGNAL_HANDLER_CTX 1 #define MONO_ARCH_GSHAREDVT_SUPPORTED 1 #define MONO_ARCH_HAVE_GENERAL_RGCTX_LAZY_FETCH_TRAMPOLINE 1 @@ -274,10 +292,6 @@ typedef struct MonoCompileArch { #define MONO_ARCH_HAVE_OP_TAIL_CALL 1 #endif #define MONO_ARCH_HAVE_DUMMY_INIT 1 -#define MONO_ARCH_HAVE_OPCODE_SUPPORTED 1 -#define MONO_ARCH_HAVE_ATOMIC_EXCHANGE 1 -#define MONO_ARCH_HAVE_ATOMIC_CAS 1 -#define MONO_ARCH_HAVE_ATOMIC_ADD 1 #if defined(__native_client__) #undef MONO_ARCH_SOFT_DEBUG_SUPPORTED