diff options
author | Lubomir Litchev <LLITCHEV@users.noreply.github.com> | 2016-02-02 12:39:11 -0800 |
---|---|---|
committer | Lubomir Litchev <LLITCHEV@users.noreply.github.com> | 2016-02-02 12:39:11 -0800 |
commit | 547217634759861abfb05086a0b495b8ae64bece (patch) | |
tree | dcb0cb07ade59bc87d20339e721fa63937135e7b /src/jit/codegenlinear.h | |
parent | e21ea0ad23f299e3f0a4b8584781fc9d6dab5315 (diff) | |
parent | ced8b62e9bee1ab3e3a5e6a519bdba3024245ca6 (diff) | |
download | coreclr-547217634759861abfb05086a0b495b8ae64bece.tar.gz coreclr-547217634759861abfb05086a0b495b8ae64bece.tar.bz2 coreclr-547217634759861abfb05086a0b495b8ae64bece.zip |
Merge pull request #2860 from LLITCHEV/gc-stress
Fix for bugs related to clasifying System.TypedReference - issue #2854.
Diffstat (limited to 'src/jit/codegenlinear.h')
-rw-r--r-- | src/jit/codegenlinear.h | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/src/jit/codegenlinear.h b/src/jit/codegenlinear.h index dbd33b0971..851ee7ab6b 100644 --- a/src/jit/codegenlinear.h +++ b/src/jit/codegenlinear.h @@ -181,16 +181,26 @@ void genJmpMethod(GenTreePtr jmp); -#if defined(FEATURE_UNIX_AMD64_STRUCT_PASSING) - void genGetStructTypeSizeOffset(const SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR& structDesc, - var_types* type0, - var_types* type1, - emitAttr* size0, - emitAttr* size1, - unsigned __int8* offset0, - unsigned __int8* offset1); - bool genStoreRegisterReturnInLclVar(GenTreePtr treeNode); + + // Deals with codegen for muti-register struct returns. + bool isStructReturn(GenTreePtr treeNode); + void genStructReturn(GenTreePtr treeNode); + + // Codegen for GT_RETURN. + void genReturn(GenTreePtr treeNode); + +#if defined(FEATURE_UNIX_AMD64_STRUCT_PASSING) + void getStructTypeOffset(const SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR& structDesc, + var_types* type0, + var_types* type1, + unsigned __int8* offset0, + unsigned __int8* offset1); + + void getStructReturnRegisters(var_types type0, + var_types type1, + regNumber* retRegPtr0, + regNumber* retRegPtr1); #endif // defined(FEATURE_UNIX_AMD64_STRUCT_PASSING) void genLclHeap(GenTreePtr tree); |