Avoid compiling libmonoruntime and libmono when --disable-boehm is used.
[mono.git] / mono / mini / mini-sparc.h
index e67048be62f43541818807ca7ab3b818002e9f32..b65457117f51878668390be7a0ef458f5436bfbe 100644 (file)
@@ -2,6 +2,7 @@
 #define __MONO_MINI_SPARC_H__
 
 #include <mono/arch/sparc/sparc-codegen.h>
+#include <mono/utils/mono-context.h>
 
 #include <glib.h>
 
@@ -73,26 +74,12 @@ struct MonoLMF {
        gpointer    ebp;
 };
 
-typedef struct MonoContext {
-       guint8 *ip;
-       gpointer *sp;
-       gpointer *fp;
-} MonoContext;
-
 typedef struct MonoCompileArch {
        gint32 lmf_offset;
        gint32 localloc_offset;
        void *float_spill_slot;
 } MonoCompileArch;
 
-#define MONO_CONTEXT_SET_IP(ctx,eip) do { (ctx)->ip = (gpointer)(eip); } while (0); 
-#define MONO_CONTEXT_SET_BP(ctx,ebp) do { (ctx)->fp = (gpointer*)(ebp); } while (0); 
-#define MONO_CONTEXT_SET_SP(ctx,esp) do { (ctx)->sp = (gpointer*)(esp); } while (0); 
-
-#define MONO_CONTEXT_GET_IP(ctx) ((gpointer)((ctx)->ip))
-#define MONO_CONTEXT_GET_BP(ctx) ((gpointer)((ctx)->fp))
-#define MONO_CONTEXT_GET_SP(ctx) ((gpointer)((ctx)->sp))
-
 #define MONO_INIT_CONTEXT_FROM_FUNC(ctx,start_func) do {       \
                mono_arch_flush_register_windows ();    \
                MONO_CONTEXT_SET_IP ((ctx), (start_func));      \
@@ -100,6 +87,8 @@ typedef struct MonoCompileArch {
                MONO_CONTEXT_SET_SP ((ctx), __builtin_frame_address (0));       \
        } while (0)
 
+#define MONO_ARCH_INIT_TOP_LMF_ENTRY(lmf) do { (lmf)->ebp = -1; } while (0)
+
 #define MONO_ARCH_USE_SIGACTION 1
 
 #ifdef HAVE_WORKING_SIGALTSTACK
@@ -113,7 +102,6 @@ typedef struct MonoCompileArch {
 #define MONO_ARCH_EMULATE_LCONV_TO_R8_UN 1
 #define MONO_ARCH_EMULATE_FREM 1
 #define MONO_ARCH_NEED_DIV_CHECK 1
-#define MONO_ARCH_HAVE_THROW_CORLIB_EXCEPTION 1
 #define MONO_ARCH_HAVE_IMT 1
 #define MONO_ARCH_IMT_REG sparc_g1
 #define MONO_ARCH_HAVE_DECOMPOSE_LONG_OPTS 1