[wasm][liftoff][eh] Do not emit handler for tail calls
"FinishCall" is also unnecessary after a tail call, move it inside the condition too. R=clemensb@chromium.org Bug: chromium:1187484 Change-Id: I258dd736565546277deb33e52a4619d6aaa2fe25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759512 Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73409}
This commit is contained in:
parent
7d9fb83c91
commit
a88503ba07
@ -5365,12 +5365,13 @@ class LiftoffCompiler {
|
||||
}
|
||||
}
|
||||
|
||||
if (call_kind == kNoReturnCall) {
|
||||
DefineSafepoint();
|
||||
RegisterDebugSideTableEntry(decoder, DebugSideTableBuilder::kDidSpill);
|
||||
EmitLandingPad(decoder);
|
||||
|
||||
__ FinishCall(sig, call_descriptor);
|
||||
}
|
||||
}
|
||||
|
||||
void CallIndirect(FullDecoder* decoder, const Value& index_val,
|
||||
const CallIndirectImmediate<validate>& imm,
|
||||
@ -5536,12 +5537,13 @@ class LiftoffCompiler {
|
||||
__ CallIndirect(sig, call_descriptor, target);
|
||||
}
|
||||
|
||||
if (call_kind == kNoReturnCall) {
|
||||
DefineSafepoint();
|
||||
RegisterDebugSideTableEntry(decoder, DebugSideTableBuilder::kDidSpill);
|
||||
EmitLandingPad(decoder);
|
||||
|
||||
__ FinishCall(sig, call_descriptor);
|
||||
}
|
||||
}
|
||||
|
||||
void CallRef(FullDecoder* decoder, ValueType func_ref_type,
|
||||
const FunctionSig* type_sig, CallKind call_kind) {
|
||||
@ -5743,11 +5745,13 @@ class LiftoffCompiler {
|
||||
__ pc_offset(), SourcePosition(decoder->position()), true);
|
||||
__ CallIndirect(sig, call_descriptor, target_reg);
|
||||
}
|
||||
if (call_kind == kNoReturnCall) {
|
||||
DefineSafepoint();
|
||||
RegisterDebugSideTableEntry(decoder, DebugSideTableBuilder::kDidSpill);
|
||||
EmitLandingPad(decoder);
|
||||
__ FinishCall(sig, call_descriptor);
|
||||
}
|
||||
}
|
||||
|
||||
void LoadNullValue(Register null, LiftoffRegList pinned) {
|
||||
LOAD_INSTANCE_FIELD(null, IsolateRoot, kSystemPointerSize, pinned);
|
||||
|
Loading…
Reference in New Issue
Block a user