X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini-amd64.h;h=3907fc83bfc01855bcb80dae675292b7b5cda9a4;hb=3dd824a7c5306569fbbe08e0f3e54f36619822d6;hp=e9d334198ed5db1e3f8325e68b7e70ad8911ec51;hpb=0cf0bbc5e00ad0e3926b2c9b9550e8ea8d835c45;p=mono.git diff --git a/mono/mini/mini-amd64.h b/mono/mini/mini-amd64.h index e9d334198ed..3907fc83bfc 100644 --- a/mono/mini/mini-amd64.h +++ b/mono/mini/mini-amd64.h @@ -142,7 +142,7 @@ typedef struct MonoCompileArch { gint32 localloc_offset; gint32 reg_save_area_offset; gint32 stack_alloc_size; - gboolean omit_fp, omit_fp_computed; + gboolean omit_fp, omit_fp_computed, no_pushes; gpointer cinfo; gint32 async_point_count; gpointer vret_addr_loc; @@ -292,12 +292,10 @@ typedef struct { #define MONO_ARCH_EMULATE_FREM 1 #define MONO_ARCH_HAVE_IS_INT_OVERFLOW 1 -#define MONO_ARCH_ENABLE_EMIT_STATE_OPT 1 #define MONO_ARCH_ENABLE_REGALLOC_IN_EH_BLOCKS 1 #define MONO_ARCH_ENABLE_MONO_LMF_VAR 1 #define MONO_ARCH_HAVE_INVALIDATE_METHOD 1 #define MONO_ARCH_HAVE_THROW_CORLIB_EXCEPTION 1 -#define MONO_ARCH_HAVE_CREATE_TRAMPOLINE_FROM_TOKEN 1 #define MONO_ARCH_HAVE_CREATE_DELEGATE_TRAMPOLINE 1 #define MONO_ARCH_HAVE_ATOMIC_ADD 1 #define MONO_ARCH_HAVE_ATOMIC_EXCHANGE 1 @@ -313,7 +311,6 @@ typedef struct { * clobbered across method call boundaries. */ #define MONO_ARCH_RGCTX_REG AMD64_R10 -#define MONO_ARCH_COMMON_VTABLE_TRAMPOLINE 1 #define MONO_ARCH_HAVE_CMOV_OPS 1 #define MONO_ARCH_HAVE_NOTIFY_PENDING_EXC 1 #define MONO_ARCH_HAVE_EXCEPTIONS_INIT 1 @@ -325,6 +322,7 @@ typedef struct { #if !defined(PLATFORM_WIN32) && !defined(HAVE_MOVING_COLLECTOR) #define MONO_ARCH_MONITOR_OBJECT_REG AMD64_RDI #endif +#define MONO_ARCH_HAVE_STATIC_RGCTX_TRAMPOLINE 1 #define MONO_ARCH_AOT_SUPPORTED 1 @@ -334,6 +332,14 @@ typedef struct { #define MONO_ARCH_SUPPORT_TASKLETS 1 +#ifndef PLATFORM_WIN32 +#define MONO_AMD64_NO_PUSHES 1 +#endif + +#define MONO_ARCH_GSHARED_SUPPORTED 1 + +#define MONO_ARCH_USE_OP_TAIL_CALL(caller_sig, callee_sig) mono_metadata_signature_equal ((caller_sig), (callee_sig)) + /* Used for optimization, not complete */ #define MONO_ARCH_IS_OP_MEMBASE(opcode) ((opcode) == OP_X86_PUSH_MEMBASE)