diff options
author | Pat Gavlin <pgavlin@gmail.com> | 2016-11-23 13:39:10 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-23 13:39:10 -0800 |
commit | 5e296921f4190686142b5219a3018849deb0ee0a (patch) | |
tree | 2353d4f663292d42825ad062a3ed1e0b99a2222f /src | |
parent | 36535348424c17d4616dbfdf6c8d007b94a78d19 (diff) | |
parent | 695fe080d88135a305784f2b9c8f7c2ab7fd13d2 (diff) | |
download | coreclr-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.cpp | 7 |
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: |