Commit 2b2f3a42 authored by Thibaud Michaud's avatar Thibaud Michaud Committed by Commit Bot

[liftoff][mv] Remove bailout for call_indirect

The recent changes to support multi-value calls should also apply to
indirect calls, so this bailout can be removed.

R=ahaas@chromium.org

Bug: v8:10408
Change-Id: Ia1b2e49caa6f308a4d2f30712a132c7e072df9f9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2196350Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67759}
parent 81534e76
......@@ -2183,16 +2183,13 @@ class LiftoffCompiler {
void CallIndirect(FullDecoder* decoder, const Value& index_val,
const CallIndirectImmediate<validate>& imm,
const Value args[], Value returns[]) {
if (imm.sig->return_count() > 1) {
return unsupported(decoder, kMultiValue, "multi-return");
}
if (imm.table_index != 0) {
return unsupported(decoder, kAnyRef, "table index != 0");
}
if (imm.sig->return_count() == 1 &&
!CheckSupportedType(decoder, kSupportedTypes, imm.sig->GetReturn(0),
"return")) {
return;
for (ValueType ret : imm.sig->returns()) {
if (!CheckSupportedType(decoder, kSupportedTypes, ret, "return")) {
return;
}
}
// Place the source position before any stack manipulation, since this will
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment