Home | History | Annotate | Download | only in optimizing

Lines Matching refs:Node

42         buckets_(allocator->AllocArray<Node*>(num_buckets_, kArenaAllocGvn)),
55 buckets_(allocator->AllocArray<Node*>(num_buckets_, kArenaAllocGvn)),
93 buckets_[index] = new (allocator_) Node(instruction, hash_code, buckets_[index]);
103 for (Node* node = buckets_[index]; node != nullptr; node = node->GetNext()) {
104 if (node->GetHashCode() == hash_code) {
105 HInstruction* existing = node->GetInstruction();
119 for (Node* node = buckets_[index]; node != nullptr; node = node->GetNext()) {
120 if (node->GetInstruction() == instruction) {
129 DeleteAllImpureWhich([side_effects](Node* node) {
130 return node->GetInstruction()->GetSideEffects().MayDependOn(side_effects);
151 DeleteAllImpureWhich([predecessor](Node* node) {
152 return !predecessor->Contains(node->GetInstruction());
176 memcpy(buckets_, other.buckets_, num_buckets_ * sizeof(Node*));
181 memset(buckets_, 0, num_buckets_ * sizeof(Node*));
190 for (Node* node = other.buckets_[i]; node != nullptr; node = node->GetNext()) {
191 size_t new_index = BucketIndex(node->GetHashCode());
192 buckets_[new_index] = node->Dup(allocator_, buckets_[new_index]);
201 class Node : public ArenaObject<kArenaAllocGvn> {
203 Node(HInstruction* instruction, size_t hash_code, Node* next)
208 Node* GetNext() const { return next_; }
209 void SetNext(Node* node) { next_ = node; }
211 Node* Dup(ArenaAllocator* allocator, Node* new_next = nullptr) {
212 return new (allocator) Node(instruction_, hash_code_, new_next);
218 Node* next_;
220 DISALLOW_COPY_AND_ASSIGN(Node);
227 Node* CloneBucket(size_t index, Node* iterator = nullptr) {
229 Node* clone_current = nullptr;
230 Node* clone_previous = nullptr;
231 Node* clone_iterator = nullptr;
232 for (Node* node = buckets_[index]; node != nullptr; node = node->GetNext()) {
233 clone_current = node->Dup(allocator_, nullptr);
234 if (node == iterator) {
253 Node* node = buckets_[i];
254 Node* previous = nullptr;
256 if (node == nullptr) {
263 while (node != nullptr) {
264 if (cond(node)) {
266 // Clone the bucket, make sure 'previous' and 'node' point to
269 node = (previous == nullptr) ? buckets_[i] : previous->GetNext();
272 previous = node;
273 node = node->GetNext();
279 DCHECK(buckets_owned_.IsBitSet(i) || node == nullptr);
283 while (node != nullptr) {
284 Node* next = node->GetNext();
285 if (cond(node)) {
292 previous = node;
294 node = next;
333 Node** const buckets_;