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 // Review notes: | 5 // Review notes: |
6 // | 6 // |
7 // - The use of macros in these inline functions may seem superfluous | 7 // - The use of macros in these inline functions may seem superfluous |
8 // but it is absolutely needed to make sure gcc generates optimal | 8 // but it is absolutely needed to make sure gcc generates optimal |
9 // code. gcc is not happy when attempting to inline too deep. | 9 // code. gcc is not happy when attempting to inline too deep. |
10 // | 10 // |
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
701 TYPE_CHECKER(JSSetIterator, JS_SET_ITERATOR_TYPE) | 701 TYPE_CHECKER(JSSetIterator, JS_SET_ITERATOR_TYPE) |
702 TYPE_CHECKER(JSMapIterator, JS_MAP_ITERATOR_TYPE) | 702 TYPE_CHECKER(JSMapIterator, JS_MAP_ITERATOR_TYPE) |
703 TYPE_CHECKER(JSWeakMap, JS_WEAK_MAP_TYPE) | 703 TYPE_CHECKER(JSWeakMap, JS_WEAK_MAP_TYPE) |
704 TYPE_CHECKER(JSWeakSet, JS_WEAK_SET_TYPE) | 704 TYPE_CHECKER(JSWeakSet, JS_WEAK_SET_TYPE) |
705 TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE) | 705 TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE) |
706 TYPE_CHECKER(Map, MAP_TYPE) | 706 TYPE_CHECKER(Map, MAP_TYPE) |
707 TYPE_CHECKER(FixedDoubleArray, FIXED_DOUBLE_ARRAY_TYPE) | 707 TYPE_CHECKER(FixedDoubleArray, FIXED_DOUBLE_ARRAY_TYPE) |
708 TYPE_CHECKER(WeakFixedArray, FIXED_ARRAY_TYPE) | 708 TYPE_CHECKER(WeakFixedArray, FIXED_ARRAY_TYPE) |
709 TYPE_CHECKER(TransitionArray, TRANSITION_ARRAY_TYPE) | 709 TYPE_CHECKER(TransitionArray, TRANSITION_ARRAY_TYPE) |
710 TYPE_CHECKER(JSStringIterator, JS_STRING_ITERATOR_TYPE) | 710 TYPE_CHECKER(JSStringIterator, JS_STRING_ITERATOR_TYPE) |
711 TYPE_CHECKER(JSFixedArrayIterator, JS_FIXED_ARRAY_ITERATOR_TYPE) | |
712 | 711 |
713 bool HeapObject::IsJSWeakCollection() const { | 712 bool HeapObject::IsJSWeakCollection() const { |
714 return IsJSWeakMap() || IsJSWeakSet(); | 713 return IsJSWeakMap() || IsJSWeakSet(); |
715 } | 714 } |
716 | 715 |
717 bool HeapObject::IsJSCollection() const { return IsJSMap() || IsJSSet(); } | 716 bool HeapObject::IsJSCollection() const { return IsJSMap() || IsJSSet(); } |
718 | 717 |
719 bool HeapObject::IsDescriptorArray() const { return IsFixedArray(); } | 718 bool HeapObject::IsDescriptorArray() const { return IsFixedArray(); } |
720 | 719 |
721 bool HeapObject::IsFrameArray() const { return IsFixedArray(); } | 720 bool HeapObject::IsFrameArray() const { return IsFixedArray(); } |
(...skipping 1377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2099 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: | 2098 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: |
2100 return JSObject::kHeaderSize; | 2099 return JSObject::kHeaderSize; |
2101 case JS_MESSAGE_OBJECT_TYPE: | 2100 case JS_MESSAGE_OBJECT_TYPE: |
2102 return JSMessageObject::kSize; | 2101 return JSMessageObject::kSize; |
2103 case JS_ARGUMENTS_TYPE: | 2102 case JS_ARGUMENTS_TYPE: |
2104 return JSArgumentsObject::kHeaderSize; | 2103 return JSArgumentsObject::kHeaderSize; |
2105 case JS_ERROR_TYPE: | 2104 case JS_ERROR_TYPE: |
2106 return JSObject::kHeaderSize; | 2105 return JSObject::kHeaderSize; |
2107 case JS_STRING_ITERATOR_TYPE: | 2106 case JS_STRING_ITERATOR_TYPE: |
2108 return JSStringIterator::kSize; | 2107 return JSStringIterator::kSize; |
2109 case JS_FIXED_ARRAY_ITERATOR_TYPE: | |
2110 return JSFixedArrayIterator::kHeaderSize; | |
2111 case JS_MODULE_NAMESPACE_TYPE: | 2108 case JS_MODULE_NAMESPACE_TYPE: |
2112 return JSModuleNamespace::kSize; | 2109 return JSModuleNamespace::kSize; |
2113 default: | 2110 default: |
2114 UNREACHABLE(); | 2111 UNREACHABLE(); |
2115 return 0; | 2112 return 0; |
2116 } | 2113 } |
2117 } | 2114 } |
2118 | 2115 |
2119 | 2116 |
2120 int JSObject::GetInternalFieldCount(Map* map) { | 2117 int JSObject::GetInternalFieldCount(Map* map) { |
(...skipping 1191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3312 CAST_ACCESSOR(JSDataView) | 3309 CAST_ACCESSOR(JSDataView) |
3313 CAST_ACCESSOR(JSDate) | 3310 CAST_ACCESSOR(JSDate) |
3314 CAST_ACCESSOR(JSFunction) | 3311 CAST_ACCESSOR(JSFunction) |
3315 CAST_ACCESSOR(JSGeneratorObject) | 3312 CAST_ACCESSOR(JSGeneratorObject) |
3316 CAST_ACCESSOR(JSGlobalObject) | 3313 CAST_ACCESSOR(JSGlobalObject) |
3317 CAST_ACCESSOR(JSGlobalProxy) | 3314 CAST_ACCESSOR(JSGlobalProxy) |
3318 CAST_ACCESSOR(JSMap) | 3315 CAST_ACCESSOR(JSMap) |
3319 CAST_ACCESSOR(JSMapIterator) | 3316 CAST_ACCESSOR(JSMapIterator) |
3320 CAST_ACCESSOR(JSMessageObject) | 3317 CAST_ACCESSOR(JSMessageObject) |
3321 CAST_ACCESSOR(JSModuleNamespace) | 3318 CAST_ACCESSOR(JSModuleNamespace) |
3322 CAST_ACCESSOR(JSFixedArrayIterator) | |
3323 CAST_ACCESSOR(JSObject) | 3319 CAST_ACCESSOR(JSObject) |
3324 CAST_ACCESSOR(JSProxy) | 3320 CAST_ACCESSOR(JSProxy) |
3325 CAST_ACCESSOR(JSReceiver) | 3321 CAST_ACCESSOR(JSReceiver) |
3326 CAST_ACCESSOR(JSRegExp) | 3322 CAST_ACCESSOR(JSRegExp) |
3327 CAST_ACCESSOR(JSPromise) | 3323 CAST_ACCESSOR(JSPromise) |
3328 CAST_ACCESSOR(JSSet) | 3324 CAST_ACCESSOR(JSSet) |
3329 CAST_ACCESSOR(JSSetIterator) | 3325 CAST_ACCESSOR(JSSetIterator) |
3330 CAST_ACCESSOR(JSStringIterator) | 3326 CAST_ACCESSOR(JSStringIterator) |
3331 CAST_ACCESSOR(JSArrayIterator) | 3327 CAST_ACCESSOR(JSArrayIterator) |
3332 CAST_ACCESSOR(JSTypedArray) | 3328 CAST_ACCESSOR(JSTypedArray) |
(...skipping 2471 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5804 | 5800 |
5805 ACCESSORS(Tuple2, value1, Object, kValue1Offset) | 5801 ACCESSORS(Tuple2, value1, Object, kValue1Offset) |
5806 ACCESSORS(Tuple2, value2, Object, kValue2Offset) | 5802 ACCESSORS(Tuple2, value2, Object, kValue2Offset) |
5807 ACCESSORS(Tuple3, value3, Object, kValue3Offset) | 5803 ACCESSORS(Tuple3, value3, Object, kValue3Offset) |
5808 | 5804 |
5809 ACCESSORS(ContextExtension, scope_info, ScopeInfo, kScopeInfoOffset) | 5805 ACCESSORS(ContextExtension, scope_info, ScopeInfo, kScopeInfoOffset) |
5810 ACCESSORS(ContextExtension, extension, Object, kExtensionOffset) | 5806 ACCESSORS(ContextExtension, extension, Object, kExtensionOffset) |
5811 | 5807 |
5812 ACCESSORS(JSModuleNamespace, module, Module, kModuleOffset) | 5808 ACCESSORS(JSModuleNamespace, module, Module, kModuleOffset) |
5813 | 5809 |
5814 ACCESSORS(JSFixedArrayIterator, array, FixedArray, kArrayOffset) | |
5815 SMI_ACCESSORS(JSFixedArrayIterator, index, kIndexOffset) | |
5816 ACCESSORS(JSFixedArrayIterator, initial_next, JSFunction, kNextOffset) | |
5817 | |
5818 ACCESSORS(Module, code, Object, kCodeOffset) | 5810 ACCESSORS(Module, code, Object, kCodeOffset) |
5819 ACCESSORS(Module, exports, ObjectHashTable, kExportsOffset) | 5811 ACCESSORS(Module, exports, ObjectHashTable, kExportsOffset) |
5820 ACCESSORS(Module, regular_exports, FixedArray, kRegularExportsOffset) | 5812 ACCESSORS(Module, regular_exports, FixedArray, kRegularExportsOffset) |
5821 ACCESSORS(Module, regular_imports, FixedArray, kRegularImportsOffset) | 5813 ACCESSORS(Module, regular_imports, FixedArray, kRegularImportsOffset) |
5822 ACCESSORS(Module, module_namespace, HeapObject, kModuleNamespaceOffset) | 5814 ACCESSORS(Module, module_namespace, HeapObject, kModuleNamespaceOffset) |
5823 ACCESSORS(Module, requested_modules, FixedArray, kRequestedModulesOffset) | 5815 ACCESSORS(Module, requested_modules, FixedArray, kRequestedModulesOffset) |
5824 SMI_ACCESSORS(Module, hash, kHashOffset) | 5816 SMI_ACCESSORS(Module, hash, kHashOffset) |
5825 | 5817 |
5826 bool Module::evaluated() const { return code()->IsModuleInfo(); } | 5818 bool Module::evaluated() const { return code()->IsModuleInfo(); } |
5827 | 5819 |
(...skipping 2657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8485 #undef WRITE_INT64_FIELD | 8477 #undef WRITE_INT64_FIELD |
8486 #undef READ_BYTE_FIELD | 8478 #undef READ_BYTE_FIELD |
8487 #undef WRITE_BYTE_FIELD | 8479 #undef WRITE_BYTE_FIELD |
8488 #undef NOBARRIER_READ_BYTE_FIELD | 8480 #undef NOBARRIER_READ_BYTE_FIELD |
8489 #undef NOBARRIER_WRITE_BYTE_FIELD | 8481 #undef NOBARRIER_WRITE_BYTE_FIELD |
8490 | 8482 |
8491 } // namespace internal | 8483 } // namespace internal |
8492 } // namespace v8 | 8484 } // namespace v8 |
8493 | 8485 |
8494 #endif // V8_OBJECTS_INL_H_ | 8486 #endif // V8_OBJECTS_INL_H_ |
OLD | NEW |