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

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

Issue 238973011: Revert "ES6: Add support for Map/Set forEach" (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « src/objects-debug.cc ('k') | src/objects-printer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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)
701 TYPE_CHECKER(JSWeakMap, JS_WEAK_MAP_TYPE) 699 TYPE_CHECKER(JSWeakMap, JS_WEAK_MAP_TYPE)
702 TYPE_CHECKER(JSWeakSet, JS_WEAK_SET_TYPE) 700 TYPE_CHECKER(JSWeakSet, JS_WEAK_SET_TYPE)
703 TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE) 701 TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE)
704 TYPE_CHECKER(Map, MAP_TYPE) 702 TYPE_CHECKER(Map, MAP_TYPE)
705 TYPE_CHECKER(FixedArray, FIXED_ARRAY_TYPE) 703 TYPE_CHECKER(FixedArray, FIXED_ARRAY_TYPE)
706 TYPE_CHECKER(FixedDoubleArray, FIXED_DOUBLE_ARRAY_TYPE) 704 TYPE_CHECKER(FixedDoubleArray, FIXED_DOUBLE_ARRAY_TYPE)
707 TYPE_CHECKER(ConstantPoolArray, CONSTANT_POOL_ARRAY_TYPE) 705 TYPE_CHECKER(ConstantPoolArray, CONSTANT_POOL_ARRAY_TYPE)
708 706
709 707
710 bool Object::IsJSWeakCollection() { 708 bool Object::IsJSWeakCollection() {
(...skipping 1200 matching lines...) Expand 10 before | Expand all | Expand 10 after
1911 case JS_ARRAY_BUFFER_TYPE: 1909 case JS_ARRAY_BUFFER_TYPE:
1912 return JSArrayBuffer::kSize; 1910 return JSArrayBuffer::kSize;
1913 case JS_TYPED_ARRAY_TYPE: 1911 case JS_TYPED_ARRAY_TYPE:
1914 return JSTypedArray::kSize; 1912 return JSTypedArray::kSize;
1915 case JS_DATA_VIEW_TYPE: 1913 case JS_DATA_VIEW_TYPE:
1916 return JSDataView::kSize; 1914 return JSDataView::kSize;
1917 case JS_SET_TYPE: 1915 case JS_SET_TYPE:
1918 return JSSet::kSize; 1916 return JSSet::kSize;
1919 case JS_MAP_TYPE: 1917 case JS_MAP_TYPE:
1920 return JSMap::kSize; 1918 return JSMap::kSize;
1921 case JS_SET_ITERATOR_TYPE:
1922 return JSSetIterator::kSize;
1923 case JS_MAP_ITERATOR_TYPE:
1924 return JSMapIterator::kSize;
1925 case JS_WEAK_MAP_TYPE: 1919 case JS_WEAK_MAP_TYPE:
1926 return JSWeakMap::kSize; 1920 return JSWeakMap::kSize;
1927 case JS_WEAK_SET_TYPE: 1921 case JS_WEAK_SET_TYPE:
1928 return JSWeakSet::kSize; 1922 return JSWeakSet::kSize;
1929 case JS_REGEXP_TYPE: 1923 case JS_REGEXP_TYPE:
1930 return JSRegExp::kSize; 1924 return JSRegExp::kSize;
1931 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: 1925 case JS_CONTEXT_EXTENSION_OBJECT_TYPE:
1932 return JSObject::kHeaderSize; 1926 return JSObject::kHeaderSize;
1933 case JS_MESSAGE_OBJECT_TYPE: 1927 case JS_MESSAGE_OBJECT_TYPE:
1934 return JSMessageObject::kSize; 1928 return JSMessageObject::kSize;
(...skipping 1040 matching lines...) Expand 10 before | Expand all | Expand 10 after
2975 CAST_ACCESSOR(JSArray) 2969 CAST_ACCESSOR(JSArray)
2976 CAST_ACCESSOR(JSArrayBuffer) 2970 CAST_ACCESSOR(JSArrayBuffer)
2977 CAST_ACCESSOR(JSArrayBufferView) 2971 CAST_ACCESSOR(JSArrayBufferView)
2978 CAST_ACCESSOR(JSTypedArray) 2972 CAST_ACCESSOR(JSTypedArray)
2979 CAST_ACCESSOR(JSDataView) 2973 CAST_ACCESSOR(JSDataView)
2980 CAST_ACCESSOR(JSRegExp) 2974 CAST_ACCESSOR(JSRegExp)
2981 CAST_ACCESSOR(JSProxy) 2975 CAST_ACCESSOR(JSProxy)
2982 CAST_ACCESSOR(JSFunctionProxy) 2976 CAST_ACCESSOR(JSFunctionProxy)
2983 CAST_ACCESSOR(JSSet) 2977 CAST_ACCESSOR(JSSet)
2984 CAST_ACCESSOR(JSMap) 2978 CAST_ACCESSOR(JSMap)
2985 CAST_ACCESSOR(JSSetIterator)
2986 CAST_ACCESSOR(JSMapIterator)
2987 CAST_ACCESSOR(JSWeakMap) 2979 CAST_ACCESSOR(JSWeakMap)
2988 CAST_ACCESSOR(JSWeakSet) 2980 CAST_ACCESSOR(JSWeakSet)
2989 CAST_ACCESSOR(Foreign) 2981 CAST_ACCESSOR(Foreign)
2990 CAST_ACCESSOR(ByteArray) 2982 CAST_ACCESSOR(ByteArray)
2991 CAST_ACCESSOR(FreeSpace) 2983 CAST_ACCESSOR(FreeSpace)
2992 CAST_ACCESSOR(ExternalArray) 2984 CAST_ACCESSOR(ExternalArray)
2993 CAST_ACCESSOR(ExternalInt8Array) 2985 CAST_ACCESSOR(ExternalInt8Array)
2994 CAST_ACCESSOR(ExternalUint8Array) 2986 CAST_ACCESSOR(ExternalUint8Array)
2995 CAST_ACCESSOR(ExternalInt16Array) 2987 CAST_ACCESSOR(ExternalInt16Array)
2996 CAST_ACCESSOR(ExternalUint16Array) 2988 CAST_ACCESSOR(ExternalUint16Array)
(...skipping 2811 matching lines...) Expand 10 before | Expand all | Expand 10 after
5808 void JSProxy::InitializeBody(int object_size, Object* value) { 5800 void JSProxy::InitializeBody(int object_size, Object* value) {
5809 ASSERT(!value->IsHeapObject() || !GetHeap()->InNewSpace(value)); 5801 ASSERT(!value->IsHeapObject() || !GetHeap()->InNewSpace(value));
5810 for (int offset = kHeaderSize; offset < object_size; offset += kPointerSize) { 5802 for (int offset = kHeaderSize; offset < object_size; offset += kPointerSize) {
5811 WRITE_FIELD(this, offset, value); 5803 WRITE_FIELD(this, offset, value);
5812 } 5804 }
5813 } 5805 }
5814 5806
5815 5807
5816 ACCESSORS(JSSet, table, Object, kTableOffset) 5808 ACCESSORS(JSSet, table, Object, kTableOffset)
5817 ACCESSORS(JSMap, table, Object, kTableOffset) 5809 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
5844 ACCESSORS(JSWeakCollection, table, Object, kTableOffset) 5810 ACCESSORS(JSWeakCollection, table, Object, kTableOffset)
5845 ACCESSORS(JSWeakCollection, next, Object, kNextOffset) 5811 ACCESSORS(JSWeakCollection, next, Object, kNextOffset)
5846 5812
5847 5813
5848 Address Foreign::foreign_address() { 5814 Address Foreign::foreign_address() {
5849 return AddressFrom<Address>(READ_INTPTR_FIELD(this, kForeignAddressOffset)); 5815 return AddressFrom<Address>(READ_INTPTR_FIELD(this, kForeignAddressOffset));
5850 } 5816 }
5851 5817
5852 5818
5853 void Foreign::set_foreign_address(Address value) { 5819 void Foreign::set_foreign_address(Address value) {
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
6273 return NameDictionary::cast(properties()); 6239 return NameDictionary::cast(properties());
6274 } 6240 }
6275 6241
6276 6242
6277 SeededNumberDictionary* JSObject::element_dictionary() { 6243 SeededNumberDictionary* JSObject::element_dictionary() {
6278 ASSERT(HasDictionaryElements()); 6244 ASSERT(HasDictionaryElements());
6279 return SeededNumberDictionary::cast(elements()); 6245 return SeededNumberDictionary::cast(elements());
6280 } 6246 }
6281 6247
6282 6248
6283 Handle<JSSetIterator> JSSetIterator::Create(
6284 Handle<OrderedHashSet> table,
6285 int kind) {
6286 return CreateInternal(table->GetIsolate()->set_iterator_map(), table, kind);
6287 }
6288
6289
6290 Handle<JSMapIterator> JSMapIterator::Create(
6291 Handle<OrderedHashMap> table,
6292 int kind) {
6293 return CreateInternal(table->GetIsolate()->map_iterator_map(), table, kind);
6294 }
6295
6296
6297 bool Name::IsHashFieldComputed(uint32_t field) { 6249 bool Name::IsHashFieldComputed(uint32_t field) {
6298 return (field & kHashNotComputedMask) == 0; 6250 return (field & kHashNotComputedMask) == 0;
6299 } 6251 }
6300 6252
6301 6253
6302 bool Name::HasHashCode() { 6254 bool Name::HasHashCode() {
6303 return IsHashFieldComputed(hash_field()); 6255 return IsHashFieldComputed(hash_field());
6304 } 6256 }
6305 6257
6306 6258
(...skipping 721 matching lines...) Expand 10 before | Expand all | Expand 10 after
7028 #undef READ_SHORT_FIELD 6980 #undef READ_SHORT_FIELD
7029 #undef WRITE_SHORT_FIELD 6981 #undef WRITE_SHORT_FIELD
7030 #undef READ_BYTE_FIELD 6982 #undef READ_BYTE_FIELD
7031 #undef WRITE_BYTE_FIELD 6983 #undef WRITE_BYTE_FIELD
7032 #undef NOBARRIER_READ_BYTE_FIELD 6984 #undef NOBARRIER_READ_BYTE_FIELD
7033 #undef NOBARRIER_WRITE_BYTE_FIELD 6985 #undef NOBARRIER_WRITE_BYTE_FIELD
7034 6986
7035 } } // namespace v8::internal 6987 } } // namespace v8::internal
7036 6988
7037 #endif // V8_OBJECTS_INL_H_ 6989 #endif // V8_OBJECTS_INL_H_
OLDNEW
« no previous file with comments | « src/objects-debug.cc ('k') | src/objects-printer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698