Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 023caa5ddf93f7a2fdf595121a0581553a23440f..8f98dd8883bc4e253df32476ce63ad5def5996e6 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -696,6 +696,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) |
@@ -1916,6 +1918,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: |
@@ -2976,6 +2982,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) |
@@ -5807,6 +5815,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) |