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 887 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
898 return IsHashTable() && | 898 return IsHashTable() && |
899 this != HeapObject::cast(this)->GetHeap()->string_table(); | 899 this != HeapObject::cast(this)->GetHeap()->string_table(); |
900 } | 900 } |
901 | 901 |
902 | 902 |
903 bool Object::IsNameDictionary() const { | 903 bool Object::IsNameDictionary() const { |
904 return IsDictionary(); | 904 return IsDictionary(); |
905 } | 905 } |
906 | 906 |
907 | 907 |
| 908 bool Object::IsGlobalDictionary() const { return IsDictionary(); } |
| 909 |
| 910 |
908 bool Object::IsSeededNumberDictionary() const { | 911 bool Object::IsSeededNumberDictionary() const { |
909 return IsDictionary(); | 912 return IsDictionary(); |
910 } | 913 } |
911 | 914 |
912 | 915 |
913 bool Object::IsUnseededNumberDictionary() const { | 916 bool Object::IsUnseededNumberDictionary() const { |
914 return IsDictionary(); | 917 return IsDictionary(); |
915 } | 918 } |
916 | 919 |
917 | 920 |
(...skipping 2457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3375 CAST_ACCESSOR(ExternalTwoByteString) | 3378 CAST_ACCESSOR(ExternalTwoByteString) |
3376 CAST_ACCESSOR(ExternalUint16Array) | 3379 CAST_ACCESSOR(ExternalUint16Array) |
3377 CAST_ACCESSOR(ExternalUint32Array) | 3380 CAST_ACCESSOR(ExternalUint32Array) |
3378 CAST_ACCESSOR(ExternalUint8Array) | 3381 CAST_ACCESSOR(ExternalUint8Array) |
3379 CAST_ACCESSOR(ExternalUint8ClampedArray) | 3382 CAST_ACCESSOR(ExternalUint8ClampedArray) |
3380 CAST_ACCESSOR(FixedArray) | 3383 CAST_ACCESSOR(FixedArray) |
3381 CAST_ACCESSOR(FixedArrayBase) | 3384 CAST_ACCESSOR(FixedArrayBase) |
3382 CAST_ACCESSOR(FixedDoubleArray) | 3385 CAST_ACCESSOR(FixedDoubleArray) |
3383 CAST_ACCESSOR(FixedTypedArrayBase) | 3386 CAST_ACCESSOR(FixedTypedArrayBase) |
3384 CAST_ACCESSOR(Foreign) | 3387 CAST_ACCESSOR(Foreign) |
| 3388 CAST_ACCESSOR(GlobalDictionary) |
3385 CAST_ACCESSOR(GlobalObject) | 3389 CAST_ACCESSOR(GlobalObject) |
3386 CAST_ACCESSOR(HandlerTable) | 3390 CAST_ACCESSOR(HandlerTable) |
3387 CAST_ACCESSOR(HeapObject) | 3391 CAST_ACCESSOR(HeapObject) |
3388 CAST_ACCESSOR(JSArray) | 3392 CAST_ACCESSOR(JSArray) |
3389 CAST_ACCESSOR(JSArrayBuffer) | 3393 CAST_ACCESSOR(JSArrayBuffer) |
3390 CAST_ACCESSOR(JSArrayBufferView) | 3394 CAST_ACCESSOR(JSArrayBufferView) |
3391 CAST_ACCESSOR(JSBuiltinsObject) | 3395 CAST_ACCESSOR(JSBuiltinsObject) |
3392 CAST_ACCESSOR(JSDataView) | 3396 CAST_ACCESSOR(JSDataView) |
3393 CAST_ACCESSOR(JSDate) | 3397 CAST_ACCESSOR(JSDate) |
3394 CAST_ACCESSOR(JSFunction) | 3398 CAST_ACCESSOR(JSFunction) |
(...skipping 3329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6724 } | 6728 } |
6725 | 6729 |
6726 | 6730 |
6727 bool JSObject::HasIndexedInterceptor() { | 6731 bool JSObject::HasIndexedInterceptor() { |
6728 return map()->has_indexed_interceptor(); | 6732 return map()->has_indexed_interceptor(); |
6729 } | 6733 } |
6730 | 6734 |
6731 | 6735 |
6732 NameDictionary* JSObject::property_dictionary() { | 6736 NameDictionary* JSObject::property_dictionary() { |
6733 DCHECK(!HasFastProperties()); | 6737 DCHECK(!HasFastProperties()); |
| 6738 // TODO(ishell): Uncomment, once all property_dictionary() usages for global |
| 6739 // objects are replaced with global_dictionary(). |
| 6740 // DCHECK(!IsGlobalObject()); |
6734 return NameDictionary::cast(properties()); | 6741 return NameDictionary::cast(properties()); |
6735 } | 6742 } |
6736 | 6743 |
6737 | 6744 |
| 6745 GlobalDictionary* JSObject::global_dictionary() { |
| 6746 DCHECK(!HasFastProperties()); |
| 6747 DCHECK(IsGlobalObject()); |
| 6748 return GlobalDictionary::cast(properties()); |
| 6749 } |
| 6750 |
| 6751 |
6738 SeededNumberDictionary* JSObject::element_dictionary() { | 6752 SeededNumberDictionary* JSObject::element_dictionary() { |
6739 DCHECK(HasDictionaryElements()); | 6753 DCHECK(HasDictionaryElements()); |
6740 return SeededNumberDictionary::cast(elements()); | 6754 return SeededNumberDictionary::cast(elements()); |
6741 } | 6755 } |
6742 | 6756 |
6743 | 6757 |
6744 bool Name::IsHashFieldComputed(uint32_t field) { | 6758 bool Name::IsHashFieldComputed(uint32_t field) { |
6745 return (field & kHashNotComputedMask) == 0; | 6759 return (field & kHashNotComputedMask) == 0; |
6746 } | 6760 } |
6747 | 6761 |
(...skipping 893 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7641 #undef READ_SHORT_FIELD | 7655 #undef READ_SHORT_FIELD |
7642 #undef WRITE_SHORT_FIELD | 7656 #undef WRITE_SHORT_FIELD |
7643 #undef READ_BYTE_FIELD | 7657 #undef READ_BYTE_FIELD |
7644 #undef WRITE_BYTE_FIELD | 7658 #undef WRITE_BYTE_FIELD |
7645 #undef NOBARRIER_READ_BYTE_FIELD | 7659 #undef NOBARRIER_READ_BYTE_FIELD |
7646 #undef NOBARRIER_WRITE_BYTE_FIELD | 7660 #undef NOBARRIER_WRITE_BYTE_FIELD |
7647 | 7661 |
7648 } } // namespace v8::internal | 7662 } } // namespace v8::internal |
7649 | 7663 |
7650 #endif // V8_OBJECTS_INL_H_ | 7664 #endif // V8_OBJECTS_INL_H_ |
OLD | NEW |