diff options
author | Andy Ayers <andya@microsoft.com> | 2017-04-21 17:09:07 -0700 |
---|---|---|
committer | Andy Ayers <andya@microsoft.com> | 2017-04-21 17:17:28 -0700 |
commit | f0acfab2c5ecf7896b4f83bd8988fde0779dd849 (patch) | |
tree | d6f8e14a27d44d73285cad91b3097170ebd22b0a | |
parent | ba865396ef0ec788d36fa9d5fff58ea11bf0a395 (diff) | |
download | coreclr-f0acfab2c5ecf7896b4f83bd8988fde0779dd849.tar.gz coreclr-f0acfab2c5ecf7896b4f83bd8988fde0779dd849.tar.bz2 coreclr-f0acfab2c5ecf7896b4f83bd8988fde0779dd849.zip |
JIT: simple fix for the tail call stress assert
If class handles match, the return types are compatible, no matter
what the jit types indicate.
Addresses #10047.
-rw-r--r-- | src/jit/importer.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/jit/importer.cpp b/src/jit/importer.cpp index 2e3ca81268..c954ad527e 100644 --- a/src/jit/importer.cpp +++ b/src/jit/importer.cpp @@ -6216,6 +6216,12 @@ bool Compiler::impTailCallRetTypeCompatible(var_types callerRetType, return true; } + // If the class handles are the same and not null, the return types are compatible. + if ((callerRetTypeClass != nullptr) && (callerRetTypeClass == calleeRetTypeClass)) + { + return true; + } + #if defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_) // Jit64 compat: if (callerRetType == TYP_VOID) |