Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(504)

Side by Side Diff: src/objects-inl.h

Issue 2407423002: [modules] Implement @@iterator on namespace objects. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 684 matching lines...) Expand 10 before | Expand all | Expand 10 after
695 TYPE_CHECKER(JSSetIterator, JS_SET_ITERATOR_TYPE) 695 TYPE_CHECKER(JSSetIterator, JS_SET_ITERATOR_TYPE)
696 TYPE_CHECKER(JSMapIterator, JS_MAP_ITERATOR_TYPE) 696 TYPE_CHECKER(JSMapIterator, JS_MAP_ITERATOR_TYPE)
697 TYPE_CHECKER(JSWeakMap, JS_WEAK_MAP_TYPE) 697 TYPE_CHECKER(JSWeakMap, JS_WEAK_MAP_TYPE)
698 TYPE_CHECKER(JSWeakSet, JS_WEAK_SET_TYPE) 698 TYPE_CHECKER(JSWeakSet, JS_WEAK_SET_TYPE)
699 TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE) 699 TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE)
700 TYPE_CHECKER(Map, MAP_TYPE) 700 TYPE_CHECKER(Map, MAP_TYPE)
701 TYPE_CHECKER(FixedDoubleArray, FIXED_DOUBLE_ARRAY_TYPE) 701 TYPE_CHECKER(FixedDoubleArray, FIXED_DOUBLE_ARRAY_TYPE)
702 TYPE_CHECKER(WeakFixedArray, FIXED_ARRAY_TYPE) 702 TYPE_CHECKER(WeakFixedArray, FIXED_ARRAY_TYPE)
703 TYPE_CHECKER(TransitionArray, TRANSITION_ARRAY_TYPE) 703 TYPE_CHECKER(TransitionArray, TRANSITION_ARRAY_TYPE)
704 TYPE_CHECKER(JSStringIterator, JS_STRING_ITERATOR_TYPE) 704 TYPE_CHECKER(JSStringIterator, JS_STRING_ITERATOR_TYPE)
705 TYPE_CHECKER(JSFixedArrayIterator, JS_FIXED_ARRAY_ITERATOR_TYPE)
705 706
706 bool HeapObject::IsJSWeakCollection() const { 707 bool HeapObject::IsJSWeakCollection() const {
707 return IsJSWeakMap() || IsJSWeakSet(); 708 return IsJSWeakMap() || IsJSWeakSet();
708 } 709 }
709 710
710 bool HeapObject::IsJSCollection() const { return IsJSMap() || IsJSSet(); } 711 bool HeapObject::IsJSCollection() const { return IsJSMap() || IsJSSet(); }
711 712
712 bool HeapObject::IsDescriptorArray() const { return IsFixedArray(); } 713 bool HeapObject::IsDescriptorArray() const { return IsFixedArray(); }
713 714
714 bool HeapObject::IsFrameArray() const { return IsFixedArray(); } 715 bool HeapObject::IsFrameArray() const { return IsFixedArray(); }
(...skipping 1392 matching lines...) Expand 10 before | Expand all | Expand 10 after
2107 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: 2108 case JS_CONTEXT_EXTENSION_OBJECT_TYPE:
2108 return JSObject::kHeaderSize; 2109 return JSObject::kHeaderSize;
2109 case JS_MESSAGE_OBJECT_TYPE: 2110 case JS_MESSAGE_OBJECT_TYPE:
2110 return JSMessageObject::kSize; 2111 return JSMessageObject::kSize;
2111 case JS_ARGUMENTS_TYPE: 2112 case JS_ARGUMENTS_TYPE:
2112 return JSArgumentsObject::kHeaderSize; 2113 return JSArgumentsObject::kHeaderSize;
2113 case JS_ERROR_TYPE: 2114 case JS_ERROR_TYPE:
2114 return JSObject::kHeaderSize; 2115 return JSObject::kHeaderSize;
2115 case JS_STRING_ITERATOR_TYPE: 2116 case JS_STRING_ITERATOR_TYPE:
2116 return JSStringIterator::kSize; 2117 return JSStringIterator::kSize;
2118 case JS_FIXED_ARRAY_ITERATOR_TYPE:
2119 return JSFixedArrayIterator::kSize;
2117 default: 2120 default:
2118 UNREACHABLE(); 2121 UNREACHABLE();
2119 return 0; 2122 return 0;
2120 } 2123 }
2121 } 2124 }
2122 2125
2123 2126
2124 int JSObject::GetInternalFieldCount(Map* map) { 2127 int JSObject::GetInternalFieldCount(Map* map) {
2125 int instance_size = map->instance_size(); 2128 int instance_size = map->instance_size();
2126 if (instance_size == kVariableSizeSentinel) return 0; 2129 if (instance_size == kVariableSizeSentinel) return 0;
(...skipping 1144 matching lines...) Expand 10 before | Expand all | Expand 10 after
3271 CAST_ACCESSOR(JSDataView) 3274 CAST_ACCESSOR(JSDataView)
3272 CAST_ACCESSOR(JSDate) 3275 CAST_ACCESSOR(JSDate)
3273 CAST_ACCESSOR(JSFunction) 3276 CAST_ACCESSOR(JSFunction)
3274 CAST_ACCESSOR(JSGeneratorObject) 3277 CAST_ACCESSOR(JSGeneratorObject)
3275 CAST_ACCESSOR(JSGlobalObject) 3278 CAST_ACCESSOR(JSGlobalObject)
3276 CAST_ACCESSOR(JSGlobalProxy) 3279 CAST_ACCESSOR(JSGlobalProxy)
3277 CAST_ACCESSOR(JSMap) 3280 CAST_ACCESSOR(JSMap)
3278 CAST_ACCESSOR(JSMapIterator) 3281 CAST_ACCESSOR(JSMapIterator)
3279 CAST_ACCESSOR(JSMessageObject) 3282 CAST_ACCESSOR(JSMessageObject)
3280 CAST_ACCESSOR(JSModuleNamespace) 3283 CAST_ACCESSOR(JSModuleNamespace)
3284 CAST_ACCESSOR(JSFixedArrayIterator)
3281 CAST_ACCESSOR(JSObject) 3285 CAST_ACCESSOR(JSObject)
3282 CAST_ACCESSOR(JSProxy) 3286 CAST_ACCESSOR(JSProxy)
3283 CAST_ACCESSOR(JSReceiver) 3287 CAST_ACCESSOR(JSReceiver)
3284 CAST_ACCESSOR(JSRegExp) 3288 CAST_ACCESSOR(JSRegExp)
3285 CAST_ACCESSOR(JSSet) 3289 CAST_ACCESSOR(JSSet)
3286 CAST_ACCESSOR(JSSetIterator) 3290 CAST_ACCESSOR(JSSetIterator)
3287 CAST_ACCESSOR(JSStringIterator) 3291 CAST_ACCESSOR(JSStringIterator)
3288 CAST_ACCESSOR(JSTypedArray) 3292 CAST_ACCESSOR(JSTypedArray)
3289 CAST_ACCESSOR(JSValue) 3293 CAST_ACCESSOR(JSValue)
3290 CAST_ACCESSOR(JSWeakCollection) 3294 CAST_ACCESSOR(JSWeakCollection)
(...skipping 2411 matching lines...) Expand 10 before | Expand all | Expand 10 after
5702 SMI_ACCESSORS(PrototypeInfo, registry_slot, kRegistrySlotOffset) 5706 SMI_ACCESSORS(PrototypeInfo, registry_slot, kRegistrySlotOffset)
5703 ACCESSORS(PrototypeInfo, validity_cell, Object, kValidityCellOffset) 5707 ACCESSORS(PrototypeInfo, validity_cell, Object, kValidityCellOffset)
5704 SMI_ACCESSORS(PrototypeInfo, bit_field, kBitFieldOffset) 5708 SMI_ACCESSORS(PrototypeInfo, bit_field, kBitFieldOffset)
5705 BOOL_ACCESSORS(PrototypeInfo, bit_field, should_be_fast_map, kShouldBeFastBit) 5709 BOOL_ACCESSORS(PrototypeInfo, bit_field, should_be_fast_map, kShouldBeFastBit)
5706 5710
5707 ACCESSORS(ContextExtension, scope_info, ScopeInfo, kScopeInfoOffset) 5711 ACCESSORS(ContextExtension, scope_info, ScopeInfo, kScopeInfoOffset)
5708 ACCESSORS(ContextExtension, extension, Object, kExtensionOffset) 5712 ACCESSORS(ContextExtension, extension, Object, kExtensionOffset)
5709 5713
5710 ACCESSORS(JSModuleNamespace, module, Module, kModuleOffset) 5714 ACCESSORS(JSModuleNamespace, module, Module, kModuleOffset)
5711 5715
5716 ACCESSORS(JSFixedArrayIterator, next, JSFunction, kNextOffset)
5717 ACCESSORS(JSFixedArrayIterator, array, FixedArray, kArrayOffset)
5718 SMI_ACCESSORS(JSFixedArrayIterator, index, kIndexOffset)
5719
5712 ACCESSORS(Module, code, Object, kCodeOffset) 5720 ACCESSORS(Module, code, Object, kCodeOffset)
5713 ACCESSORS(Module, exports, ObjectHashTable, kExportsOffset) 5721 ACCESSORS(Module, exports, ObjectHashTable, kExportsOffset)
5714 ACCESSORS(Module, module_namespace, HeapObject, kModuleNamespaceOffset) 5722 ACCESSORS(Module, module_namespace, HeapObject, kModuleNamespaceOffset)
5715 ACCESSORS(Module, requested_modules, FixedArray, kRequestedModulesOffset) 5723 ACCESSORS(Module, requested_modules, FixedArray, kRequestedModulesOffset)
5716 SMI_ACCESSORS(Module, flags, kFlagsOffset) 5724 SMI_ACCESSORS(Module, flags, kFlagsOffset)
5717 BOOL_ACCESSORS(Module, flags, evaluated, kEvaluatedBit) 5725 BOOL_ACCESSORS(Module, flags, evaluated, kEvaluatedBit)
5718 ACCESSORS(Module, embedder_data, Object, kEmbedderDataOffset) 5726 ACCESSORS(Module, embedder_data, Object, kEmbedderDataOffset)
5719 SMI_ACCESSORS(Module, hash, kHashOffset) 5727 SMI_ACCESSORS(Module, hash, kHashOffset)
5720 5728
5721 SharedFunctionInfo* Module::shared() const { 5729 SharedFunctionInfo* Module::shared() const {
(...skipping 2604 matching lines...) Expand 10 before | Expand all | Expand 10 after
8326 #undef WRITE_INT64_FIELD 8334 #undef WRITE_INT64_FIELD
8327 #undef READ_BYTE_FIELD 8335 #undef READ_BYTE_FIELD
8328 #undef WRITE_BYTE_FIELD 8336 #undef WRITE_BYTE_FIELD
8329 #undef NOBARRIER_READ_BYTE_FIELD 8337 #undef NOBARRIER_READ_BYTE_FIELD
8330 #undef NOBARRIER_WRITE_BYTE_FIELD 8338 #undef NOBARRIER_WRITE_BYTE_FIELD
8331 8339
8332 } // namespace internal 8340 } // namespace internal
8333 } // namespace v8 8341 } // namespace v8
8334 8342
8335 #endif // V8_OBJECTS_INL_H_ 8343 #endif // V8_OBJECTS_INL_H_
OLDNEW
« src/factory.cc ('K') | « src/objects-debug.cc ('k') | src/objects-printer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698