Index: src/code-stub-assembler.cc |
diff --git a/src/code-stub-assembler.cc b/src/code-stub-assembler.cc |
index 97f77e22244d1b043c4cadfe483a075a9425b256..346a4527fc8bc4b2b97735f10cfa527d9d982b4d 100644 |
--- a/src/code-stub-assembler.cc |
+++ b/src/code-stub-assembler.cc |
@@ -8183,6 +8183,23 @@ Node* CodeStubAssembler::AllocateJSArrayIterator(Node* array, Node* array_map, |
return iterator; |
} |
+Node* CodeStubAssembler::AllocateJSIteratorResult(Node* context, Node* value, |
+ Node* done) { |
+ Node* const iter_result = Allocate(JSIteratorResult::kSize); |
+ Node* const map = LoadContextElement(LoadNativeContext(context), |
+ Context::ITERATOR_RESULT_MAP_INDEX); |
+ StoreMapNoWriteBarrier(iter_result, map); |
+ StoreObjectFieldRoot(iter_result, JSIteratorResult::kPropertiesOffset, |
+ Heap::kEmptyFixedArrayRootIndex); |
+ StoreObjectFieldRoot(iter_result, JSIteratorResult::kElementsOffset, |
+ Heap::kEmptyFixedArrayRootIndex); |
+ StoreObjectFieldNoWriteBarrier(iter_result, JSIteratorResult::kValueOffset, |
+ value); |
+ StoreObjectFieldNoWriteBarrier(iter_result, JSIteratorResult::kDoneOffset, |
+ done); |
+ return iter_result; |
+} |
+ |
Node* CodeStubAssembler::IsDetachedBuffer(Node* buffer) { |
CSA_ASSERT(this, HasInstanceType(buffer, JS_ARRAY_BUFFER_TYPE)); |