diff options
author | Brian Sullivan <briansul@microsoft.com> | 2019-01-10 18:50:35 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-10 18:50:35 -0800 |
commit | df88b1f6f858a558306e0e012c16d9de9c62ec15 (patch) | |
tree | 2cb161b64731b031f0aa5354e9cddf6f36075d66 /src/jit/flowgraph.cpp | |
parent | 689035630bd8191da725cd3a9caf28c71142071f (diff) | |
parent | b4cbfba170ccdf277a5080bf24460fde4c41bbf3 (diff) | |
download | coreclr-df88b1f6f858a558306e0e012c16d9de9c62ec15.tar.gz coreclr-df88b1f6f858a558306e0e012c16d9de9c62ec15.tar.bz2 coreclr-df88b1f6f858a558306e0e012c16d9de9c62ec15.zip |
Merge pull request #21804 from briansull/fix-unbox-opt
Fix issue with devirtualization and tailcalls
Diffstat (limited to 'src/jit/flowgraph.cpp')
-rw-r--r-- | src/jit/flowgraph.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/jit/flowgraph.cpp b/src/jit/flowgraph.cpp index eedb1aa58f..86f18ca404 100644 --- a/src/jit/flowgraph.cpp +++ b/src/jit/flowgraph.cpp @@ -22552,7 +22552,9 @@ Compiler::fgWalkResult Compiler::fgLateDevirtualization(GenTree** pTree, fgWalkD unsigned methodFlags = 0; CORINFO_CONTEXT_HANDLE context = nullptr; const bool isLateDevirtualization = true; - comp->impDevirtualizeCall(call, &method, &methodFlags, &context, nullptr, isLateDevirtualization); + bool explicitTailCall = (call->gtCall.gtCallMoreFlags & GTF_CALL_M_EXPLICIT_TAILCALL) != 0; + comp->impDevirtualizeCall(call, &method, &methodFlags, &context, nullptr, isLateDevirtualization, + explicitTailCall); } } else if (tree->OperGet() == GT_ASG) |