Home | History | Annotate | Download | only in compiler

Lines Matching refs:Node

27   // Handle to a conceptually new mutable node. Tries to re-use existing nodes
31 // Construct a new node as a clone of [from].
32 Constructor(NodeHashCache* cache, Node* from)
34 // Construct a new node from scratch.
36 Node** inputs, Type type);
38 // Modify the new node.
39 void ReplaceValueInput(Node* input, int i) {
41 Node* node = MutableNode();
42 NodeProperties::ReplaceValueInput(node, input, i);
44 void ReplaceInput(Node* input, int i) {
46 Node* node = MutableNode();
47 node->ReplaceInput(i, input);
50 // Obtain the mutated node or a cached copy. Invalidates the [Constructor].
51 Node* Get();
54 Node* MutableNode();
57 // Original node, copied on write.
58 Node* from_;
59 // Temporary node used for mutations, can be recycled if cache is hit.
60 Node* tmp_;
64 Node* Query(Node* node);
65 void Insert(Node* node) { cache_.insert(node); }
69 bool operator()(Node* a, Node* b) const {
74 size_t operator()(Node* n) const { return NodeProperties::HashCode(n); }
76 ZoneUnorderedSet<Node*, NodeHashCode, NodeEquals> cache_;
78 ZoneVector<Node*> temp_nodes_;
88 Reduction Reduce(Node* node) override;
97 void ReduceFrameStateInputs(Node* node);
98 Node* ReduceDeoptState(Node* node, Node* effect, Deduplicator* deduplicator);
99 Node* ObjectIdNode(const VirtualObject* vobject);
100 Reduction ReplaceNode(Node* original, Node* replacement);
109 ZoneVector<Node*> object_id_cache_;
111 ZoneSet<Node*> arguments_elements_;