OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
689 bool Object::IsJSProxy() { | 689 bool Object::IsJSProxy() { |
690 if (!Object::IsHeapObject()) return false; | 690 if (!Object::IsHeapObject()) return false; |
691 InstanceType type = HeapObject::cast(this)->map()->instance_type(); | 691 InstanceType type = HeapObject::cast(this)->map()->instance_type(); |
692 return FIRST_JS_PROXY_TYPE <= type && type <= LAST_JS_PROXY_TYPE; | 692 return FIRST_JS_PROXY_TYPE <= type && type <= LAST_JS_PROXY_TYPE; |
693 } | 693 } |
694 | 694 |
695 | 695 |
696 TYPE_CHECKER(JSFunctionProxy, JS_FUNCTION_PROXY_TYPE) | 696 TYPE_CHECKER(JSFunctionProxy, JS_FUNCTION_PROXY_TYPE) |
697 TYPE_CHECKER(JSSet, JS_SET_TYPE) | 697 TYPE_CHECKER(JSSet, JS_SET_TYPE) |
698 TYPE_CHECKER(JSMap, JS_MAP_TYPE) | 698 TYPE_CHECKER(JSMap, JS_MAP_TYPE) |
| 699 TYPE_CHECKER(JSSetIterator, JS_SET_ITERATOR_TYPE) |
| 700 TYPE_CHECKER(JSMapIterator, JS_MAP_ITERATOR_TYPE) |
699 TYPE_CHECKER(JSWeakMap, JS_WEAK_MAP_TYPE) | 701 TYPE_CHECKER(JSWeakMap, JS_WEAK_MAP_TYPE) |
700 TYPE_CHECKER(JSWeakSet, JS_WEAK_SET_TYPE) | 702 TYPE_CHECKER(JSWeakSet, JS_WEAK_SET_TYPE) |
701 TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE) | 703 TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE) |
702 TYPE_CHECKER(Map, MAP_TYPE) | 704 TYPE_CHECKER(Map, MAP_TYPE) |
703 TYPE_CHECKER(FixedArray, FIXED_ARRAY_TYPE) | 705 TYPE_CHECKER(FixedArray, FIXED_ARRAY_TYPE) |
704 TYPE_CHECKER(FixedDoubleArray, FIXED_DOUBLE_ARRAY_TYPE) | 706 TYPE_CHECKER(FixedDoubleArray, FIXED_DOUBLE_ARRAY_TYPE) |
705 TYPE_CHECKER(ConstantPoolArray, CONSTANT_POOL_ARRAY_TYPE) | 707 TYPE_CHECKER(ConstantPoolArray, CONSTANT_POOL_ARRAY_TYPE) |
706 | 708 |
707 | 709 |
708 bool Object::IsJSWeakCollection() { | 710 bool Object::IsJSWeakCollection() { |
(...skipping 1200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1909 case JS_ARRAY_BUFFER_TYPE: | 1911 case JS_ARRAY_BUFFER_TYPE: |
1910 return JSArrayBuffer::kSize; | 1912 return JSArrayBuffer::kSize; |
1911 case JS_TYPED_ARRAY_TYPE: | 1913 case JS_TYPED_ARRAY_TYPE: |
1912 return JSTypedArray::kSize; | 1914 return JSTypedArray::kSize; |
1913 case JS_DATA_VIEW_TYPE: | 1915 case JS_DATA_VIEW_TYPE: |
1914 return JSDataView::kSize; | 1916 return JSDataView::kSize; |
1915 case JS_SET_TYPE: | 1917 case JS_SET_TYPE: |
1916 return JSSet::kSize; | 1918 return JSSet::kSize; |
1917 case JS_MAP_TYPE: | 1919 case JS_MAP_TYPE: |
1918 return JSMap::kSize; | 1920 return JSMap::kSize; |
| 1921 case JS_SET_ITERATOR_TYPE: |
| 1922 return JSSetIterator::kSize; |
| 1923 case JS_MAP_ITERATOR_TYPE: |
| 1924 return JSMapIterator::kSize; |
1919 case JS_WEAK_MAP_TYPE: | 1925 case JS_WEAK_MAP_TYPE: |
1920 return JSWeakMap::kSize; | 1926 return JSWeakMap::kSize; |
1921 case JS_WEAK_SET_TYPE: | 1927 case JS_WEAK_SET_TYPE: |
1922 return JSWeakSet::kSize; | 1928 return JSWeakSet::kSize; |
1923 case JS_REGEXP_TYPE: | 1929 case JS_REGEXP_TYPE: |
1924 return JSRegExp::kSize; | 1930 return JSRegExp::kSize; |
1925 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: | 1931 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: |
1926 return JSObject::kHeaderSize; | 1932 return JSObject::kHeaderSize; |
1927 case JS_MESSAGE_OBJECT_TYPE: | 1933 case JS_MESSAGE_OBJECT_TYPE: |
1928 return JSMessageObject::kSize; | 1934 return JSMessageObject::kSize; |
(...skipping 1040 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2969 CAST_ACCESSOR(JSArray) | 2975 CAST_ACCESSOR(JSArray) |
2970 CAST_ACCESSOR(JSArrayBuffer) | 2976 CAST_ACCESSOR(JSArrayBuffer) |
2971 CAST_ACCESSOR(JSArrayBufferView) | 2977 CAST_ACCESSOR(JSArrayBufferView) |
2972 CAST_ACCESSOR(JSTypedArray) | 2978 CAST_ACCESSOR(JSTypedArray) |
2973 CAST_ACCESSOR(JSDataView) | 2979 CAST_ACCESSOR(JSDataView) |
2974 CAST_ACCESSOR(JSRegExp) | 2980 CAST_ACCESSOR(JSRegExp) |
2975 CAST_ACCESSOR(JSProxy) | 2981 CAST_ACCESSOR(JSProxy) |
2976 CAST_ACCESSOR(JSFunctionProxy) | 2982 CAST_ACCESSOR(JSFunctionProxy) |
2977 CAST_ACCESSOR(JSSet) | 2983 CAST_ACCESSOR(JSSet) |
2978 CAST_ACCESSOR(JSMap) | 2984 CAST_ACCESSOR(JSMap) |
| 2985 CAST_ACCESSOR(JSSetIterator) |
| 2986 CAST_ACCESSOR(JSMapIterator) |
2979 CAST_ACCESSOR(JSWeakMap) | 2987 CAST_ACCESSOR(JSWeakMap) |
2980 CAST_ACCESSOR(JSWeakSet) | 2988 CAST_ACCESSOR(JSWeakSet) |
2981 CAST_ACCESSOR(Foreign) | 2989 CAST_ACCESSOR(Foreign) |
2982 CAST_ACCESSOR(ByteArray) | 2990 CAST_ACCESSOR(ByteArray) |
2983 CAST_ACCESSOR(FreeSpace) | 2991 CAST_ACCESSOR(FreeSpace) |
2984 CAST_ACCESSOR(ExternalArray) | 2992 CAST_ACCESSOR(ExternalArray) |
2985 CAST_ACCESSOR(ExternalInt8Array) | 2993 CAST_ACCESSOR(ExternalInt8Array) |
2986 CAST_ACCESSOR(ExternalUint8Array) | 2994 CAST_ACCESSOR(ExternalUint8Array) |
2987 CAST_ACCESSOR(ExternalInt16Array) | 2995 CAST_ACCESSOR(ExternalInt16Array) |
2988 CAST_ACCESSOR(ExternalUint16Array) | 2996 CAST_ACCESSOR(ExternalUint16Array) |
(...skipping 2811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5800 void JSProxy::InitializeBody(int object_size, Object* value) { | 5808 void JSProxy::InitializeBody(int object_size, Object* value) { |
5801 ASSERT(!value->IsHeapObject() || !GetHeap()->InNewSpace(value)); | 5809 ASSERT(!value->IsHeapObject() || !GetHeap()->InNewSpace(value)); |
5802 for (int offset = kHeaderSize; offset < object_size; offset += kPointerSize) { | 5810 for (int offset = kHeaderSize; offset < object_size; offset += kPointerSize) { |
5803 WRITE_FIELD(this, offset, value); | 5811 WRITE_FIELD(this, offset, value); |
5804 } | 5812 } |
5805 } | 5813 } |
5806 | 5814 |
5807 | 5815 |
5808 ACCESSORS(JSSet, table, Object, kTableOffset) | 5816 ACCESSORS(JSSet, table, Object, kTableOffset) |
5809 ACCESSORS(JSMap, table, Object, kTableOffset) | 5817 ACCESSORS(JSMap, table, Object, kTableOffset) |
| 5818 |
| 5819 |
| 5820 #define ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(name, type, offset) \ |
| 5821 template<class Derived, class TableType> \ |
| 5822 type* OrderedHashTableIterator<Derived, TableType>::name() { \ |
| 5823 return type::cast(READ_FIELD(this, offset)); \ |
| 5824 } \ |
| 5825 template<class Derived, class TableType> \ |
| 5826 void OrderedHashTableIterator<Derived, TableType>::set_##name( \ |
| 5827 type* value, WriteBarrierMode mode) { \ |
| 5828 WRITE_FIELD(this, offset, value); \ |
| 5829 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, offset, value, mode); \ |
| 5830 } |
| 5831 |
| 5832 ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(table, Object, kTableOffset) |
| 5833 ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(index, Smi, kIndexOffset) |
| 5834 ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(count, Smi, kCountOffset) |
| 5835 ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(kind, Smi, kKindOffset) |
| 5836 ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(next_iterator, Object, |
| 5837 kNextIteratorOffset) |
| 5838 ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(previous_iterator, Object, |
| 5839 kPreviousIteratorOffset) |
| 5840 |
| 5841 #undef ORDERED_HASH_TABLE_ITERATOR_ACCESSORS |
| 5842 |
| 5843 |
5810 ACCESSORS(JSWeakCollection, table, Object, kTableOffset) | 5844 ACCESSORS(JSWeakCollection, table, Object, kTableOffset) |
5811 ACCESSORS(JSWeakCollection, next, Object, kNextOffset) | 5845 ACCESSORS(JSWeakCollection, next, Object, kNextOffset) |
5812 | 5846 |
5813 | 5847 |
5814 Address Foreign::foreign_address() { | 5848 Address Foreign::foreign_address() { |
5815 return AddressFrom<Address>(READ_INTPTR_FIELD(this, kForeignAddressOffset)); | 5849 return AddressFrom<Address>(READ_INTPTR_FIELD(this, kForeignAddressOffset)); |
5816 } | 5850 } |
5817 | 5851 |
5818 | 5852 |
5819 void Foreign::set_foreign_address(Address value) { | 5853 void Foreign::set_foreign_address(Address value) { |
(...skipping 1160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6980 #undef READ_SHORT_FIELD | 7014 #undef READ_SHORT_FIELD |
6981 #undef WRITE_SHORT_FIELD | 7015 #undef WRITE_SHORT_FIELD |
6982 #undef READ_BYTE_FIELD | 7016 #undef READ_BYTE_FIELD |
6983 #undef WRITE_BYTE_FIELD | 7017 #undef WRITE_BYTE_FIELD |
6984 #undef NOBARRIER_READ_BYTE_FIELD | 7018 #undef NOBARRIER_READ_BYTE_FIELD |
6985 #undef NOBARRIER_WRITE_BYTE_FIELD | 7019 #undef NOBARRIER_WRITE_BYTE_FIELD |
6986 | 7020 |
6987 } } // namespace v8::internal | 7021 } } // namespace v8::internal |
6988 | 7022 |
6989 #endif // V8_OBJECTS_INL_H_ | 7023 #endif // V8_OBJECTS_INL_H_ |
OLD | NEW |