| Index: src/factory.cc
 | 
| diff --git a/src/factory.cc b/src/factory.cc
 | 
| index b80aaf37a34e09b665b5030c54880cf261f43d00..985694f240078f0b4da7069381dc549b2885da55 100644
 | 
| --- a/src/factory.cc
 | 
| +++ b/src/factory.cc
 | 
| @@ -915,6 +915,19 @@ Handle<Symbol> Factory::NewPrivateSymbol() {
 | 
|    return symbol;
 | 
|  }
 | 
|  
 | 
| +Handle<JSPromise> Factory::NewJSPromise() {
 | 
| +  Handle<JSFunction> constructor(
 | 
| +      isolate()->native_context()->promise_function(), isolate());
 | 
| +  DCHECK(constructor->has_initial_map());
 | 
| +  Handle<Map> map(constructor->initial_map(), isolate());
 | 
| +
 | 
| +  DCHECK(!map->is_prototype_map());
 | 
| +  Handle<JSObject> promise_obj = NewJSObjectFromMap(map);
 | 
| +  Handle<JSPromise> promise = Handle<JSPromise>::cast(promise_obj);
 | 
| +  promise->set_status(v8::Promise::kPending);
 | 
| +  promise->set_flags(0);
 | 
| +  return promise;
 | 
| +}
 | 
|  
 | 
|  Handle<Context> Factory::NewNativeContext() {
 | 
|    Handle<FixedArray> array =
 | 
| 
 |