Index: src/compiler/simplified-lowering.cc |
diff --git a/src/compiler/simplified-lowering.cc b/src/compiler/simplified-lowering.cc |
index 017a730eeaf21d5a0b47cacb00d3572573121e85..67a04388f7c779cae8c36acd8c86bb3679c8b4ea 100644 |
--- a/src/compiler/simplified-lowering.cc |
+++ b/src/compiler/simplified-lowering.cc |
@@ -1553,6 +1553,19 @@ class RepresentationSelector { |
} |
return; |
} |
+ case IrOpcode::kJSCallVarargs: { |
+ CallVarargsParameters p = CallVarargsParametersOf(node->op()); |
+ int arity = static_cast<int>(p.arity()); |
+ for (int i = 0; i < arity; ++i) { |
+ ProcessInput(node, i, UseInfo::AnyTagged()); |
+ } |
+ // argumentsList and argumentsLength |
+ ProcessInput(node, arity + 0, UseInfo::TaggedPointer()); |
+ ProcessInput(node, arity + 1, UseInfo::TruncatingWord32()); |
+ ProcessRemainingInputs(node, arity + 2); |
+ SetOutput(node, MachineRepresentation::kTagged); |
+ return; |
+ } |
//------------------------------------------------------------------ |
// Simplified operators. |
@@ -2898,6 +2911,14 @@ class RepresentationSelector { |
case IrOpcode::kJSToObject: |
case IrOpcode::kJSToString: |
case IrOpcode::kJSToPrimitiveToString: |
+ case IrOpcode::kJSConstruct: |
+ case IrOpcode::kJSConstructForwardVarargs: |
+ case IrOpcode::kJSConstructWithSpread: |
+ case IrOpcode::kJSCall: |
+ case IrOpcode::kJSCallForwardVarargs: |
+ case IrOpcode::kJSCallWithArrayLike: |
+ case IrOpcode::kJSCallWithSpread: |
+ case IrOpcode::kJSCallRuntime: |
VisitInputs(node); |
// Assume the output is tagged. |
return SetOutput(node, MachineRepresentation::kTagged); |