Index: src/bootstrapper.cc |
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc |
index c47854cf1b1bfc184fa1e43c8589cc924b0a7ccb..324b0dac813586a3bd07da2c5562a540937bb898 100644 |
--- a/src/bootstrapper.cc |
+++ b/src/bootstrapper.cc |
@@ -1915,6 +1915,27 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
Context::PROMISE_RESOLVE_INDEX); |
} |
+ { // Internal: PromiseHandle |
+ Handle<JSFunction> function = SimpleCreateFunction( |
+ isolate, factory->empty_string(), Builtins::kPromiseHandle, 3, true); |
+ InstallWithIntrinsicDefaultProto(isolate, function, |
+ Context::PROMISE_HANDLE_INDEX); |
+ // Set up catch prediction |
+ Handle<Code> promise_handle = isolate->builtins()->PromiseHandle(); |
+ promise_handle->set_is_promise_rejection(true); |
+ } |
+ |
+ { // Internal: PromiseHandleReject |
+ Handle<JSFunction> function = |
+ SimpleCreateFunction(isolate, factory->empty_string(), |
+ Builtins::kPromiseHandleReject, 3, false); |
+ InstallWithIntrinsicDefaultProto(isolate, function, |
+ Context::PROMISE_HANDLE_REJECT_INDEX); |
+ // Set up catch prediction |
+ Handle<Code> promise_handle = isolate->builtins()->PromiseHandleReject(); |
+ promise_handle->set_is_exception_caught(true); |
+ } |
+ |
{ |
Handle<Code> code = |
handle(isolate->builtins()->builtin(Builtins::kPromiseResolveClosure), |