summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPat Gavlin <pgavlin@gmail.com>2016-11-23 13:39:10 -0800
committerGitHub <noreply@github.com>2016-11-23 13:39:10 -0800
commit5e296921f4190686142b5219a3018849deb0ee0a (patch)
tree2353d4f663292d42825ad062a3ed1e0b99a2222f /src
parent36535348424c17d4616dbfdf6c8d007b94a78d19 (diff)
parent695fe080d88135a305784f2b9c8f7c2ab7fd13d2 (diff)
downloadcoreclr-5e296921f4190686142b5219a3018849deb0ee0a.tar.gz
coreclr-5e296921f4190686142b5219a3018849deb0ee0a.tar.bz2
coreclr-5e296921f4190686142b5219a3018849deb0ee0a.zip
Merge pull request #8259 from pgavlin/ByrefGcrefKillSet
Fix the byref/gcref kill set for ASSIGN_BYREF.
Diffstat (limited to 'src')
-rw-r--r--src/jit/codegencommon.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/jit/codegencommon.cpp b/src/jit/codegencommon.cpp
index 8589728890..542b19169c 100644
--- a/src/jit/codegencommon.cpp
+++ b/src/jit/codegencommon.cpp
@@ -710,10 +710,15 @@ regMaskTP Compiler::compNoGCHelperCallKillSet(CorInfoHelpFunc helper)
return RBM_PROFILER_TAILCALL_TRASH;
#endif // defined(_TARGET_AMD64_) || defined(_TARGET_X86_)
-#if defined(_TARGET_AMD64_)
case CORINFO_HELP_ASSIGN_BYREF:
+#if defined(_TARGET_AMD64_)
// this helper doesn't trash RSI and RDI
return RBM_CALLEE_TRASH_NOGC & ~(RBM_RSI | RBM_RDI);
+#elif defined(_TARGET_X86_)
+ // This helper only trashes ECX.
+ return RBM_ECX;
+#else
+ return RBM_CALLEE_TRASH_NOGC;
#endif // defined(_TARGET_AMD64_)
default: