OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_HEAP_HEAP_H_ | 5 #ifndef V8_HEAP_HEAP_H_ |
6 #define V8_HEAP_HEAP_H_ | 6 #define V8_HEAP_HEAP_H_ |
7 | 7 |
8 #include <cmath> | 8 #include <cmath> |
9 #include <map> | 9 #include <map> |
10 | 10 |
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
357 | 357 |
358 #define PUBLIC_SYMBOL_LIST(V) \ | 358 #define PUBLIC_SYMBOL_LIST(V) \ |
359 V(has_instance_symbol, Symbol.hasInstance) \ | 359 V(has_instance_symbol, Symbol.hasInstance) \ |
360 V(is_regexp_symbol, Symbol.isRegExp) \ | 360 V(is_regexp_symbol, Symbol.isRegExp) \ |
361 V(iterator_symbol, Symbol.iterator) \ | 361 V(iterator_symbol, Symbol.iterator) \ |
362 V(match_symbol, Symbol.match) \ | 362 V(match_symbol, Symbol.match) \ |
363 V(replace_symbol, Symbol.replace) \ | 363 V(replace_symbol, Symbol.replace) \ |
364 V(search_symbol, Symbol.search) \ | 364 V(search_symbol, Symbol.search) \ |
365 V(split_symbol, Symbol.split) \ | 365 V(split_symbol, Symbol.split) \ |
366 V(to_primitive_symbol, Symbol.toPrimitive) \ | 366 V(to_primitive_symbol, Symbol.toPrimitive) \ |
367 V(to_string_tag_symbol, Symbol.toStringTag) \ | |
368 V(unscopables_symbol, Symbol.unscopables) | 367 V(unscopables_symbol, Symbol.unscopables) |
369 | 368 |
370 // Well-Known Symbols are "Public" symbols, which have a bit set which causes | 369 // Well-Known Symbols are "Public" symbols, which have a bit set which causes |
371 // them to produce an undefined value when a load results in a failed access | 370 // them to produce an undefined value when a load results in a failed access |
372 // check. Because this behaviour is not specified properly as of yet, it only | 371 // check. Because this behaviour is not specified properly as of yet, it only |
373 // applies to a subset of spec-defined Well-Known Symbols. | 372 // applies to a subset of spec-defined Well-Known Symbols. |
374 #define WELL_KNOWN_SYMBOL_LIST(V) \ | 373 #define WELL_KNOWN_SYMBOL_LIST(V) \ |
375 V(is_concat_spreadable_symbol, Symbol.isConcatSpreadable) | 374 V(is_concat_spreadable_symbol, Symbol.isConcatSpreadable) \ |
| 375 V(to_string_tag_symbol, Symbol.toStringTag) |
376 | 376 |
377 // Heap roots that are known to be immortal immovable, for which we can safely | 377 // Heap roots that are known to be immortal immovable, for which we can safely |
378 // skip write barriers. This list is not complete and has omissions. | 378 // skip write barriers. This list is not complete and has omissions. |
379 #define IMMORTAL_IMMOVABLE_ROOT_LIST(V) \ | 379 #define IMMORTAL_IMMOVABLE_ROOT_LIST(V) \ |
380 V(ByteArrayMap) \ | 380 V(ByteArrayMap) \ |
381 V(BytecodeArrayMap) \ | 381 V(BytecodeArrayMap) \ |
382 V(FreeSpaceMap) \ | 382 V(FreeSpaceMap) \ |
383 V(OnePointerFillerMap) \ | 383 V(OnePointerFillerMap) \ |
384 V(TwoPointerFillerMap) \ | 384 V(TwoPointerFillerMap) \ |
385 V(UndefinedValue) \ | 385 V(UndefinedValue) \ |
(...skipping 2341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2727 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2727 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2728 | 2728 |
2729 private: | 2729 private: |
2730 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2730 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2731 }; | 2731 }; |
2732 #endif // DEBUG | 2732 #endif // DEBUG |
2733 } // namespace internal | 2733 } // namespace internal |
2734 } // namespace v8 | 2734 } // namespace v8 |
2735 | 2735 |
2736 #endif // V8_HEAP_HEAP_H_ | 2736 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |