| Index: src/factory.cc
|
| diff --git a/src/factory.cc b/src/factory.cc
|
| index 42f16d8ff0fec61240ddb7dd70c30ffb2d1dc2aa..66b12ead9e7a912c0ee3defe7392d2557f20a926 100644
|
| --- a/src/factory.cc
|
| +++ b/src/factory.cc
|
| @@ -1318,8 +1318,19 @@ Handle<JSFunction> Factory::NewFunctionFromSharedFunctionInfo(
|
| PretenureFlag pretenure) {
|
| int map_index =
|
| Context::FunctionMapIndex(info->language_mode(), info->kind());
|
| - Handle<Map> map(Map::cast(context->native_context()->get(map_index)));
|
| - Handle<JSFunction> result = NewFunction(map, info, context, pretenure);
|
| + Handle<Map> initial_map(Map::cast(context->native_context()->get(map_index)));
|
| +
|
| + return NewFunctionFromSharedFunctionInfo(initial_map, info, context,
|
| + pretenure);
|
| +}
|
| +
|
| +
|
| +Handle<JSFunction> Factory::NewFunctionFromSharedFunctionInfo(
|
| + Handle<Map> initial_map, Handle<SharedFunctionInfo> info,
|
| + Handle<Context> context, PretenureFlag pretenure) {
|
| + DCHECK_EQ(JS_FUNCTION_TYPE, initial_map->instance_type());
|
| + Handle<JSFunction> result =
|
| + NewFunction(initial_map, info, context, pretenure);
|
|
|
| if (info->ic_age() != isolate()->heap()->global_ic_age()) {
|
| info->ResetForNewContext(isolate()->heap()->global_ic_age());
|
|
|