Index: src/factory.cc |
diff --git a/src/factory.cc b/src/factory.cc |
index fc49e32537ebec9a4799012bc10b4b7ccbeffc72..6eb99f7aeaa88e7d7122a4cc494596df108a500d 100644 |
--- a/src/factory.cc |
+++ b/src/factory.cc |
@@ -1996,4 +1996,16 @@ Handle<Object> Factory::ToBoolean(bool value) { |
return value ? true_value() : false_value(); |
} |
+ |
+Handle<JSObject> Factory::CreateIteratorResultObject(Handle<Object> value, |
+ bool done) { |
+ Handle<Map> map(isolate()->native_context()->iterator_result_map()); |
+ Handle<JSObject> result = NewJSObjectFromMap(map, NOT_TENURED, false); |
+ result->InObjectPropertyAtPut( |
+ JSGeneratorObject::kResultValuePropertyIndex, *value); |
+ result->InObjectPropertyAtPut( |
+ JSGeneratorObject::kResultDonePropertyIndex, *ToBoolean(done)); |
+ return result; |
+} |
+ |
} } // namespace v8::internal |