From 55dc1b814f87ebb2a1d2663d12e321e3094bff88 Mon Sep 17 00:00:00 2001 From: Jonathan Chambers Date: Thu, 30 Aug 2012 21:39:49 -0400 Subject: [PATCH] Implement ARCH_STORE_REGS for msvc. --- mono/metadata/sgen-archdep.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/mono/metadata/sgen-archdep.h b/mono/metadata/sgen-archdep.h index 616b5831ad4..5da555bf5b4 100644 --- a/mono/metadata/sgen-archdep.h +++ b/mono/metadata/sgen-archdep.h @@ -39,6 +39,18 @@ #ifdef MONO_ARCH_HAS_MONO_CONTEXT #define USE_MONO_CTX #else +#ifdef _MSC_VER +#define ARCH_STORE_REGS(ptr) __asm { \ + __asm mov [ptr], edi \ + __asm mov [ptr+4], esi \ + __asm mov [ptr+8], ebx \ + __asm mov [ptr+12], edx \ + __asm mov [ptr+16], ecx \ + __asm mov [ptr+20], eax \ + __asm mov [ptr+24], ebp \ + __asm mov [ptr+28], esp \ + } +#else #define ARCH_STORE_REGS(ptr) \ __asm__ __volatile__( \ "mov %%edi,0(%0)\n" \ @@ -53,6 +65,7 @@ : "r" (ptr) \ ) #endif +#endif /*FIXME, move this to mono-sigcontext as this is generaly useful.*/ #define ARCH_SIGCTX_SP(ctx) (UCONTEXT_REG_ESP ((ctx))) -- 2.25.1