Index: src/compiler/instruction-selector.cc |
diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc |
index 13e6827a20ebd6c75d7a3350ce767acbb6e8c70f..932b54e6e9c7c34bac57e04ffa3bca432065ad35 100644 |
--- a/src/compiler/instruction-selector.cc |
+++ b/src/compiler/instruction-selector.cc |
@@ -588,6 +588,11 @@ void InstructionSelector::InitializeCallBuffer(Node* call, CallBuffer* buffer, |
? g.UseImmediate(callee) |
: g.UseRegister(callee)); |
break; |
+ case CallDescriptor::kCallWasmFunction: { |
+ DCHECK(callee->opcode() == IrOpcode::kRelocatableInt32Constant); |
+ buffer->instruction_args.push_back(g.UseImmediate(callee)); |
+ break; |
+ } |
case CallDescriptor::kCallAddress: |
buffer->instruction_args.push_back( |
(call_address_immediate && |
@@ -1601,6 +1606,9 @@ void InstructionSelector::VisitCall(Node* node, BasicBlock* handler) { |
case CallDescriptor::kCallCodeObject: |
opcode = kArchCallCodeObject | MiscField::encode(flags); |
break; |
+ case CallDescriptor::kCallWasmFunction: |
+ opcode = kArchCallWasmFunction | MiscField::encode(flags); |
+ break; |
case CallDescriptor::kCallJSFunction: |
opcode = kArchCallJSFunction | MiscField::encode(flags); |
break; |