JIT: refine x86 gc reg kill set for CORINFO_HELP_INIT_PINVOKE_FRAME (#17421)
authorAndy Ayers <andya@microsoft.com>
Thu, 5 Apr 2018 00:54:27 +0000 (17:54 -0700)
committerGitHub <noreply@github.com>
Thu, 5 Apr 2018 00:54:27 +0000 (17:54 -0700)
This helper only kills EAX/ESI on x86, so make sure that is reflected in
the gc kill set.

Resolves #17404.

src/jit/codegencommon.cpp

index f5dd308..99902dc 100644 (file)
@@ -763,6 +763,11 @@ regMaskTP Compiler::compNoGCHelperCallKillSet(CorInfoHelpFunc helper)
             return RBM_CALLEE_GCTRASH_WRITEBARRIER;
 #endif
 
+#if defined(_TARGET_X86_)
+        case CORINFO_HELP_INIT_PINVOKE_FRAME:
+            return RBM_INIT_PINVOKE_FRAME_TRASH;
+#endif // defined(_TARGET_X86_)
+
         default:
             return RBM_CALLEE_TRASH_NOGC;
     }