Index: src/compiler/raw-machine-assembler.h |
diff --git a/src/compiler/raw-machine-assembler.h b/src/compiler/raw-machine-assembler.h |
index b324828188fa54ce7e64a73e09d0f8198cafcc8d..4ad074471b02cd741fcdb2ba276e8b5457eb98bc 100644 |
--- a/src/compiler/raw-machine-assembler.h |
+++ b/src/compiler/raw-machine-assembler.h |
@@ -598,7 +598,12 @@ class RawMachineAssembler { |
// Tail call to a runtime function with two arguments. |
Node* TailCallRuntime2(Runtime::FunctionId function, Node* arg1, Node* arg2, |
Node* context); |
- |
+ // Tail call to a runtime function with three arguments. |
+ Node* TailCallRuntime3(Runtime::FunctionId function, Node* arg1, Node* arg2, |
+ Node* arg3, Node* context); |
+ // Tail call to a runtime function with four arguments. |
+ Node* TailCallRuntime4(Runtime::FunctionId function, Node* arg1, Node* arg2, |
+ Node* arg3, Node* arg4, Node* context); |
// =========================================================================== |
// The following utility methods deal with control flow, hence might switch |
@@ -618,24 +623,26 @@ class RawMachineAssembler { |
// Variables. |
Node* Phi(MachineRepresentation rep, Node* n1, Node* n2) { |
- return AddNode(common()->Phi(rep, 2), n1, n2); |
+ return AddNode(common()->Phi(rep, 2), n1, n2, graph()->start()); |
} |
Node* Phi(MachineRepresentation rep, Node* n1, Node* n2, Node* n3) { |
- return AddNode(common()->Phi(rep, 3), n1, n2, n3); |
+ return AddNode(common()->Phi(rep, 3), n1, n2, n3, graph()->start()); |
} |
Node* Phi(MachineRepresentation rep, Node* n1, Node* n2, Node* n3, Node* n4) { |
- return AddNode(common()->Phi(rep, 4), n1, n2, n3, n4); |
+ return AddNode(common()->Phi(rep, 4), n1, n2, n3, n4, graph()->start()); |
} |
+ Node* Phi(MachineRepresentation rep, int input_count, Node* const* inputs); |
+ void AppendPhiInput(Node* phi, Node* new_input); |
// =========================================================================== |
// The following generic node creation methods can be used for operators that |
// are not covered by the above utility methods. There should rarely be a need |
// to do that outside of testing though. |
- Node* AddNode(const Operator* op, int input_count, Node** inputs); |
+ Node* AddNode(const Operator* op, int input_count, Node* const* inputs); |
Node* AddNode(const Operator* op) { |
- return AddNode(op, 0, static_cast<Node**>(nullptr)); |
+ return AddNode(op, 0, static_cast<Node* const*>(nullptr)); |
} |
template <class... TArgs> |
@@ -645,7 +652,7 @@ class RawMachineAssembler { |
} |
private: |
- Node* MakeNode(const Operator* op, int input_count, Node** inputs); |
+ Node* MakeNode(const Operator* op, int input_count, Node* const* inputs); |
BasicBlock* Use(RawMachineLabel* label); |
BasicBlock* EnsureBlock(RawMachineLabel* label); |
BasicBlock* CurrentBlock(); |