| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index ed66dc6423c8764ffb9c0778f8bb2192a9da259e..85b85967afb0fb749d241d5a68251820e957ac31 100644
|
| --- a/src/objects-inl.h
|
| +++ b/src/objects-inl.h
|
| @@ -711,6 +711,8 @@ bool Object::IsJSProxy() {
|
| TYPE_CHECKER(JSFunctionProxy, JS_FUNCTION_PROXY_TYPE)
|
| TYPE_CHECKER(JSSet, JS_SET_TYPE)
|
| TYPE_CHECKER(JSMap, JS_MAP_TYPE)
|
| +TYPE_CHECKER(JSSetIterator, JS_SET_ITERATOR_TYPE)
|
| +TYPE_CHECKER(JSMapIterator, JS_MAP_ITERATOR_TYPE)
|
| TYPE_CHECKER(JSWeakMap, JS_WEAK_MAP_TYPE)
|
| TYPE_CHECKER(JSWeakSet, JS_WEAK_SET_TYPE)
|
| TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE)
|
| @@ -1917,6 +1919,10 @@ int JSObject::GetHeaderSize() {
|
| return JSSet::kSize;
|
| case JS_MAP_TYPE:
|
| return JSMap::kSize;
|
| + case JS_SET_ITERATOR_TYPE:
|
| + return JSSetIterator::kSize;
|
| + case JS_MAP_ITERATOR_TYPE:
|
| + return JSMapIterator::kSize;
|
| case JS_WEAK_MAP_TYPE:
|
| return JSWeakMap::kSize;
|
| case JS_WEAK_SET_TYPE:
|
| @@ -2989,6 +2995,8 @@ CAST_ACCESSOR(JSProxy)
|
| CAST_ACCESSOR(JSFunctionProxy)
|
| CAST_ACCESSOR(JSSet)
|
| CAST_ACCESSOR(JSMap)
|
| +CAST_ACCESSOR(JSSetIterator)
|
| +CAST_ACCESSOR(JSMapIterator)
|
| CAST_ACCESSOR(JSWeakMap)
|
| CAST_ACCESSOR(JSWeakSet)
|
| CAST_ACCESSOR(Foreign)
|
| @@ -5933,6 +5941,32 @@ void JSProxy::InitializeBody(int object_size, Object* value) {
|
|
|
| ACCESSORS(JSSet, table, Object, kTableOffset)
|
| ACCESSORS(JSMap, table, Object, kTableOffset)
|
| +
|
| +
|
| +#define ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(name, type, offset) \
|
| + template<class Derived, class TableType> \
|
| + type* OrderedHashTableIterator<Derived, TableType>::name() { \
|
| + return type::cast(READ_FIELD(this, offset)); \
|
| + } \
|
| + template<class Derived, class TableType> \
|
| + void OrderedHashTableIterator<Derived, TableType>::set_##name( \
|
| + type* value, WriteBarrierMode mode) { \
|
| + WRITE_FIELD(this, offset, value); \
|
| + CONDITIONAL_WRITE_BARRIER(GetHeap(), this, offset, value, mode); \
|
| + }
|
| +
|
| +ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(table, Object, kTableOffset)
|
| +ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(index, Smi, kIndexOffset)
|
| +ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(count, Smi, kCountOffset)
|
| +ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(kind, Smi, kKindOffset)
|
| +ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(next_iterator, Object,
|
| + kNextIteratorOffset)
|
| +ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(previous_iterator, Object,
|
| + kPreviousIteratorOffset)
|
| +
|
| +#undef ORDERED_HASH_TABLE_ITERATOR_ACCESSORS
|
| +
|
| +
|
| ACCESSORS(JSWeakCollection, table, Object, kTableOffset)
|
| ACCESSORS(JSWeakCollection, next, Object, kNextOffset)
|
|
|
|
|