OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_HYDROGEN_UNIQUE_H_ | 5 #ifndef V8_HYDROGEN_UNIQUE_H_ |
6 #define V8_HYDROGEN_UNIQUE_H_ | 6 #define V8_HYDROGEN_UNIQUE_H_ |
7 | 7 |
8 #include "src/handles.h" | 8 #include "src/handles.h" |
9 #include "src/objects.h" | 9 #include "src/objects.h" |
10 #include "src/string-stream.h" | 10 #include "src/string-stream.h" |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 }; | 131 }; |
132 | 132 |
133 | 133 |
134 // TODO(danno): At some point if all of the uses of Unique end up using | 134 // TODO(danno): At some point if all of the uses of Unique end up using |
135 // PrintableUnique, then we should merge PrintableUnique into Unique and | 135 // PrintableUnique, then we should merge PrintableUnique into Unique and |
136 // predicate generating the printable string on a "am I tracing" check. | 136 // predicate generating the printable string on a "am I tracing" check. |
137 template <class T> | 137 template <class T> |
138 class PrintableUnique : public Unique<T> { | 138 class PrintableUnique : public Unique<T> { |
139 public: | 139 public: |
140 // TODO(titzer): make private and introduce a uniqueness scope. | 140 // TODO(titzer): make private and introduce a uniqueness scope. |
| 141 PrintableUnique() : string_("null") {} |
| 142 |
| 143 // TODO(titzer): make private and introduce a uniqueness scope. |
141 explicit PrintableUnique(Zone* zone, Handle<T> handle) : Unique<T>(handle) { | 144 explicit PrintableUnique(Zone* zone, Handle<T> handle) : Unique<T>(handle) { |
142 InitializeString(zone); | 145 InitializeString(zone); |
143 } | 146 } |
144 | 147 |
145 // TODO(titzer): this is a hack to migrate to Unique<T> incrementally. | 148 // TODO(titzer): this is a hack to migrate to Unique<T> incrementally. |
146 PrintableUnique(Zone* zone, Address raw_address, Handle<T> handle) | 149 PrintableUnique(Zone* zone, Address raw_address, Handle<T> handle) |
147 : Unique<T>(raw_address, handle) { | 150 : Unique<T>(raw_address, handle) { |
148 InitializeString(zone); | 151 InitializeString(zone); |
149 } | 152 } |
150 | 153 |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 } | 407 } |
405 capacity_ = new_capacity; | 408 capacity_ = new_capacity; |
406 array_ = new_array; | 409 array_ = new_array; |
407 } | 410 } |
408 } | 411 } |
409 }; | 412 }; |
410 | 413 |
411 } } // namespace v8::internal | 414 } } // namespace v8::internal |
412 | 415 |
413 #endif // V8_HYDROGEN_UNIQUE_H_ | 416 #endif // V8_HYDROGEN_UNIQUE_H_ |
OLD | NEW |