| 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 683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 694 TYPE_CHECKER(JSMap, JS_MAP_TYPE) | 694 TYPE_CHECKER(JSMap, JS_MAP_TYPE) |
| 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 | 705 |
| 705 bool HeapObject::IsJSWeakCollection() const { | 706 bool HeapObject::IsJSWeakCollection() const { |
| 706 return IsJSWeakMap() || IsJSWeakSet(); | 707 return IsJSWeakMap() || IsJSWeakSet(); |
| 707 } | 708 } |
| 708 | 709 |
| 709 bool HeapObject::IsJSCollection() const { return IsJSMap() || IsJSSet(); } | 710 bool HeapObject::IsJSCollection() const { return IsJSMap() || IsJSSet(); } |
| 710 | 711 |
| 711 bool HeapObject::IsDescriptorArray() const { return IsFixedArray(); } | 712 bool HeapObject::IsDescriptorArray() const { return IsFixedArray(); } |
| 712 | 713 |
| 713 bool HeapObject::IsFrameArray() const { return IsFixedArray(); } | 714 bool HeapObject::IsFrameArray() const { return IsFixedArray(); } |
| (...skipping 1392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2106 case JS_REGEXP_TYPE: | 2107 case JS_REGEXP_TYPE: |
| 2107 return JSRegExp::kSize; | 2108 return JSRegExp::kSize; |
| 2108 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: | 2109 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: |
| 2109 return JSObject::kHeaderSize; | 2110 return JSObject::kHeaderSize; |
| 2110 case JS_MESSAGE_OBJECT_TYPE: | 2111 case JS_MESSAGE_OBJECT_TYPE: |
| 2111 return JSMessageObject::kSize; | 2112 return JSMessageObject::kSize; |
| 2112 case JS_ARGUMENTS_TYPE: | 2113 case JS_ARGUMENTS_TYPE: |
| 2113 return JSArgumentsObject::kHeaderSize; | 2114 return JSArgumentsObject::kHeaderSize; |
| 2114 case JS_ERROR_TYPE: | 2115 case JS_ERROR_TYPE: |
| 2115 return JSObject::kHeaderSize; | 2116 return JSObject::kHeaderSize; |
| 2117 case JS_STRING_ITERATOR_TYPE: |
| 2118 return JSStringIterator::kSize; |
| 2116 default: | 2119 default: |
| 2117 UNREACHABLE(); | 2120 UNREACHABLE(); |
| 2118 return 0; | 2121 return 0; |
| 2119 } | 2122 } |
| 2120 } | 2123 } |
| 2121 | 2124 |
| 2122 | 2125 |
| 2123 int JSObject::GetInternalFieldCount(Map* map) { | 2126 int JSObject::GetInternalFieldCount(Map* map) { |
| 2124 int instance_size = map->instance_size(); | 2127 int instance_size = map->instance_size(); |
| 2125 if (instance_size == kVariableSizeSentinel) return 0; | 2128 if (instance_size == kVariableSizeSentinel) return 0; |
| (...skipping 1149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3275 CAST_ACCESSOR(JSGlobalProxy) | 3278 CAST_ACCESSOR(JSGlobalProxy) |
| 3276 CAST_ACCESSOR(JSMap) | 3279 CAST_ACCESSOR(JSMap) |
| 3277 CAST_ACCESSOR(JSMapIterator) | 3280 CAST_ACCESSOR(JSMapIterator) |
| 3278 CAST_ACCESSOR(JSMessageObject) | 3281 CAST_ACCESSOR(JSMessageObject) |
| 3279 CAST_ACCESSOR(JSObject) | 3282 CAST_ACCESSOR(JSObject) |
| 3280 CAST_ACCESSOR(JSProxy) | 3283 CAST_ACCESSOR(JSProxy) |
| 3281 CAST_ACCESSOR(JSReceiver) | 3284 CAST_ACCESSOR(JSReceiver) |
| 3282 CAST_ACCESSOR(JSRegExp) | 3285 CAST_ACCESSOR(JSRegExp) |
| 3283 CAST_ACCESSOR(JSSet) | 3286 CAST_ACCESSOR(JSSet) |
| 3284 CAST_ACCESSOR(JSSetIterator) | 3287 CAST_ACCESSOR(JSSetIterator) |
| 3288 CAST_ACCESSOR(JSStringIterator) |
| 3285 CAST_ACCESSOR(JSTypedArray) | 3289 CAST_ACCESSOR(JSTypedArray) |
| 3286 CAST_ACCESSOR(JSValue) | 3290 CAST_ACCESSOR(JSValue) |
| 3287 CAST_ACCESSOR(JSWeakCollection) | 3291 CAST_ACCESSOR(JSWeakCollection) |
| 3288 CAST_ACCESSOR(JSWeakMap) | 3292 CAST_ACCESSOR(JSWeakMap) |
| 3289 CAST_ACCESSOR(JSWeakSet) | 3293 CAST_ACCESSOR(JSWeakSet) |
| 3290 CAST_ACCESSOR(LayoutDescriptor) | 3294 CAST_ACCESSOR(LayoutDescriptor) |
| 3291 CAST_ACCESSOR(Map) | 3295 CAST_ACCESSOR(Map) |
| 3292 CAST_ACCESSOR(ModuleInfoEntry) | 3296 CAST_ACCESSOR(ModuleInfoEntry) |
| 3293 CAST_ACCESSOR(ModuleInfo) | 3297 CAST_ACCESSOR(ModuleInfo) |
| 3294 CAST_ACCESSOR(Name) | 3298 CAST_ACCESSOR(Name) |
| (...skipping 4968 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8263 Handle<FixedArray> entry_storage = | 8267 Handle<FixedArray> entry_storage = |
| 8264 isolate->factory()->NewUninitializedFixedArray(2); | 8268 isolate->factory()->NewUninitializedFixedArray(2); |
| 8265 { | 8269 { |
| 8266 entry_storage->set(0, *key, SKIP_WRITE_BARRIER); | 8270 entry_storage->set(0, *key, SKIP_WRITE_BARRIER); |
| 8267 entry_storage->set(1, *value, SKIP_WRITE_BARRIER); | 8271 entry_storage->set(1, *value, SKIP_WRITE_BARRIER); |
| 8268 } | 8272 } |
| 8269 return isolate->factory()->NewJSArrayWithElements(entry_storage, | 8273 return isolate->factory()->NewJSArrayWithElements(entry_storage, |
| 8270 FAST_ELEMENTS, 2); | 8274 FAST_ELEMENTS, 2); |
| 8271 } | 8275 } |
| 8272 | 8276 |
| 8277 ACCESSORS(JSIteratorResult, value, Object, kValueOffset) |
| 8278 ACCESSORS(JSIteratorResult, done, Object, kDoneOffset) |
| 8279 |
| 8280 ACCESSORS(JSStringIterator, string, String, kStringOffset) |
| 8281 SMI_ACCESSORS(JSStringIterator, index, kNextIndexOffset) |
| 8282 |
| 8273 #undef TYPE_CHECKER | 8283 #undef TYPE_CHECKER |
| 8274 #undef CAST_ACCESSOR | 8284 #undef CAST_ACCESSOR |
| 8275 #undef INT_ACCESSORS | 8285 #undef INT_ACCESSORS |
| 8276 #undef ACCESSORS | 8286 #undef ACCESSORS |
| 8277 #undef SMI_ACCESSORS | 8287 #undef SMI_ACCESSORS |
| 8278 #undef SYNCHRONIZED_SMI_ACCESSORS | 8288 #undef SYNCHRONIZED_SMI_ACCESSORS |
| 8279 #undef NOBARRIER_SMI_ACCESSORS | 8289 #undef NOBARRIER_SMI_ACCESSORS |
| 8280 #undef BOOL_GETTER | 8290 #undef BOOL_GETTER |
| 8281 #undef BOOL_ACCESSORS | 8291 #undef BOOL_ACCESSORS |
| 8282 #undef FIELD_ADDR | 8292 #undef FIELD_ADDR |
| (...skipping 30 matching lines...) Expand all Loading... |
| 8313 #undef WRITE_INT64_FIELD | 8323 #undef WRITE_INT64_FIELD |
| 8314 #undef READ_BYTE_FIELD | 8324 #undef READ_BYTE_FIELD |
| 8315 #undef WRITE_BYTE_FIELD | 8325 #undef WRITE_BYTE_FIELD |
| 8316 #undef NOBARRIER_READ_BYTE_FIELD | 8326 #undef NOBARRIER_READ_BYTE_FIELD |
| 8317 #undef NOBARRIER_WRITE_BYTE_FIELD | 8327 #undef NOBARRIER_WRITE_BYTE_FIELD |
| 8318 | 8328 |
| 8319 } // namespace internal | 8329 } // namespace internal |
| 8320 } // namespace v8 | 8330 } // namespace v8 |
| 8321 | 8331 |
| 8322 #endif // V8_OBJECTS_INL_H_ | 8332 #endif // V8_OBJECTS_INL_H_ |
| OLD | NEW |