Commit 92af2400 authored by Sigurd Schneider's avatar Sigurd Schneider Committed by Commit Bot

[runtime] Fix function map index for Promise reject/resolve

Bug: chromium:829253
Change-Id: Ie9102adcecfe4f019ccf8b5e82e55509a416bfc3
Reviewed-on: https://chromium-review.googlesource.com/1007195Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52559}
parent dab3d4ba
...@@ -357,10 +357,11 @@ void Bootstrapper::DetachGlobal(Handle<Context> env) { ...@@ -357,10 +357,11 @@ void Bootstrapper::DetachGlobal(Handle<Context> env) {
namespace { namespace {
V8_NOINLINE Handle<SharedFunctionInfo> SimpleCreateSharedFunctionInfo( V8_NOINLINE Handle<SharedFunctionInfo> SimpleCreateSharedFunctionInfo(
Isolate* isolate, Builtins::Name builtin_id, Handle<String> name, int len) { Isolate* isolate, Builtins::Name builtin_id, Handle<String> name, int len,
FunctionKind kind = FunctionKind::kNormalFunction) {
Handle<SharedFunctionInfo> shared = Handle<SharedFunctionInfo> shared =
isolate->factory()->NewSharedFunctionInfoForBuiltin(name, builtin_id, isolate->factory()->NewSharedFunctionInfoForBuiltin(name, builtin_id,
kNormalFunction); kind);
shared->set_internal_formal_parameter_count(len); shared->set_internal_formal_parameter_count(len);
shared->set_length(len); shared->set_length(len);
return shared; return shared;
...@@ -2287,15 +2288,19 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, ...@@ -2287,15 +2288,19 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object,
{ {
Handle<SharedFunctionInfo> info = SimpleCreateSharedFunctionInfo( Handle<SharedFunctionInfo> info = SimpleCreateSharedFunctionInfo(
isolate, Builtins::kPromiseCapabilityDefaultResolve, isolate, Builtins::kPromiseCapabilityDefaultResolve,
factory->empty_string(), 1); factory->empty_string(), 1, FunctionKind::kConciseMethod);
info->set_native(true); info->set_native(true);
info->set_function_map_index(
Context::STRICT_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX);
native_context()->set_promise_capability_default_resolve_shared_fun( native_context()->set_promise_capability_default_resolve_shared_fun(
*info); *info);
info = SimpleCreateSharedFunctionInfo( info = SimpleCreateSharedFunctionInfo(
isolate, Builtins::kPromiseCapabilityDefaultReject, isolate, Builtins::kPromiseCapabilityDefaultReject,
factory->empty_string(), 1); factory->empty_string(), 1, FunctionKind::kConciseMethod);
info->set_native(true); info->set_native(true);
info->set_function_map_index(
Context::STRICT_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX);
native_context()->set_promise_capability_default_reject_shared_fun(*info); native_context()->set_promise_capability_default_reject_shared_fun(*info);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment