Index: src/compiler/arm/code-generator-arm.cc |
diff --git a/src/compiler/arm/code-generator-arm.cc b/src/compiler/arm/code-generator-arm.cc |
index a5a6979a7fbda9a8f8aff96e0b5177f201379979..7c371b3920cfaec67a66d5ad0e94236cf997c820 100644 |
--- a/src/compiler/arm/code-generator-arm.cc |
+++ b/src/compiler/arm/code-generator-arm.cc |
@@ -470,6 +470,17 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction( |
InstructionCode opcode = instr->opcode(); |
ArchOpcode arch_opcode = ArchOpcodeField::decode(opcode); |
switch (arch_opcode) { |
+ case kArchCallWasmFunction: { |
+ DCHECK((instr->InputAt(0)->IsImmediate())); |
+ Constant callee_operand = i.ToConstant(instr->InputAt(0)); |
+ DCHECK(callee_operand.type() == Constant::Type::kInt32); |
+ __ Call(reinterpret_cast<Address>(callee_operand.ToInt32()), |
+ callee_operand.rmode()); |
+ RecordCallPosition(instr); |
+ DCHECK_EQ(LeaveCC, i.OutputSBit()); |
+ frame_access_state()->ClearSPDelta(); |
+ break; |
+ } |
case kArchCallCodeObject: { |
EnsureSpaceForLazyDeopt(); |
if (instr->InputAt(0)->IsImmediate()) { |