summaryrefslogtreecommitdiff
path: root/src/jit/codegenlinear.h
diff options
context:
space:
mode:
authorLubomir Litchev <LLITCHEV@users.noreply.github.com>2016-02-02 12:39:11 -0800
committerLubomir Litchev <LLITCHEV@users.noreply.github.com>2016-02-02 12:39:11 -0800
commit547217634759861abfb05086a0b495b8ae64bece (patch)
treedcb0cb07ade59bc87d20339e721fa63937135e7b /src/jit/codegenlinear.h
parente21ea0ad23f299e3f0a4b8584781fc9d6dab5315 (diff)
parentced8b62e9bee1ab3e3a5e6a519bdba3024245ca6 (diff)
downloadcoreclr-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.h28
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);