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 695 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
706 bool Object::IsJSProxy() { | 706 bool Object::IsJSProxy() { |
707 if (!Object::IsHeapObject()) return false; | 707 if (!Object::IsHeapObject()) return false; |
708 InstanceType type = HeapObject::cast(this)->map()->instance_type(); | 708 InstanceType type = HeapObject::cast(this)->map()->instance_type(); |
709 return FIRST_JS_PROXY_TYPE <= type && type <= LAST_JS_PROXY_TYPE; | 709 return FIRST_JS_PROXY_TYPE <= type && type <= LAST_JS_PROXY_TYPE; |
710 } | 710 } |
711 | 711 |
712 | 712 |
713 TYPE_CHECKER(JSFunctionProxy, JS_FUNCTION_PROXY_TYPE) | 713 TYPE_CHECKER(JSFunctionProxy, JS_FUNCTION_PROXY_TYPE) |
714 TYPE_CHECKER(JSSet, JS_SET_TYPE) | 714 TYPE_CHECKER(JSSet, JS_SET_TYPE) |
715 TYPE_CHECKER(JSMap, JS_MAP_TYPE) | 715 TYPE_CHECKER(JSMap, JS_MAP_TYPE) |
716 TYPE_CHECKER(JSSetIterator, JS_SET_ITERATOR_TYPE) | |
717 TYPE_CHECKER(JSMapIterator, JS_MAP_ITERATOR_TYPE) | |
718 TYPE_CHECKER(JSWeakMap, JS_WEAK_MAP_TYPE) | 716 TYPE_CHECKER(JSWeakMap, JS_WEAK_MAP_TYPE) |
719 TYPE_CHECKER(JSWeakSet, JS_WEAK_SET_TYPE) | 717 TYPE_CHECKER(JSWeakSet, JS_WEAK_SET_TYPE) |
720 TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE) | 718 TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE) |
721 TYPE_CHECKER(Map, MAP_TYPE) | 719 TYPE_CHECKER(Map, MAP_TYPE) |
722 TYPE_CHECKER(FixedArray, FIXED_ARRAY_TYPE) | 720 TYPE_CHECKER(FixedArray, FIXED_ARRAY_TYPE) |
723 TYPE_CHECKER(FixedDoubleArray, FIXED_DOUBLE_ARRAY_TYPE) | 721 TYPE_CHECKER(FixedDoubleArray, FIXED_DOUBLE_ARRAY_TYPE) |
724 TYPE_CHECKER(ConstantPoolArray, CONSTANT_POOL_ARRAY_TYPE) | 722 TYPE_CHECKER(ConstantPoolArray, CONSTANT_POOL_ARRAY_TYPE) |
725 | 723 |
726 | 724 |
727 bool Object::IsJSWeakCollection() { | 725 bool Object::IsJSWeakCollection() { |
(...skipping 1192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1920 case JS_ARRAY_BUFFER_TYPE: | 1918 case JS_ARRAY_BUFFER_TYPE: |
1921 return JSArrayBuffer::kSize; | 1919 return JSArrayBuffer::kSize; |
1922 case JS_TYPED_ARRAY_TYPE: | 1920 case JS_TYPED_ARRAY_TYPE: |
1923 return JSTypedArray::kSize; | 1921 return JSTypedArray::kSize; |
1924 case JS_DATA_VIEW_TYPE: | 1922 case JS_DATA_VIEW_TYPE: |
1925 return JSDataView::kSize; | 1923 return JSDataView::kSize; |
1926 case JS_SET_TYPE: | 1924 case JS_SET_TYPE: |
1927 return JSSet::kSize; | 1925 return JSSet::kSize; |
1928 case JS_MAP_TYPE: | 1926 case JS_MAP_TYPE: |
1929 return JSMap::kSize; | 1927 return JSMap::kSize; |
1930 case JS_SET_ITERATOR_TYPE: | |
1931 return JSSetIterator::kSize; | |
1932 case JS_MAP_ITERATOR_TYPE: | |
1933 return JSMapIterator::kSize; | |
1934 case JS_WEAK_MAP_TYPE: | 1928 case JS_WEAK_MAP_TYPE: |
1935 return JSWeakMap::kSize; | 1929 return JSWeakMap::kSize; |
1936 case JS_WEAK_SET_TYPE: | 1930 case JS_WEAK_SET_TYPE: |
1937 return JSWeakSet::kSize; | 1931 return JSWeakSet::kSize; |
1938 case JS_REGEXP_TYPE: | 1932 case JS_REGEXP_TYPE: |
1939 return JSRegExp::kSize; | 1933 return JSRegExp::kSize; |
1940 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: | 1934 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: |
1941 return JSObject::kHeaderSize; | 1935 return JSObject::kHeaderSize; |
1942 case JS_MESSAGE_OBJECT_TYPE: | 1936 case JS_MESSAGE_OBJECT_TYPE: |
1943 return JSMessageObject::kSize; | 1937 return JSMessageObject::kSize; |
(...skipping 1048 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2992 CAST_ACCESSOR(JSArray) | 2986 CAST_ACCESSOR(JSArray) |
2993 CAST_ACCESSOR(JSArrayBuffer) | 2987 CAST_ACCESSOR(JSArrayBuffer) |
2994 CAST_ACCESSOR(JSArrayBufferView) | 2988 CAST_ACCESSOR(JSArrayBufferView) |
2995 CAST_ACCESSOR(JSTypedArray) | 2989 CAST_ACCESSOR(JSTypedArray) |
2996 CAST_ACCESSOR(JSDataView) | 2990 CAST_ACCESSOR(JSDataView) |
2997 CAST_ACCESSOR(JSRegExp) | 2991 CAST_ACCESSOR(JSRegExp) |
2998 CAST_ACCESSOR(JSProxy) | 2992 CAST_ACCESSOR(JSProxy) |
2999 CAST_ACCESSOR(JSFunctionProxy) | 2993 CAST_ACCESSOR(JSFunctionProxy) |
3000 CAST_ACCESSOR(JSSet) | 2994 CAST_ACCESSOR(JSSet) |
3001 CAST_ACCESSOR(JSMap) | 2995 CAST_ACCESSOR(JSMap) |
3002 CAST_ACCESSOR(JSSetIterator) | |
3003 CAST_ACCESSOR(JSMapIterator) | |
3004 CAST_ACCESSOR(JSWeakMap) | 2996 CAST_ACCESSOR(JSWeakMap) |
3005 CAST_ACCESSOR(JSWeakSet) | 2997 CAST_ACCESSOR(JSWeakSet) |
3006 CAST_ACCESSOR(Foreign) | 2998 CAST_ACCESSOR(Foreign) |
3007 CAST_ACCESSOR(ByteArray) | 2999 CAST_ACCESSOR(ByteArray) |
3008 CAST_ACCESSOR(FreeSpace) | 3000 CAST_ACCESSOR(FreeSpace) |
3009 CAST_ACCESSOR(ExternalArray) | 3001 CAST_ACCESSOR(ExternalArray) |
3010 CAST_ACCESSOR(ExternalInt8Array) | 3002 CAST_ACCESSOR(ExternalInt8Array) |
3011 CAST_ACCESSOR(ExternalUint8Array) | 3003 CAST_ACCESSOR(ExternalUint8Array) |
3012 CAST_ACCESSOR(ExternalInt16Array) | 3004 CAST_ACCESSOR(ExternalInt16Array) |
3013 CAST_ACCESSOR(ExternalUint16Array) | 3005 CAST_ACCESSOR(ExternalUint16Array) |
(...skipping 2907 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5921 void JSProxy::InitializeBody(int object_size, Object* value) { | 5913 void JSProxy::InitializeBody(int object_size, Object* value) { |
5922 ASSERT(!value->IsHeapObject() || !GetHeap()->InNewSpace(value)); | 5914 ASSERT(!value->IsHeapObject() || !GetHeap()->InNewSpace(value)); |
5923 for (int offset = kHeaderSize; offset < object_size; offset += kPointerSize) { | 5915 for (int offset = kHeaderSize; offset < object_size; offset += kPointerSize) { |
5924 WRITE_FIELD(this, offset, value); | 5916 WRITE_FIELD(this, offset, value); |
5925 } | 5917 } |
5926 } | 5918 } |
5927 | 5919 |
5928 | 5920 |
5929 ACCESSORS(JSSet, table, Object, kTableOffset) | 5921 ACCESSORS(JSSet, table, Object, kTableOffset) |
5930 ACCESSORS(JSMap, table, Object, kTableOffset) | 5922 ACCESSORS(JSMap, table, Object, kTableOffset) |
5931 | |
5932 | |
5933 #define ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(name, type, offset) \ | |
5934 template<class Derived, class TableType> \ | |
5935 type* OrderedHashTableIterator<Derived, TableType>::name() { \ | |
5936 return type::cast(READ_FIELD(this, offset)); \ | |
5937 } \ | |
5938 template<class Derived, class TableType> \ | |
5939 void OrderedHashTableIterator<Derived, TableType>::set_##name( \ | |
5940 type* value, WriteBarrierMode mode) { \ | |
5941 WRITE_FIELD(this, offset, value); \ | |
5942 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, offset, value, mode); \ | |
5943 } | |
5944 | |
5945 ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(table, Object, kTableOffset) | |
5946 ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(index, Smi, kIndexOffset) | |
5947 ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(count, Smi, kCountOffset) | |
5948 ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(kind, Smi, kKindOffset) | |
5949 ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(next_iterator, Object, | |
5950 kNextIteratorOffset) | |
5951 ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(previous_iterator, Object, | |
5952 kPreviousIteratorOffset) | |
5953 | |
5954 #undef ORDERED_HASH_TABLE_ITERATOR_ACCESSORS | |
5955 | |
5956 | |
5957 ACCESSORS(JSWeakCollection, table, Object, kTableOffset) | 5923 ACCESSORS(JSWeakCollection, table, Object, kTableOffset) |
5958 ACCESSORS(JSWeakCollection, next, Object, kNextOffset) | 5924 ACCESSORS(JSWeakCollection, next, Object, kNextOffset) |
5959 | 5925 |
5960 | 5926 |
5961 Address Foreign::foreign_address() { | 5927 Address Foreign::foreign_address() { |
5962 return AddressFrom<Address>(READ_INTPTR_FIELD(this, kForeignAddressOffset)); | 5928 return AddressFrom<Address>(READ_INTPTR_FIELD(this, kForeignAddressOffset)); |
5963 } | 5929 } |
5964 | 5930 |
5965 | 5931 |
5966 void Foreign::set_foreign_address(Address value) { | 5932 void Foreign::set_foreign_address(Address value) { |
(...skipping 1160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7127 #undef READ_SHORT_FIELD | 7093 #undef READ_SHORT_FIELD |
7128 #undef WRITE_SHORT_FIELD | 7094 #undef WRITE_SHORT_FIELD |
7129 #undef READ_BYTE_FIELD | 7095 #undef READ_BYTE_FIELD |
7130 #undef WRITE_BYTE_FIELD | 7096 #undef WRITE_BYTE_FIELD |
7131 #undef NOBARRIER_READ_BYTE_FIELD | 7097 #undef NOBARRIER_READ_BYTE_FIELD |
7132 #undef NOBARRIER_WRITE_BYTE_FIELD | 7098 #undef NOBARRIER_WRITE_BYTE_FIELD |
7133 | 7099 |
7134 } } // namespace v8::internal | 7100 } } // namespace v8::internal |
7135 | 7101 |
7136 #endif // V8_OBJECTS_INL_H_ | 7102 #endif // V8_OBJECTS_INL_H_ |
OLD | NEW |