summaryrefslogtreecommitdiff
path: root/src/jit/flowgraph.cpp
diff options
context:
space:
mode:
authorBrian Sullivan <briansul@microsoft.com>2019-01-10 18:50:35 -0800
committerGitHub <noreply@github.com>2019-01-10 18:50:35 -0800
commitdf88b1f6f858a558306e0e012c16d9de9c62ec15 (patch)
tree2cb161b64731b031f0aa5354e9cddf6f36075d66 /src/jit/flowgraph.cpp
parent689035630bd8191da725cd3a9caf28c71142071f (diff)
parentb4cbfba170ccdf277a5080bf24460fde4c41bbf3 (diff)
downloadcoreclr-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.cpp4
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)