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_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 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 // - AccessorInfo | 137 // - AccessorInfo |
138 // - ExecutableAccessorInfo | 138 // - ExecutableAccessorInfo |
139 // - AccessorPair | 139 // - AccessorPair |
140 // - AccessCheckInfo | 140 // - AccessCheckInfo |
141 // - InterceptorInfo | 141 // - InterceptorInfo |
142 // - CallHandlerInfo | 142 // - CallHandlerInfo |
143 // - TemplateInfo | 143 // - TemplateInfo |
144 // - FunctionTemplateInfo | 144 // - FunctionTemplateInfo |
145 // - ObjectTemplateInfo | 145 // - ObjectTemplateInfo |
146 // - Script | 146 // - Script |
147 // - TypeSwitchInfo | |
148 // - DebugInfo | 147 // - DebugInfo |
149 // - BreakPointInfo | 148 // - BreakPointInfo |
150 // - CodeCache | 149 // - CodeCache |
151 // - PrototypeInfo | 150 // - PrototypeInfo |
152 // - WeakCell | 151 // - WeakCell |
153 // | 152 // |
154 // Formats of Object*: | 153 // Formats of Object*: |
155 // Smi: [31 bit signed int] 0 | 154 // Smi: [31 bit signed int] 0 |
156 // HeapObject: [32 bit direct pointer] (4 byte aligned) | 01 | 155 // HeapObject: [32 bit direct pointer] (4 byte aligned) | 01 |
157 | 156 |
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
507 #define STRUCT_LIST(V) \ | 506 #define STRUCT_LIST(V) \ |
508 V(BOX, Box, box) \ | 507 V(BOX, Box, box) \ |
509 V(EXECUTABLE_ACCESSOR_INFO, ExecutableAccessorInfo, \ | 508 V(EXECUTABLE_ACCESSOR_INFO, ExecutableAccessorInfo, \ |
510 executable_accessor_info) \ | 509 executable_accessor_info) \ |
511 V(ACCESSOR_PAIR, AccessorPair, accessor_pair) \ | 510 V(ACCESSOR_PAIR, AccessorPair, accessor_pair) \ |
512 V(ACCESS_CHECK_INFO, AccessCheckInfo, access_check_info) \ | 511 V(ACCESS_CHECK_INFO, AccessCheckInfo, access_check_info) \ |
513 V(INTERCEPTOR_INFO, InterceptorInfo, interceptor_info) \ | 512 V(INTERCEPTOR_INFO, InterceptorInfo, interceptor_info) \ |
514 V(CALL_HANDLER_INFO, CallHandlerInfo, call_handler_info) \ | 513 V(CALL_HANDLER_INFO, CallHandlerInfo, call_handler_info) \ |
515 V(FUNCTION_TEMPLATE_INFO, FunctionTemplateInfo, function_template_info) \ | 514 V(FUNCTION_TEMPLATE_INFO, FunctionTemplateInfo, function_template_info) \ |
516 V(OBJECT_TEMPLATE_INFO, ObjectTemplateInfo, object_template_info) \ | 515 V(OBJECT_TEMPLATE_INFO, ObjectTemplateInfo, object_template_info) \ |
517 V(TYPE_SWITCH_INFO, TypeSwitchInfo, type_switch_info) \ | |
518 V(SCRIPT, Script, script) \ | 516 V(SCRIPT, Script, script) \ |
519 V(ALLOCATION_SITE, AllocationSite, allocation_site) \ | 517 V(ALLOCATION_SITE, AllocationSite, allocation_site) \ |
520 V(ALLOCATION_MEMENTO, AllocationMemento, allocation_memento) \ | 518 V(ALLOCATION_MEMENTO, AllocationMemento, allocation_memento) \ |
521 V(CODE_CACHE, CodeCache, code_cache) \ | 519 V(CODE_CACHE, CodeCache, code_cache) \ |
522 V(POLYMORPHIC_CODE_CACHE, PolymorphicCodeCache, polymorphic_code_cache) \ | 520 V(POLYMORPHIC_CODE_CACHE, PolymorphicCodeCache, polymorphic_code_cache) \ |
523 V(TYPE_FEEDBACK_INFO, TypeFeedbackInfo, type_feedback_info) \ | 521 V(TYPE_FEEDBACK_INFO, TypeFeedbackInfo, type_feedback_info) \ |
524 V(ALIASED_ARGUMENTS_ENTRY, AliasedArgumentsEntry, aliased_arguments_entry) \ | 522 V(ALIASED_ARGUMENTS_ENTRY, AliasedArgumentsEntry, aliased_arguments_entry) \ |
525 V(DEBUG_INFO, DebugInfo, debug_info) \ | 523 V(DEBUG_INFO, DebugInfo, debug_info) \ |
526 V(BREAK_POINT_INFO, BreakPointInfo, break_point_info) \ | 524 V(BREAK_POINT_INFO, BreakPointInfo, break_point_info) \ |
527 V(PROTOTYPE_INFO, PrototypeInfo, prototype_info) \ | 525 V(PROTOTYPE_INFO, PrototypeInfo, prototype_info) \ |
(...skipping 9953 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10481 DECLARE_PRINTER(ObjectTemplateInfo) | 10479 DECLARE_PRINTER(ObjectTemplateInfo) |
10482 DECLARE_VERIFIER(ObjectTemplateInfo) | 10480 DECLARE_VERIFIER(ObjectTemplateInfo) |
10483 | 10481 |
10484 static const int kConstructorOffset = TemplateInfo::kHeaderSize; | 10482 static const int kConstructorOffset = TemplateInfo::kHeaderSize; |
10485 static const int kInternalFieldCountOffset = | 10483 static const int kInternalFieldCountOffset = |
10486 kConstructorOffset + kPointerSize; | 10484 kConstructorOffset + kPointerSize; |
10487 static const int kSize = kInternalFieldCountOffset + kPointerSize; | 10485 static const int kSize = kInternalFieldCountOffset + kPointerSize; |
10488 }; | 10486 }; |
10489 | 10487 |
10490 | 10488 |
10491 class TypeSwitchInfo: public Struct { | |
10492 public: | |
10493 DECL_ACCESSORS(types, Object) | |
10494 | |
10495 DECLARE_CAST(TypeSwitchInfo) | |
10496 | |
10497 // Dispatched behavior. | |
10498 DECLARE_PRINTER(TypeSwitchInfo) | |
10499 DECLARE_VERIFIER(TypeSwitchInfo) | |
10500 | |
10501 static const int kTypesOffset = Struct::kHeaderSize; | |
10502 static const int kSize = kTypesOffset + kPointerSize; | |
10503 }; | |
10504 | |
10505 | |
10506 // The DebugInfo class holds additional information for a function being | 10489 // The DebugInfo class holds additional information for a function being |
10507 // debugged. | 10490 // debugged. |
10508 class DebugInfo: public Struct { | 10491 class DebugInfo: public Struct { |
10509 public: | 10492 public: |
10510 // The shared function info for the source being debugged. | 10493 // The shared function info for the source being debugged. |
10511 DECL_ACCESSORS(shared, SharedFunctionInfo) | 10494 DECL_ACCESSORS(shared, SharedFunctionInfo) |
10512 // Code object for the patched code. This code object is the code object | 10495 // Code object for the patched code. This code object is the code object |
10513 // currently active for the function. | 10496 // currently active for the function. |
10514 DECL_ACCESSORS(code, Code) | 10497 DECL_ACCESSORS(code, Code) |
10515 // Fixed array holding status information for each active break point. | 10498 // Fixed array holding status information for each active break point. |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10721 } | 10704 } |
10722 return value; | 10705 return value; |
10723 } | 10706 } |
10724 }; | 10707 }; |
10725 | 10708 |
10726 | 10709 |
10727 } // NOLINT, false-positive due to second-order macros. | 10710 } // NOLINT, false-positive due to second-order macros. |
10728 } // NOLINT, false-positive due to second-order macros. | 10711 } // NOLINT, false-positive due to second-order macros. |
10729 | 10712 |
10730 #endif // V8_OBJECTS_H_ | 10713 #endif // V8_OBJECTS_H_ |
OLD | NEW |