diff options
author | Sejong Oh <sejooh@microsoft.com> | 2016-05-06 14:25:40 -0700 |
---|---|---|
committer | Sejong Oh <sejooh@microsoft.com> | 2016-05-06 14:25:40 -0700 |
commit | 2308fbf2253abef97628bde2a04d8fb910ce1018 (patch) | |
tree | 180b147c9d997652e380621957951f3248eda78a /src/jit/compiler.h | |
parent | b3be35f379519120acd8427485524e92cf911918 (diff) | |
parent | 9b54e5ebee7838b3eb9c7cacbd9f66ac78dfb968 (diff) | |
download | coreclr-2308fbf2253abef97628bde2a04d8fb910ce1018.tar.gz coreclr-2308fbf2253abef97628bde2a04d8fb910ce1018.tar.bz2 coreclr-2308fbf2253abef97628bde2a04d8fb910ce1018.zip |
Merge pull request #4690 from sejongoh/use_rax_for_ret_buf
Return RetBuf address via RAX for Windows 64
Diffstat (limited to 'src/jit/compiler.h')
-rw-r--r-- | src/jit/compiler.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/jit/compiler.h b/src/jit/compiler.h index 6ae1b08a20..ea7ef101f2 100644 --- a/src/jit/compiler.h +++ b/src/jit/compiler.h @@ -7869,11 +7869,14 @@ public : // 2. As per the System V ABI, the address of RetBuf needs to be returned by // methods with hidden RetBufArg in RAX. In such case GT_RETURN is of TYP_BYREF, // returning the address of RetBuf. -#ifdef FEATURE_UNIX_AMD64_STRUCT_PASSING + // + // 3. Windows 64-bit native calling convention also requires the address of RetBuff + // to be returned in RAX. +#ifdef _TARGET_AMD64_ return (info.compRetBuffArg != BAD_VAR_NUM); -#else // FEATURE_UNIX_AMD64_STRUCT_PASSING +#else // !_TARGET_AMD64_ return (compIsProfilerHookNeeded()) && (info.compRetBuffArg != BAD_VAR_NUM); -#endif // !FEATURE_UNIX_AMD64_STRUCT_PASSING +#endif // !_TARGET_AMD64_ } // Returns true if the method returns a value in more than one return register |