Home | History | Annotate | Download | only in compiler

Lines Matching refs:Node

15 #include "src/compiler/node-matchers.h"
39 Reduction JSNativeContextSpecialization::Reduce(Node* node) {
40 switch (node->opcode()) {
42 return ReduceJSLoadNamed(node);
44 return ReduceJSStoreNamed(node);
46 return ReduceJSLoadProperty(node);
48 return ReduceJSStoreProperty(node);
57 Node* node, Node* value, MapHandleList const& receiver_maps,
59 Node* index) {
60 DCHECK(node->opcode() == IrOpcode::kJSLoadNamed ||
61 node->opcode() == IrOpcode::kJSStoreNamed ||
62 node->opcode() == IrOpcode::kJSLoadProperty ||
63 node->opcode() == IrOpcode::kJSStoreProperty);
64 Node* receiver = NodeProperties::GetValueInput(node, 0);
65 Node* frame_state = NodeProperties::GetFrameStateInput(node, 1);
66 Node* effect = NodeProperties::GetEffectInput(node);
67 Node* control = NodeProperties::GetControlInput(node);
72 // Retrieve the native context from the given {node}.
74 if (!GetNativeContext(node).ToHandle(&native_context)) return NoChange();
90 ZoneVector<Node*> values(zone());
91 ZoneVector<Node*> effects(zone());
92 ZoneVector<Node*> controls(zone());
96 Node* const exit_effect = effect;
97 ZoneVector<Node*> exit_controls(zone());
101 Node* check = graph()->NewNode(simplified()->ReferenceEqual(Type::Name()),
103 Node* branch =
110 Node* check = graph()->NewNode(simplified()->ObjectIsSmi(), receiver);
111 Node* branch = graph()->NewNode(common()->Branch(), check, control);
113 Node* receiverissmi_control = graph()->NewNode(common()->IfTrue(), branch);
114 Node* receiverissmi_effect = effect;
118 Node* receiver_map = effect =
123 Node* fallthrough_control = control;
125 Node* this_value = value;
126 Node* this_receiver = receiver;
127 Node* this_effect = effect;
128 Node* this_control;
134 Node* receiver_instance_type = this_effect = graph()->NewNode(
137 Node* check =
140 Node* branch =
146 ZoneVector<Node*> this_controls(zone());
147 ZoneVector<Node*> this_effects(zone());
151 Node* check =
154 Node* branch =
209 Node* check = graph()->NewNode(
211 Node* branch = graph()->NewNode(common()->Branch(BranchHint::kTrue),
225 Node* this_buffer = this_effect =
229 Node* this_buffer_bit_field = this_effect =
233 Node* check = graph()->NewNode(
239 Node* branch = graph()->NewNode(common()->Branch(BranchHint::kFalse),
250 Node* this_storage = this_receiver;
276 Node* check =
278 Node* branch = graph()->NewNode(common()->Branch(BranchHint::kTrue),
295 Node* this_box = this_effect = graph()->NewNode(
319 Node* check =
321 Node* branch = graph()->NewNode(common()->Branch(BranchHint::kTrue),
329 Node* check =
331 Node* branch = graph()->NewNode(common()->Branch(BranchHint::kFalse),
337 ZoneVector<Node*> this_controls(zone());
338 Node* this_value_map = this_effect = graph()->NewNode(
411 Node* exit_control =
416 Node* deoptimize =
441 ReplaceWithValue(node, value, effect, control);
446 Reduction JSNativeContextSpecialization::ReduceJSLoadNamed(Node* node) {
447 DCHECK_EQ(IrOpcode::kJSLoadNamed, node->opcode());
448 NamedAccess const& p = NamedAccessOf(node->op());
449 Node* const value = jsgraph()->Dead();
459 return ReduceNamedAccess(node, value, receiver_maps, p.name(),
464 Reduction JSNativeContextSpecialization::ReduceJSStoreNamed(Node* node) {
465 DCHECK_EQ(IrOpcode::kJSStoreNamed, node->opcode());
466 NamedAccess const& p = NamedAccessOf(node->op());
467 Node* const value = NodeProperties::GetValueInput(node, 1);
477 return ReduceNamedAccess(node, value, receiver_maps, p.name(),
483 Node* node, Node* index, Node* value, MapHandleList const& receiver_maps,
486 DCHECK(node->opcode() == IrOpcode::kJSLoadProperty ||
487 node->opcode() == IrOpcode::kJSStoreProperty);
488 Node* receiver = NodeProperties::GetValueInput(node, 0);
489 Node* context = NodeProperties::GetContextInput(node);
490 Node* frame_state = NodeProperties::GetFrameStateInput(node, 1);
491 Node* effect = NodeProperties::GetEffectInput(node);
492 Node* control = NodeProperties::GetControlInput(node);
500 // Retrieve the native context from the given {node}.
502 if (!GetNativeContext(node).ToHandle(&native_context)) return NoChange();
518 ZoneVector<Node*> values(zone());
519 ZoneVector<Node*> effects(zone());
520 ZoneVector<Node*> controls(zone());
524 Node* const exit_effect = effect;
525 ZoneVector<Node*> exit_controls(zone());
528 Node* check = graph()->NewNode(simplified()->ObjectIsSmi(), receiver);
529 Node* branch =
536 Node* receiver_map = effect =
541 Node* fallthrough_control = control;
543 Node* this_receiver = receiver;
544 Node* this_value = value;
545 Node* this_index = index;
546 Node* this_effect;
547 Node* this_control;
553 ZoneVector<Node*> this_controls(zone());
554 ZoneVector<Node*> this_effects(zone());
558 Node* check =
561 Node* branch =
575 Node* check = graph()->NewNode(
578 Node* branch =
582 Node* transition_control = graph()->NewNode(common()->IfTrue(), branch);
583 Node* transition_effect = effect;
599 CallDescriptor::kNeedsFrameState, node->op()->properties());
637 Node* check =
639 Node* branch = graph()->NewNode(common()->Branch(BranchHint::kTrue),
650 Node* this_index32 =
652 Node* check = graph()->NewNode(simplified()->NumberEqual(), this_index32,
654 Node* branch = graph()->NewNode(common()->Branch(BranchHint::kTrue),
666 Node* this_elements = this_effect = graph()->NewNode(
673 Node* this_elements_map = this_effect =
686 Node* this_length = this_effect =
697 Node* check = graph()->NewNode(simplified()->NumberLessThan(), this_index,
699 Node* branch = graph()->NewNode(common()->Branch(BranchHint::kTrue), check,
738 Node* check =
741 Node* branch = graph()->NewNode(common()->Branch(BranchHint::kFalse),
743 Node* if_true = graph()->NewNode(common()->IfTrue(), branch);
744 Node* if_false = graph()->NewNode(common()->IfFalse(), branch);
774 Node* check =
793 Node* branch = graph()->NewNode(common()->Branch(BranchHint::kFalse),
802 Node* check = graph()->NewNode(simplified()->ObjectIsSmi(), this_value);
803 Node* branch = graph()->NewNode(common()->Branch(BranchHint::kTrue),
810 Node* check =
812 Node* branch = graph()->NewNode(common()->Branch(BranchHint::kTrue),
843 Node* exit_control =
848 Node* deoptimize =
873 ReplaceWithValue(node, value, effect, control);
879 Node* node, Node* index, Node* value, FeedbackNexus const& nexus,
882 DCHECK(node->opcode() == IrOpcode::kJSLoadProperty ||
883 node->opcode() == IrOpcode::kJSStoreProperty);
905 return ReduceNamedAccess(node, value, receiver_maps, name, access_mode,
913 return ReduceNamedAccess(node, value, receiver_maps,
919 return ReduceElementAccess(node, index, value, receiver_maps, access_mode,
924 Reduction JSNativeContextSpecialization::ReduceJSLoadProperty(Node* node) {
925 DCHECK_EQ(IrOpcode::kJSLoadProperty, node->opcode());
926 PropertyAccess const& p = PropertyAccessOf(node->op());
927 Node* const index = NodeProperties::GetValueInput(node, 1);
928 Node* const value = jsgraph()->Dead();
935 return ReduceKeyedAccess(node, index, value, nexus, AccessMode::kLoad,
940 Reduction JSNativeContextSpecialization::ReduceJSStoreProperty(Node* node) {
941 DCHECK_EQ(IrOpcode::kJSStoreProperty, node->opcode());
942 PropertyAccess const& p = PropertyAccessOf(node->op());
943 Node* const index = NodeProperties::GetValueInput(node, 1);
944 Node* const value = NodeProperties::GetValueInput(node, 2);
954 return ReduceKeyedAccess(node, index, value, nexus, AccessMode::kStore,
977 void JSNativeContextSpecialization::MarkAsDeferred(Node* if_projection) {
978 Node* branch = NodeProperties::GetControlInput(if_projection);
990 Node* node) {
991 Node* const context = NodeProperties::GetContextInput(node);