| Index: src/bootstrapper.cc
|
| diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc
|
| index 5ab578a1717866e279ca1db509728f1037013074..2df9afc8b5e4e23a9d16ce064e336bba6acd25d7 100644
|
| --- a/src/bootstrapper.cc
|
| +++ b/src/bootstrapper.cc
|
| @@ -625,27 +625,35 @@ void Genesis::SetStrictFunctionInstanceDescriptor(Handle<Map> map,
|
| PropertyAttributes roc_attribs =
|
| static_cast<PropertyAttributes>(DONT_ENUM | READ_ONLY);
|
|
|
| - // Add length.
|
| if (function_mode == BOUND_FUNCTION) {
|
| - Handle<String> length_string = isolate()->factory()->length_string();
|
| - DataDescriptor d(length_string, 0, roc_attribs, Representation::Tagged());
|
| - map->AppendDescriptor(&d);
|
| + { // Add length.
|
| + Handle<String> length_string = isolate()->factory()->length_string();
|
| + DataDescriptor d(length_string, 0, roc_attribs, Representation::Tagged());
|
| + map->AppendDescriptor(&d);
|
| + }
|
| + { // Add name.
|
| + Handle<String> name_string = isolate()->factory()->name_string();
|
| + DataDescriptor d(name_string, 1, roc_attribs, Representation::Tagged());
|
| + map->AppendDescriptor(&d);
|
| + }
|
| } else {
|
| DCHECK(function_mode == FUNCTION_WITH_WRITEABLE_PROTOTYPE ||
|
| function_mode == FUNCTION_WITH_READONLY_PROTOTYPE ||
|
| function_mode == FUNCTION_WITHOUT_PROTOTYPE);
|
| - Handle<AccessorInfo> length =
|
| - Accessors::FunctionLengthInfo(isolate(), roc_attribs);
|
| - AccessorConstantDescriptor d(Handle<Name>(Name::cast(length->name())),
|
| - length, roc_attribs);
|
| - map->AppendDescriptor(&d);
|
| - }
|
| - Handle<AccessorInfo> name =
|
| - Accessors::FunctionNameInfo(isolate(), roc_attribs);
|
| - { // Add name.
|
| - AccessorConstantDescriptor d(Handle<Name>(Name::cast(name->name())), name,
|
| - roc_attribs);
|
| - map->AppendDescriptor(&d);
|
| + { // Add length.
|
| + Handle<AccessorInfo> length =
|
| + Accessors::FunctionLengthInfo(isolate(), roc_attribs);
|
| + AccessorConstantDescriptor d(Handle<Name>(Name::cast(length->name())),
|
| + length, roc_attribs);
|
| + map->AppendDescriptor(&d);
|
| + }
|
| + { // Add name.
|
| + Handle<AccessorInfo> name =
|
| + Accessors::FunctionNameInfo(isolate(), roc_attribs);
|
| + AccessorConstantDescriptor d(Handle<Name>(Name::cast(name->name())), name,
|
| + roc_attribs);
|
| + map->AppendDescriptor(&d);
|
| + }
|
| }
|
| if (IsFunctionModeWithPrototype(function_mode)) {
|
| // Add prototype.
|
|
|