diff options
author | Lubomir Litchev <lubol@microsoft.com> | 2015-11-10 13:19:15 -0800 |
---|---|---|
committer | Lubomir Litchev <lubol@microsoft.com> | 2015-11-11 22:26:46 -0800 |
commit | fb9a1e937254736b6e81908532ab50cbc249a466 (patch) | |
tree | aaef62983940126664b49fc84b73bd6163ca1130 /src/jit/lowerxarch.cpp | |
parent | 2f725f1c7c635bf093c1d9244c7f9c8775795c4b (diff) | |
download | coreclr-fb9a1e937254736b6e81908532ab50cbc249a466.tar.gz coreclr-fb9a1e937254736b6e81908532ab50cbc249a466.tar.bz2 coreclr-fb9a1e937254736b6e81908532ab50cbc249a466.zip |
Fix for issue 1995.
This changes containg a fix for Issue 1995.
When remorphing an argument that has been already completed (in case of
CSE rewriting for example, as in this case) the classification code was
not run properly and it is triggering an assertion. As the Issue 1995
states the assert failure is benign since the generated code is correct -
the change of registers used during completed argument classification is
not allowed and the code is not changing them.
This changes add the necessary code to properly classify and assign
registes for completed arguments remorphing, which complies with the expectations of the failing assert.
Diffstat (limited to 'src/jit/lowerxarch.cpp')
-rw-r--r-- | src/jit/lowerxarch.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/jit/lowerxarch.cpp b/src/jit/lowerxarch.cpp index c9df42e6a6..4c1dc1a957 100644 --- a/src/jit/lowerxarch.cpp +++ b/src/jit/lowerxarch.cpp @@ -932,7 +932,7 @@ void Lowering::TreeNodeInfoInit(GenTree* stmt) argNode = argNode->gtEffectiveVal(); } - // If the struct arg is wraped in CPYBLK the type of the param will beTYP_VOID. + // If the struct arg is wraped in CPYBLK the type of the param will be TYP_VOID. // Use the curArgTabEntry's isStruct to get whether the param is a struct. if (argNode->TypeGet() == TYP_STRUCT FEATURE_UNIX_AMD64_STRUCT_PASSING_ONLY(|| curArgTabEntry->isStruct)) |