| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index fdb5665ca16ec2604c54f44bb39f194eeeedfbee..b699b43fe38b78dc0098e50657ce8e401befa0f3 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -8879,17 +8879,13 @@ void HOptimizedGraphBuilder::VisitCallNew(CallNew* expr) {
|
| } else {
|
| // The constructor function is both an operand to the instruction and an
|
| // argument to the construct call.
|
| - Handle<JSFunction> array_function =
|
| - Handle<JSFunction>(isolate()->global_context()->array_function(),
|
| - isolate());
|
| - bool use_call_new_array = FLAG_optimize_constructed_arrays &&
|
| - expr->target().is_identical_to(array_function);
|
| -
|
| + Handle<JSFunction> array_function(
|
| + isolate()->global_context()->array_function(), isolate());
|
| CHECK_ALIVE(VisitArgument(expr->expression()));
|
| HValue* constructor = HPushArgument::cast(Top())->argument();
|
| CHECK_ALIVE(VisitArgumentList(expr->arguments()));
|
| HCallNew* call;
|
| - if (use_call_new_array) {
|
| + if (expr->target().is_identical_to(array_function)) {
|
| Handle<Cell> cell = expr->allocation_info_cell();
|
| AddInstruction(new(zone()) HCheckFunction(constructor, array_function));
|
| call = new(zone()) HCallNewArray(context, constructor, argument_count,
|
|
|