OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 // - PromiseReactionJobInfo | 137 // - PromiseReactionJobInfo |
138 // - AccessorPair | 138 // - AccessorPair |
139 // - AccessCheckInfo | 139 // - AccessCheckInfo |
140 // - InterceptorInfo | 140 // - InterceptorInfo |
141 // - CallHandlerInfo | 141 // - CallHandlerInfo |
142 // - TemplateInfo | 142 // - TemplateInfo |
143 // - FunctionTemplateInfo | 143 // - FunctionTemplateInfo |
144 // - ObjectTemplateInfo | 144 // - ObjectTemplateInfo |
145 // - Script | 145 // - Script |
146 // - DebugInfo | 146 // - DebugInfo |
| 147 // - BreakPoint |
147 // - BreakPointInfo | 148 // - BreakPointInfo |
148 // - CodeCache | 149 // - CodeCache |
149 // - PrototypeInfo | 150 // - PrototypeInfo |
150 // - Module | 151 // - Module |
151 // - ModuleInfoEntry | 152 // - ModuleInfoEntry |
152 // - WeakCell | 153 // - WeakCell |
153 // | 154 // |
154 // Formats of Object*: | 155 // Formats of Object*: |
155 // Smi: [31 bit signed int] 0 | 156 // Smi: [31 bit signed int] 0 |
156 // HeapObject: [32 bit direct pointer] (4 byte aligned) | 01 | 157 // HeapObject: [32 bit direct pointer] (4 byte aligned) | 01 |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 V(OBJECT_TEMPLATE_INFO_TYPE) \ | 352 V(OBJECT_TEMPLATE_INFO_TYPE) \ |
352 V(ALLOCATION_SITE_TYPE) \ | 353 V(ALLOCATION_SITE_TYPE) \ |
353 V(ALLOCATION_MEMENTO_TYPE) \ | 354 V(ALLOCATION_MEMENTO_TYPE) \ |
354 V(SCRIPT_TYPE) \ | 355 V(SCRIPT_TYPE) \ |
355 V(TYPE_FEEDBACK_INFO_TYPE) \ | 356 V(TYPE_FEEDBACK_INFO_TYPE) \ |
356 V(ALIASED_ARGUMENTS_ENTRY_TYPE) \ | 357 V(ALIASED_ARGUMENTS_ENTRY_TYPE) \ |
357 V(BOX_TYPE) \ | 358 V(BOX_TYPE) \ |
358 V(PROMISE_RESOLVE_THENABLE_JOB_INFO_TYPE) \ | 359 V(PROMISE_RESOLVE_THENABLE_JOB_INFO_TYPE) \ |
359 V(PROMISE_REACTION_JOB_INFO_TYPE) \ | 360 V(PROMISE_REACTION_JOB_INFO_TYPE) \ |
360 V(DEBUG_INFO_TYPE) \ | 361 V(DEBUG_INFO_TYPE) \ |
| 362 V(BREAK_POINT_TYPE) \ |
361 V(BREAK_POINT_INFO_TYPE) \ | 363 V(BREAK_POINT_INFO_TYPE) \ |
362 V(PROTOTYPE_INFO_TYPE) \ | 364 V(PROTOTYPE_INFO_TYPE) \ |
363 V(TUPLE2_TYPE) \ | 365 V(TUPLE2_TYPE) \ |
364 V(TUPLE3_TYPE) \ | 366 V(TUPLE3_TYPE) \ |
365 V(CONTEXT_EXTENSION_TYPE) \ | 367 V(CONTEXT_EXTENSION_TYPE) \ |
366 V(CONSTANT_ELEMENTS_PAIR_TYPE) \ | 368 V(CONSTANT_ELEMENTS_PAIR_TYPE) \ |
367 V(MODULE_TYPE) \ | 369 V(MODULE_TYPE) \ |
368 V(MODULE_INFO_ENTRY_TYPE) \ | 370 V(MODULE_INFO_ENTRY_TYPE) \ |
369 V(FIXED_ARRAY_TYPE) \ | 371 V(FIXED_ARRAY_TYPE) \ |
370 V(TRANSITION_ARRAY_TYPE) \ | 372 V(TRANSITION_ARRAY_TYPE) \ |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
520 V(ALLOCATION_MEMENTO, AllocationMemento, allocation_memento) \ | 522 V(ALLOCATION_MEMENTO, AllocationMemento, allocation_memento) \ |
521 V(SCRIPT, Script, script) \ | 523 V(SCRIPT, Script, script) \ |
522 V(TYPE_FEEDBACK_INFO, TypeFeedbackInfo, type_feedback_info) \ | 524 V(TYPE_FEEDBACK_INFO, TypeFeedbackInfo, type_feedback_info) \ |
523 V(ALIASED_ARGUMENTS_ENTRY, AliasedArgumentsEntry, aliased_arguments_entry) \ | 525 V(ALIASED_ARGUMENTS_ENTRY, AliasedArgumentsEntry, aliased_arguments_entry) \ |
524 V(BOX, Box, box) \ | 526 V(BOX, Box, box) \ |
525 V(PROMISE_RESOLVE_THENABLE_JOB_INFO, PromiseResolveThenableJobInfo, \ | 527 V(PROMISE_RESOLVE_THENABLE_JOB_INFO, PromiseResolveThenableJobInfo, \ |
526 promise_resolve_thenable_job_info) \ | 528 promise_resolve_thenable_job_info) \ |
527 V(PROMISE_REACTION_JOB_INFO, PromiseReactionJobInfo, \ | 529 V(PROMISE_REACTION_JOB_INFO, PromiseReactionJobInfo, \ |
528 promise_reaction_job_info) \ | 530 promise_reaction_job_info) \ |
529 V(DEBUG_INFO, DebugInfo, debug_info) \ | 531 V(DEBUG_INFO, DebugInfo, debug_info) \ |
| 532 V(BREAK_POINT, BreakPoint, break_point) \ |
530 V(BREAK_POINT_INFO, BreakPointInfo, break_point_info) \ | 533 V(BREAK_POINT_INFO, BreakPointInfo, break_point_info) \ |
531 V(PROTOTYPE_INFO, PrototypeInfo, prototype_info) \ | 534 V(PROTOTYPE_INFO, PrototypeInfo, prototype_info) \ |
532 V(TUPLE2, Tuple2, tuple2) \ | 535 V(TUPLE2, Tuple2, tuple2) \ |
533 V(TUPLE3, Tuple3, tuple3) \ | 536 V(TUPLE3, Tuple3, tuple3) \ |
534 V(CONTEXT_EXTENSION, ContextExtension, context_extension) \ | 537 V(CONTEXT_EXTENSION, ContextExtension, context_extension) \ |
535 V(CONSTANT_ELEMENTS_PAIR, ConstantElementsPair, constant_elements_pair) \ | 538 V(CONSTANT_ELEMENTS_PAIR, ConstantElementsPair, constant_elements_pair) \ |
536 V(MODULE, Module, module) \ | 539 V(MODULE, Module, module) \ |
537 V(MODULE_INFO_ENTRY, ModuleInfoEntry, module_info_entry) | 540 V(MODULE_INFO_ENTRY, ModuleInfoEntry, module_info_entry) |
538 | 541 |
539 // We use the full 8 bits of the instance_type field to encode heap object | 542 // We use the full 8 bits of the instance_type field to encode heap object |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
691 OBJECT_TEMPLATE_INFO_TYPE, | 694 OBJECT_TEMPLATE_INFO_TYPE, |
692 ALLOCATION_SITE_TYPE, | 695 ALLOCATION_SITE_TYPE, |
693 ALLOCATION_MEMENTO_TYPE, | 696 ALLOCATION_MEMENTO_TYPE, |
694 SCRIPT_TYPE, | 697 SCRIPT_TYPE, |
695 TYPE_FEEDBACK_INFO_TYPE, | 698 TYPE_FEEDBACK_INFO_TYPE, |
696 ALIASED_ARGUMENTS_ENTRY_TYPE, | 699 ALIASED_ARGUMENTS_ENTRY_TYPE, |
697 BOX_TYPE, | 700 BOX_TYPE, |
698 PROMISE_RESOLVE_THENABLE_JOB_INFO_TYPE, | 701 PROMISE_RESOLVE_THENABLE_JOB_INFO_TYPE, |
699 PROMISE_REACTION_JOB_INFO_TYPE, | 702 PROMISE_REACTION_JOB_INFO_TYPE, |
700 DEBUG_INFO_TYPE, | 703 DEBUG_INFO_TYPE, |
| 704 BREAK_POINT_TYPE, |
701 BREAK_POINT_INFO_TYPE, | 705 BREAK_POINT_INFO_TYPE, |
702 PROTOTYPE_INFO_TYPE, | 706 PROTOTYPE_INFO_TYPE, |
703 TUPLE2_TYPE, | 707 TUPLE2_TYPE, |
704 TUPLE3_TYPE, | 708 TUPLE3_TYPE, |
705 CONTEXT_EXTENSION_TYPE, | 709 CONTEXT_EXTENSION_TYPE, |
706 CONSTANT_ELEMENTS_PAIR_TYPE, | 710 CONSTANT_ELEMENTS_PAIR_TYPE, |
707 MODULE_TYPE, | 711 MODULE_TYPE, |
708 MODULE_INFO_ENTRY_TYPE, | 712 MODULE_INFO_ENTRY_TYPE, |
709 FIXED_ARRAY_TYPE, | 713 FIXED_ARRAY_TYPE, |
710 TRANSITION_ARRAY_TYPE, | 714 TRANSITION_ARRAY_TYPE, |
(...skipping 10715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11426 | 11430 |
11427 static const int kSourcePositionIndex = Struct::kHeaderSize; | 11431 static const int kSourcePositionIndex = Struct::kHeaderSize; |
11428 static const int kBreakPointObjectsIndex = | 11432 static const int kBreakPointObjectsIndex = |
11429 kSourcePositionIndex + kPointerSize; | 11433 kSourcePositionIndex + kPointerSize; |
11430 static const int kSize = kBreakPointObjectsIndex + kPointerSize; | 11434 static const int kSize = kBreakPointObjectsIndex + kPointerSize; |
11431 | 11435 |
11432 private: | 11436 private: |
11433 DISALLOW_IMPLICIT_CONSTRUCTORS(BreakPointInfo); | 11437 DISALLOW_IMPLICIT_CONSTRUCTORS(BreakPointInfo); |
11434 }; | 11438 }; |
11435 | 11439 |
| 11440 class BreakPoint : public Struct { |
| 11441 public: |
| 11442 DECL_ACCESSORS(condition, String); |
| 11443 DECL_ACCESSORS(data, Object); |
| 11444 |
| 11445 DECLARE_CAST(BreakPoint) |
| 11446 |
| 11447 // Dispatched behavior. |
| 11448 DECLARE_PRINTER(BreakPoint) |
| 11449 DECLARE_VERIFIER(BreakPoint) |
| 11450 |
| 11451 static const int kConditionIndex = Struct::kHeaderSize; |
| 11452 static const int kDataIndex = kConditionIndex + kPointerSize; |
| 11453 static const int kSize = kDataIndex + kPointerSize; |
| 11454 |
| 11455 private: |
| 11456 DISALLOW_IMPLICIT_CONSTRUCTORS(BreakPoint); |
| 11457 }; |
11436 | 11458 |
11437 #define VISITOR_SYNCHRONIZATION_TAGS_LIST(V) \ | 11459 #define VISITOR_SYNCHRONIZATION_TAGS_LIST(V) \ |
11438 V(kStringTable, "string_table", "(Internalized strings)") \ | 11460 V(kStringTable, "string_table", "(Internalized strings)") \ |
11439 V(kExternalStringsTable, "external_strings_table", "(External strings)") \ | 11461 V(kExternalStringsTable, "external_strings_table", "(External strings)") \ |
11440 V(kStrongRootList, "strong_root_list", "(Strong roots)") \ | 11462 V(kStrongRootList, "strong_root_list", "(Strong roots)") \ |
11441 V(kSmiRootList, "smi_root_list", "(Smi roots)") \ | 11463 V(kSmiRootList, "smi_root_list", "(Smi roots)") \ |
11442 V(kBootstrapper, "bootstrapper", "(Bootstrapper)") \ | 11464 V(kBootstrapper, "bootstrapper", "(Bootstrapper)") \ |
11443 V(kTop, "top", "(Isolate)") \ | 11465 V(kTop, "top", "(Isolate)") \ |
11444 V(kRelocatable, "relocatable", "(Relocatable)") \ | 11466 V(kRelocatable, "relocatable", "(Relocatable)") \ |
11445 V(kDebug, "debug", "(Debugger)") \ | 11467 V(kDebug, "debug", "(Debugger)") \ |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11549 } | 11571 } |
11550 }; | 11572 }; |
11551 | 11573 |
11552 | 11574 |
11553 } // NOLINT, false-positive due to second-order macros. | 11575 } // NOLINT, false-positive due to second-order macros. |
11554 } // NOLINT, false-positive due to second-order macros. | 11576 } // NOLINT, false-positive due to second-order macros. |
11555 | 11577 |
11556 #include "src/objects/object-macros-undef.h" | 11578 #include "src/objects/object-macros-undef.h" |
11557 | 11579 |
11558 #endif // V8_OBJECTS_H_ | 11580 #endif // V8_OBJECTS_H_ |
OLD | NEW |