summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndy Ayers <andya@microsoft.com>2017-11-01 15:29:16 -0700
committerGitHub <noreply@github.com>2017-11-01 15:29:16 -0700
commit2cf10d2a8963a7b9d7d0babc328a0bb51f517ed0 (patch)
treefc005d6e8489c3ec1e80aae3b07a9bc2e995a76b /src
parent0ea9d2e189ea1b4f069204d3f57645067ceb0d38 (diff)
downloadcoreclr-2cf10d2a8963a7b9d7d0babc328a0bb51f517ed0.tar.gz
coreclr-2cf10d2a8963a7b9d7d0babc328a0bb51f517ed0.tar.bz2
coreclr-2cf10d2a8963a7b9d7d0babc328a0bb51f517ed0.zip
JIT: fix overly aggressive box-unbox.any assert (#14799)
A recently added assert was trying to ensure that `compareTypesForEqualty` caught all the box-unbox.any cases we got before by direct handle comparison. But there are cases where identical handles cannot resolve equality comparisons, eg when the handles represent shared types like __Canon, and the assert was not screening for those. Seems simplest just to remove the assert, it was really only of value when coding up the new jit interface method. Closes #14780.
Diffstat (limited to 'src')
-rw-r--r--src/jit/importer.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/jit/importer.cpp b/src/jit/importer.cpp
index 734cc99d6b..b5df87b0ec 100644
--- a/src/jit/importer.cpp
+++ b/src/jit/importer.cpp
@@ -14874,7 +14874,7 @@ void Compiler::impImportBlockCode(BasicBlock* block)
impResolveToken(codeAddr + (sz + 1), &unboxResolvedToken, CORINFO_TOKENKIND_Class);
- // See if token types a equal.
+ // See if the resolved tokens describe types that are equal.
const TypeCompareState compare =
info.compCompHnd->compareTypesForEquality(unboxResolvedToken.hClass, resolvedToken.hClass);
@@ -14886,10 +14886,6 @@ void Compiler::impImportBlockCode(BasicBlock* block)
sz += sizeof(mdToken) + 1;
break;
}
- else
- {
- assert(unboxResolvedToken.hClass != resolvedToken.hClass);
- }
}
impImportAndPushBox(&resolvedToken);