Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: runtime/vm/bit_vector.h

Issue 2186423002: Only reload libraries when they may have been modified. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fixed bug with prefixed imports Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_BIT_VECTOR_H_ 5 #ifndef VM_BIT_VECTOR_H_
6 #define VM_BIT_VECTOR_H_ 6 #define VM_BIT_VECTOR_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/isolate.h" 9 #include "vm/isolate.h"
10 #include "vm/zone.h" 10 #include "vm/zone.h"
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 77
78 // Remove all elements that are in the bitvector from. 78 // Remove all elements that are in the bitvector from.
79 bool RemoveAll(const BitVector* from); 79 bool RemoveAll(const BitVector* from);
80 80
81 // From the bitvector gen add those elements that are not in the 81 // From the bitvector gen add those elements that are not in the
82 // bitvector kill. 82 // bitvector kill.
83 bool KillAndAdd(BitVector* kill, BitVector* gen); 83 bool KillAndAdd(BitVector* kill, BitVector* gen);
84 84
85 void Intersect(const BitVector* other); 85 void Intersect(const BitVector* other);
86 86
87 bool IsEmpty() const;
88
87 bool Contains(intptr_t i) const { 89 bool Contains(intptr_t i) const {
88 ASSERT(i >= 0 && i < length()); 90 ASSERT(i >= 0 && i < length());
89 uword block = data_[i / kBitsPerWord]; 91 uword block = data_[i / kBitsPerWord];
90 return (block & (static_cast<uword>(1) << (i % kBitsPerWord))) != 0; 92 return (block & (static_cast<uword>(1) << (i % kBitsPerWord))) != 0;
91 } 93 }
92 94
93 void Clear() { 95 void Clear() {
94 for (intptr_t i = 0; i < data_length_; i++) { 96 for (intptr_t i = 0; i < data_length_; i++) {
95 data_[i] = 0; 97 data_[i] = 0;
96 } 98 }
(...skipping 13 matching lines...) Expand all
110 intptr_t length_; 112 intptr_t length_;
111 intptr_t data_length_; 113 intptr_t data_length_;
112 uword* data_; 114 uword* data_;
113 115
114 DISALLOW_COPY_AND_ASSIGN(BitVector); 116 DISALLOW_COPY_AND_ASSIGN(BitVector);
115 }; 117 };
116 118
117 } // namespace dart 119 } // namespace dart
118 120
119 #endif // VM_BIT_VECTOR_H_ 121 #endif // VM_BIT_VECTOR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698