diff options
author | Andy Ayers <andya@microsoft.com> | 2017-11-01 15:29:16 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-01 15:29:16 -0700 |
commit | 2cf10d2a8963a7b9d7d0babc328a0bb51f517ed0 (patch) | |
tree | fc005d6e8489c3ec1e80aae3b07a9bc2e995a76b /src | |
parent | 0ea9d2e189ea1b4f069204d3f57645067ceb0d38 (diff) | |
download | coreclr-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.cpp | 6 |
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); |