From: Hyeongseok Oh Date: Tue, 31 Oct 2017 05:14:25 +0000 (+0900) Subject: [RyuJIT/ARM32] Fix double type PutArgStk check bug on LSRA init X-Git-Tag: accepted/tizen/base/20180629.140029~726^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7ecd1b299ac89ae079b0e37cc3ffae8344308206;p=platform%2Fupstream%2Fcoreclr.git [RyuJIT/ARM32] Fix double type PutArgStk check bug on LSRA init Fix to handle hardfp/softfp all --- diff --git a/src/jit/lsraarmarch.cpp b/src/jit/lsraarmarch.cpp index 1defa6f..08001fb 100644 --- a/src/jit/lsraarmarch.cpp +++ b/src/jit/lsraarmarch.cpp @@ -464,9 +464,9 @@ void LinearScan::TreeNodeInfoInitCall(GenTreeCall* call) if (!varTypeIsStruct(putArgChild) && !putArgChild->OperIs(GT_FIELD_LIST)) { #ifdef _TARGET_ARM_ - // The `double` types have been transformed to `long` on arm, while the actual longs + // The `double` types could been transformed to `long` on arm, while the actual longs // have been decomposed. - const bool isDouble = putArgChild->TypeGet() == TYP_LONG; + const bool isDouble = (putArgChild->TypeGet() == TYP_LONG || putArgChild->TypeGet() == TYP_DOUBLE); if (isDouble) { argNode->gtLsraInfo.srcCount = 2;