X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini-arm.h;h=633c16f306b6a26a21702258d8a8733c9ac4bbd6;hb=1cfd52452a4af3fd6eee32f45a8067926af8479e;hp=694f6b87e0e2d3f43ed800123f3925add53b1b2c;hpb=cfeadc51e89f1af952323bb2779066d6813a54ec;p=mono.git diff --git a/mono/mini/mini-arm.h b/mono/mini/mini-arm.h index 694f6b87e0e..633c16f306b 100644 --- a/mono/mini/mini-arm.h +++ b/mono/mini/mini-arm.h @@ -1,4 +1,5 @@ -/* +/** + * \file * Copyright 2011 Xamarin Inc * Licensed under the MIT license. See LICENSE file in the project root for full license information. */ @@ -208,7 +209,7 @@ typedef struct { guint8 reg; ArgStorage storage; /* RegTypeStructByVal */ - gint32 struct_size; + gint32 struct_size, align; guint8 size : 4; /* 1, 2, 4, 8, or regs used by RegTypeStructByVal */ } ArgInfo; @@ -328,7 +329,7 @@ typedef struct MonoCompileArch { #define MONO_ARCH_DYN_CALL_SUPPORTED 1 #define MONO_ARCH_DYN_CALL_PARAM_AREA (DYN_CALL_STACK_ARGS * sizeof (mgreg_t)) -#ifndef MONO_CROSS_COMPILE +#if !(defined(TARGET_ANDROID) && defined(MONO_CROSS_COMPILE)) #define MONO_ARCH_SOFT_DEBUG_SUPPORTED 1 #endif @@ -339,7 +340,6 @@ 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 @@ -350,12 +350,9 @@ typedef struct MonoCompileArch { #define MONO_ARCH_HAVE_SDB_TRAMPOLINES 1 #define MONO_ARCH_HAVE_PATCH_CODE_NEW 1 #define MONO_ARCH_HAVE_OP_GENERIC_CLASS_INIT 1 -#define MONO_ARCH_HAVE_GET_TLS_TRAMP 1 - -#define MONO_ARCH_HAVE_TLS_GET (mono_arm_have_tls_get ()) -#define MONO_ARCH_HAVE_TLS_GET_REG 1 +#define MONO_ARCH_HAVE_INIT_LMF_EXT 1 -#ifdef TARGET_WATCHOS +#if defined(TARGET_WATCHOS) || (defined(__linux__) && !defined(TARGET_ANDROID)) #define MONO_ARCH_DISABLE_HW_TRAPS 1 #define MONO_ARCH_HAVE_UNWIND_BACKTRACE 1 #endif @@ -389,6 +386,12 @@ mono_arm_resume_unwind (guint32 dummy1, mgreg_t pc, mgreg_t sp, mgreg_t *int_reg gboolean mono_arm_thumb_supported (void); +gboolean +mono_arm_eabi_supported (void); + +int +mono_arm_i8_align (void); + GSList* mono_arm_get_exception_trampolines (gboolean aot); @@ -404,12 +407,13 @@ mono_arm_patchable_bl (guint8 *code, int cond); gboolean mono_arm_is_hard_float (void); -gboolean -mono_arm_have_tls_get (void); - void mono_arm_unaligned_stack (MonoMethod *method); +/* MonoJumpInfo **ji */ +guint8* +mono_arm_emit_aotconst (gpointer ji, guint8 *code, guint8 *buf, int dreg, int patch_type, gconstpointer data); + CallInfo* mono_arch_get_call_info (MonoMemPool *mp, MonoMethodSignature *sig);