| Index: src/bootstrapper.cc
|
| diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc
|
| index 0243a3a71e1a29b39ba889bb610a0208d8b73bff..76b693d5dbb84ba3f07ac6ed0ae6931ae7610898 100644
|
| --- a/src/bootstrapper.cc
|
| +++ b/src/bootstrapper.cc
|
| @@ -386,45 +386,47 @@ void Genesis::SetFunctionInstanceDescriptor(
|
| int size = (prototypeMode == DONT_ADD_PROTOTYPE) ? 4 : 5;
|
| Map::EnsureDescriptorSlack(map, size);
|
|
|
| - PropertyAttributes attribs = static_cast<PropertyAttributes>(
|
| - DONT_ENUM | DONT_DELETE | READ_ONLY);
|
| + PropertyAttributes ro_attribs =
|
| + static_cast<PropertyAttributes>(DONT_ENUM | DONT_DELETE | READ_ONLY);
|
| + PropertyAttributes roc_attribs =
|
| + static_cast<PropertyAttributes>(DONT_ENUM | READ_ONLY);
|
|
|
| Handle<AccessorInfo> length =
|
| - Accessors::FunctionLengthInfo(isolate(), attribs);
|
| + Accessors::FunctionLengthInfo(isolate(), ro_attribs);
|
| { // Add length.
|
| CallbacksDescriptor d(Handle<Name>(Name::cast(length->name())),
|
| - length, attribs);
|
| + length, ro_attribs);
|
| map->AppendDescriptor(&d);
|
| }
|
| Handle<AccessorInfo> name =
|
| - Accessors::FunctionNameInfo(isolate(), attribs);
|
| + Accessors::FunctionNameInfo(isolate(), roc_attribs);
|
| { // Add name.
|
| CallbacksDescriptor d(Handle<Name>(Name::cast(name->name())),
|
| - name, attribs);
|
| + name, roc_attribs);
|
| map->AppendDescriptor(&d);
|
| }
|
| Handle<AccessorInfo> args =
|
| - Accessors::FunctionArgumentsInfo(isolate(), attribs);
|
| + Accessors::FunctionArgumentsInfo(isolate(), ro_attribs);
|
| { // Add arguments.
|
| CallbacksDescriptor d(Handle<Name>(Name::cast(args->name())),
|
| - args, attribs);
|
| + args, ro_attribs);
|
| map->AppendDescriptor(&d);
|
| }
|
| Handle<AccessorInfo> caller =
|
| - Accessors::FunctionCallerInfo(isolate(), attribs);
|
| + Accessors::FunctionCallerInfo(isolate(), ro_attribs);
|
| { // Add caller.
|
| CallbacksDescriptor d(Handle<Name>(Name::cast(caller->name())),
|
| - caller, attribs);
|
| + caller, ro_attribs);
|
| map->AppendDescriptor(&d);
|
| }
|
| if (prototypeMode != DONT_ADD_PROTOTYPE) {
|
| if (prototypeMode == ADD_WRITEABLE_PROTOTYPE) {
|
| - attribs = static_cast<PropertyAttributes>(attribs & ~READ_ONLY);
|
| + ro_attribs = static_cast<PropertyAttributes>(ro_attribs & ~READ_ONLY);
|
| }
|
| Handle<AccessorInfo> prototype =
|
| - Accessors::FunctionPrototypeInfo(isolate(), attribs);
|
| + Accessors::FunctionPrototypeInfo(isolate(), ro_attribs);
|
| CallbacksDescriptor d(Handle<Name>(Name::cast(prototype->name())),
|
| - prototype, attribs);
|
| + prototype, ro_attribs);
|
| map->AppendDescriptor(&d);
|
| }
|
| }
|
| @@ -533,6 +535,8 @@ void Genesis::SetStrictFunctionInstanceDescriptor(
|
| static_cast<PropertyAttributes>(DONT_ENUM | DONT_DELETE);
|
| PropertyAttributes ro_attribs =
|
| static_cast<PropertyAttributes>(DONT_ENUM | DONT_DELETE | READ_ONLY);
|
| + PropertyAttributes roc_attribs =
|
| + static_cast<PropertyAttributes>(DONT_ENUM | READ_ONLY);
|
|
|
| Handle<AccessorInfo> length =
|
| Accessors::FunctionLengthInfo(isolate(), ro_attribs);
|
| @@ -542,10 +546,10 @@ void Genesis::SetStrictFunctionInstanceDescriptor(
|
| map->AppendDescriptor(&d);
|
| }
|
| Handle<AccessorInfo> name =
|
| - Accessors::FunctionNameInfo(isolate(), ro_attribs);
|
| + Accessors::FunctionNameInfo(isolate(), roc_attribs);
|
| { // Add name.
|
| CallbacksDescriptor d(Handle<Name>(Name::cast(name->name())),
|
| - name, ro_attribs);
|
| + name, roc_attribs);
|
| map->AppendDescriptor(&d);
|
| }
|
| { // Add arguments.
|
|
|