| Index: src/parser.cc
|
| ===================================================================
|
| --- src/parser.cc (revision 3051)
|
| +++ src/parser.cc (working copy)
|
| @@ -675,9 +675,6 @@
|
| }
|
| int materialized_literal_count() { return materialized_literal_count_; }
|
|
|
| - void set_contains_array_literal() { contains_array_literal_ = true; }
|
| - bool contains_array_literal() { return contains_array_literal_; }
|
| -
|
| void SetThisPropertyAssignmentInfo(
|
| bool only_this_property_assignments,
|
| bool only_simple_this_property_assignments,
|
| @@ -700,17 +697,11 @@
|
| void AddProperty() { expected_property_count_++; }
|
| int expected_property_count() { return expected_property_count_; }
|
| private:
|
| - // Captures the number of nodes that need materialization in the
|
| - // function. regexp literals, and boilerplate for object literals.
|
| + // Captures the number of literals that need materialization in the
|
| + // function. Includes regexp literals, and boilerplate for object
|
| + // and array literals.
|
| int materialized_literal_count_;
|
|
|
| - // Captures whether or not the function contains array literals. If
|
| - // the function contains array literals, we have to allocate space
|
| - // for the array constructor in the literals array of the function.
|
| - // This array constructor is used when creating the actual array
|
| - // literals.
|
| - bool contains_array_literal_;
|
| -
|
| // Properties count estimation.
|
| int expected_property_count_;
|
|
|
| @@ -728,7 +719,6 @@
|
|
|
| TemporaryScope::TemporaryScope(Parser* parser)
|
| : materialized_literal_count_(0),
|
| - contains_array_literal_(false),
|
| expected_property_count_(0),
|
| only_this_property_assignments_(false),
|
| only_simple_this_property_assignments_(false),
|
| @@ -1236,7 +1226,6 @@
|
| top_scope_,
|
| body.elements(),
|
| temp_scope.materialized_literal_count(),
|
| - temp_scope.contains_array_literal(),
|
| temp_scope.expected_property_count(),
|
| temp_scope.only_this_property_assignments(),
|
| temp_scope.only_simple_this_property_assignments(),
|
| @@ -1903,7 +1892,7 @@
|
| const int literals = fun->NumberOfLiterals();
|
| Handle<Code> code = Handle<Code>(fun->shared()->code());
|
| Handle<JSFunction> boilerplate =
|
| - Factory::NewFunctionBoilerplate(name, literals, false, code);
|
| + Factory::NewFunctionBoilerplate(name, literals, code);
|
|
|
| // Copy the function data to the boilerplate. Used by
|
| // builtins.cc:HandleApiCall to perform argument type checks and to
|
| @@ -3306,7 +3295,6 @@
|
| Expect(Token::RBRACK, CHECK_OK);
|
|
|
| // Update the scope information before the pre-parsing bailout.
|
| - temp_scope_->set_contains_array_literal();
|
| int literal_index = temp_scope_->NextMaterializedLiteralIndex();
|
|
|
| if (is_pre_parsing_) return NULL;
|
| @@ -3636,7 +3624,6 @@
|
|
|
| int materialized_literal_count;
|
| int expected_property_count;
|
| - bool contains_array_literal;
|
| bool only_this_property_assignments;
|
| bool only_simple_this_property_assignments;
|
| Handle<FixedArray> this_property_assignments;
|
| @@ -3650,12 +3637,10 @@
|
| only_this_property_assignments = false;
|
| only_simple_this_property_assignments = false;
|
| this_property_assignments = Factory::empty_fixed_array();
|
| - contains_array_literal = entry.contains_array_literal();
|
| } else {
|
| ParseSourceElements(&body, Token::RBRACE, CHECK_OK);
|
| materialized_literal_count = temp_scope.materialized_literal_count();
|
| expected_property_count = temp_scope.expected_property_count();
|
| - contains_array_literal = temp_scope.contains_array_literal();
|
| only_this_property_assignments =
|
| temp_scope.only_this_property_assignments();
|
| only_simple_this_property_assignments =
|
| @@ -3671,7 +3656,6 @@
|
| entry.set_end_pos(end_pos);
|
| entry.set_literal_count(materialized_literal_count);
|
| entry.set_property_count(expected_property_count);
|
| - entry.set_contains_array_literal(contains_array_literal);
|
| }
|
|
|
| FunctionLiteral* function_literal =
|
| @@ -3679,7 +3663,6 @@
|
| top_scope_,
|
| body.elements(),
|
| materialized_literal_count,
|
| - contains_array_literal,
|
| expected_property_count,
|
| only_this_property_assignments,
|
| only_simple_this_property_assignments,
|
|
|