Lines Matching refs:Node
57 // Get or create the node that represents the outer function closure.
58 Node* GetFunctionClosure();
61 Node* BuildLoadNativeContextField(int index);
71 // Node creation helpers
72 Node* NewNode(const Operator* op, bool incomplete = false) {
73 return MakeNode(op, 0, static_cast<Node**>(nullptr), incomplete);
76 Node* NewNode(const Operator* op, Node* n1) {
77 Node* buffer[] = {n1};
81 Node* NewNode(const Operator* op, Node* n1, Node* n2) {
82 Node* buffer[] = {n1, n2};
86 Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3) {
87 Node* buffer[] = {n1, n2, n3};
91 Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4) {
92 Node* buffer[] = {n1, n2, n3, n4};
96 Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4,
97 Node* n5, Node* n6) {
98 Node* buffer[] = {n1, n2, n3, n4, n5, n6};
103 Node* NewIfTrue() { return NewNode(common()->IfTrue()); }
104 Node* NewIfFalse() { return NewNode(common()->IfFalse()); }
105 Node* NewIfValue(int32_t value) { return NewNode(common()->IfValue(value)); }
106 Node* NewIfDefault() { return NewNode(common()->IfDefault()); }
107 Node* NewMerge() { return NewNode(common()->Merge(1), true); }
108 Node* NewLoop() { return NewNode(common()->Loop(1), true); }
109 Node* NewBranch(Node* condition, BranchHint hint = BranchHint::kNone,
113 Node* NewSwitch(Node* condition, int control_output_count) {
117 // Creates a new Phi node having {count} input values.
118 Node* NewPhi(int count, Node* input, Node* control);
119 Node* NewEffectPhi(int count, Node* input, Node* control);
122 Node* MergeControl(Node* control, Node* other);
123 Node* MergeEffect(Node* effect, Node* other_effect, Node* control);
124 Node* MergeValue(Node* value, Node* other_value, Node* control);
126 // The main node creation chokepoint. Adds context, frame state, effect,
128 Node* MakeNode(const Operator* op, int value_input_count,
129 Node* const* value_inputs, bool incomplete);
131 Node** EnsureInputBufferSize(int size);
133 Node* const* GetCallArgumentsFromRegisters(Node* callee, Node* receiver,
136 Node* const* ProcessCallVarArgs(ConvertReceiverMode receiver_mode,
137 Node* callee, interpreter::Register first_reg,
139 Node* ProcessCallArguments(const Operator* call_op, Node* const* args,
141 Node* ProcessCallArguments(const Operator* call_op, Node* callee,
143 Node* const* GetConstructArgumentsFromRegister(
144 Node* target, Node* new_target, interpreter::Register first_arg,
146 Node* ProcessConstructArguments(const Operator* op, Node* const* args,
148 Node* ProcessCallRuntimeArguments(const Operator* call_runtime_op,
158 // to the given node and the output value produced by the node is combined.
160 void PrepareFrameState(Node* node, OutputFrameStateCombine combine);
163 Node* BuildLoadGlobal(Handle<Name> name, uint32_t feedback_slot_index,
177 void BuildCall(ConvertReceiverMode receiver_mode, Node* const* args,
180 std::initializer_list<Node*> args, int slot_id) {
189 void BuildHoleCheckAndThrow(Node* condition, Runtime::FunctionId runtime_id,
190 Node* name = nullptr);
196 const Operator* op, Node* operand, FeedbackSlot slot);
198 const Operator* op, Node* left, Node* right, FeedbackSlot slot);
200 Node* receiver, Node* cache_array, Node* cache_type, Node* index,
203 Node* receiver, FeedbackSlot slot);
205 Node* input, FeedbackSlot slot);
207 Node* const* args,
211 const Operator* op, Node* const* args, int arg_count, FeedbackSlot slot);
213 const Operator* op, Node* receiver, FeedbackSlot slot);
215 const Operator* op, Node* receiver, Node* key, FeedbackSlot slot);
217 const Operator* op, Node* receiver, Node* value, FeedbackSlot slot);
219 const Operator* op, Node* receiver, Node* key, Node* value,
249 void BuildJumpIf(Node* condition);
250 void BuildJumpIfNot(Node* condition);
251 void BuildJumpIfEqual(Node* comperand);
252 void BuildJumpIfNotEqual(Node* comperand);
260 void BuildSwitchOnSmi(Node* condition);
271 void MergeControlToLeaveFunction(Node* exit);
412 // Temporary storage for building node input lists.
414 Node** input_buffer_;
422 SetOncePointer<Node> function_closure_;
425 ZoneVector<Node*> exit_controls_;