From 300f41c2e6fc78e052e6ff1aa502ec9aa8dcad3c Mon Sep 17 00:00:00 2001 From: Sergey Andreenko Date: Wed, 11 Apr 2018 13:16:22 -0700 Subject: [PATCH] Fix Valuenum:EvalFuncForConstantArgs (#17506) --- src/jit/valuenum.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/jit/valuenum.cpp b/src/jit/valuenum.cpp index fcb38d3..15a970d 100644 --- a/src/jit/valuenum.cpp +++ b/src/jit/valuenum.cpp @@ -1098,6 +1098,11 @@ ValueNum ValueNumStore::VNForFunc(var_types typ, VNFunc func, ValueNum arg0VN, V { canFold = false; } + if (typ == TYP_BYREF) + { + // We don't want to fold expressions that produce TYP_BYREF + canFold = false; + } if (canFold) { @@ -1752,12 +1757,6 @@ ValueNum ValueNumStore::EvalFuncForConstantArgs(var_types typ, VNFunc func, Valu return EvalCastForConstantArgs(typ, func, arg0VN, arg1VN); } - if (typ == TYP_BYREF) - { - // We don't want to fold expressions that produce TYP_BYREF - return false; - } - var_types arg0VNtyp = TypeOfVN(arg0VN); var_types arg1VNtyp = TypeOfVN(arg1VN); -- 2.7.4