Lines Matching refs:current

70 // Keeps track of the changes to the current node during reduction.
71 // Encapsulates the current state of the IR graph and the reducer state like
95 // the variable allocation point does not dominate the current point on the
167 // Encapsulates the current state of the escape analysis reducer to preserve
193 // Create or retrieve a virtual object for the current node.
221 // The inputs of the current node have to be accessed through the scope to
231 // Accessing the current node is fine for `FrameState nodes.
311 Node* current = stack_.top().node;
313 if (input_index < current->InputCount()) {
314 Node* input = current->InputAt(input_index);
334 reduce_(current, &reduction);
335 for (Edge edge : current->use_edges()) {
344 state_.Set(current, State::kVisited);
408 // execution path to the current effect phi. Relying on the invariant that
411 // current point. So for loop effect phis, we can keep nullptr for a variable
570 void ReduceNode(const Operator* op, EscapeAnalysisTracker::Scope* current,
574 NumberMatcher size(current->ValueInput(0));
578 if (const VirtualObject* vobject = current->InitVirtualObject(size_int)) {
581 current->Set(field, jsgraph->Dead());
587 current->SetVirtualObject(current->ValueInput(0));
590 Node* object = current->ValueInput(0);
591 Node* value = current->ValueInput(1);
592 const VirtualObject* vobject = current->GetVirtualObject(object);
596 current->Set(var, value);
597 current->MarkForDeletion();
599 current->SetEscaped(object);
600 current->SetEscaped(value);
605 Node* object = current->ValueInput(0);
606 Node* index = current->ValueInput(1);
607 Node* value = current->ValueInput(2);
608 const VirtualObject* vobject = current->GetVirtualObject(object);
614 current->Set(var, value);
615 current->MarkForDeletion();
617 current->SetEscaped(value);
618 current->SetEscaped(object);
623 Node* object = current->ValueInput(0);
624 const VirtualObject* vobject = current->GetVirtualObject(object);
629 current->Get(var).To(&value)) {
630 current->SetReplacement(value);
632 current->SetEscaped(object);
637 Node* object = current->ValueInput(0);
638 Node* index = current->ValueInput(1);
639 const VirtualObject* vobject = current->GetVirtualObject(object);
645 vobject->FieldAt(offset).To(&var) && current->Get(var).To(&value)) {
646 current->SetReplacement(value);
660 current->Get(var).To(&value) &&
666 current->SetReplacement(value);
670 current->Get(var0).To(&value0) &&
674 current->Get(var1).To(&value1) &&
692 current->SetReplacement(select);
693 current->SetEscaped(value0);
694 current->SetEscaped(value1);
703 current->SetEscaped(object);
707 current->SetVirtualObject(current->ValueInput(0));
711 Node* left = current->ValueInput(0);
712 Node* right = current->ValueInput(1);
713 const VirtualObject* left_object = current->GetVirtualObject(left);
714 const VirtualObject* right_object = current->GetVirtualObject(right);
734 current->SetReplacement(replacement);
737 current->SetEscaped(left);
738 current->SetEscaped(right);
743 Node* checked = current->ValueInput(0);
744 const VirtualObject* vobject = current->GetVirtualObject(checked);
749 current->Get(map_field).To(&map)) {
755 current->MarkForDeletion();
764 current->SetEscaped(checked);
768 Node* object = current->ValueInput(0);
769 const VirtualObject* vobject = current->GetVirtualObject(object);
774 current->Get(map_field).To(&object_map)) {
776 current->SetReplacement(LowerCompareMapsWithoutLoad(
785 current->SetEscaped(object);
789 Node* checked = current->ValueInput(0);
794 current->SetReplacement(checked);
797 current->SetEscaped(checked);
803 Node* object = current->ValueInput(0);
804 const VirtualObject* vobject = current->GetVirtualObject(object);
806 current->MarkForDeletion();
813 current->SetValueChanged();
818 FrameState frame_state{current->CurrentNode()};
826 current->SetEscaped(receiver);
828 current->SetEscaped(frame_state.function());
836 Node* input = current->ValueInput(i);
837 current->SetEscaped(input);
840 current->SetEscaped(current->ContextInput());
853 EscapeAnalysisTracker::Scope current(this, tracker_, node, reduction);
854 ReduceNode(op, &current, jsgraph());