File tree 1 file changed +4
-8
lines changed
1 file changed +4
-8
lines changed Original file line number Diff line number Diff line change @@ -7132,15 +7132,11 @@ GenTree* Compiler::fgMorphPotentialTailCall(GenTreeCall* call)
7132
7132
return nullptr;
7133
7133
}
7134
7134
7135
- // Heuristic: regular calls to noreturn methods can sometimes be
7136
- // merged, so if we have multiple such calls, we defer tail calling.
7137
- //
7138
- // TODO: re-examine this; now that we're merging before morph we
7139
- // don't need to worry about interfering with merges.
7140
- //
7141
- if (call->IsNoReturn() && (optNoReturnCallCount > 1))
7135
+ if (call->IsNoReturn() && !call->IsTailPrefixedCall())
7142
7136
{
7143
- failTailCall("Defer tail calling throw helper; anticipating merge");
7137
+ // Such tail calls always throw an exception and we won't be able to see current
7138
+ // Caller() in the stacktrace.
7139
+ failTailCall("Never returns");
7144
7140
return nullptr;
7145
7141
}
7146
7142
You can’t perform that action at this time.
0 commit comments