Chromium Code Reviews| Index: src/factory.cc |
| diff --git a/src/factory.cc b/src/factory.cc |
| index f7e1c746dd49f79fe31d6ffbb11aab5f24785557..2bb3bda8cfc391ecf0e85f04506d1528da810b32 100644 |
| --- a/src/factory.cc |
| +++ b/src/factory.cc |
| @@ -734,6 +734,20 @@ Handle<ExternalOneByteString> Factory::NewNativeSourceString( |
| return external_string; |
| } |
| +Handle<JSStringIterator> Factory::NewJSStringIterator() { |
| + Handle<Map> map(isolate()->native_context()->string_iterator_map()); |
| + CALL_HEAP_FUNCTION(isolate(), |
| + isolate()->heap()->AllocateJSObjectFromMap(*map), |
| + JSStringIterator); |
| +} |
| + |
| +Handle<JSStringIterator> Factory::NewJSStringIterator(Handle<String> string) { |
| + Handle<JSStringIterator> iterator = NewJSStringIterator(); |
| + iterator->set_string(*String::Flatten(string)); |
|
Benedikt Meurer
2016/09/15 17:34:33
I'm not sure that GCmole will like this.
|
| + iterator->set_index(Smi::FromInt(0)); |
| + |
| + return iterator; |
| +} |
| Handle<Symbol> Factory::NewSymbol() { |
| CALL_HEAP_FUNCTION( |
| @@ -1732,6 +1746,14 @@ Handle<JSDataView> Factory::NewJSDataView() { |
| JSDataView); |
| } |
| +Handle<JSIteratorResult> Factory::NewJSIteratorResult(Handle<Object> value, |
| + bool done) { |
| + Handle<Map> map(isolate()->native_context()->iterator_result_map()); |
| + Handle<JSIteratorResult> js_iter_result = |
| + Handle<JSIteratorResult>::cast(NewJSObjectFromMap(map)); |
| + JSIteratorResult::Initialize(js_iter_result, value, ToBoolean(done)); |
| + return js_iter_result; |
| +} |
| Handle<JSMap> Factory::NewJSMap() { |
| Handle<Map> map(isolate()->native_context()->js_map_map()); |