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) |