Index: src/parser.cc |
diff --git a/src/parser.cc b/src/parser.cc |
index 75bfbe25ab84611b2a14a95be4f098cd17073728..28dcf1eb32e5240e2ecba7dfa4571e14287a91f0 100644 |
--- a/src/parser.cc |
+++ b/src/parser.cc |
@@ -336,7 +336,6 @@ FunctionLiteral* Parser::DefaultConstructor(bool call_super, Scope* scope, |
int pos, int end_pos) { |
int materialized_literal_count = -1; |
int expected_property_count = -1; |
- int handler_count = 0; |
int parameter_count = 0; |
const AstRawString* name = ast_value_factory()->empty_string(); |
@@ -379,13 +378,12 @@ FunctionLiteral* Parser::DefaultConstructor(bool call_super, Scope* scope, |
materialized_literal_count = function_state.materialized_literal_count(); |
expected_property_count = function_state.expected_property_count(); |
- handler_count = function_state.handler_count(); |
} |
FunctionLiteral* function_literal = factory()->NewFunctionLiteral( |
name, ast_value_factory(), function_scope, body, |
- materialized_literal_count, expected_property_count, handler_count, |
- parameter_count, FunctionLiteral::kNoDuplicateParameters, |
+ materialized_literal_count, expected_property_count, parameter_count, |
+ FunctionLiteral::kNoDuplicateParameters, |
FunctionLiteral::ANONYMOUS_EXPRESSION, FunctionLiteral::kIsFunction, |
FunctionLiteral::kShouldLazyCompile, kind, pos); |
@@ -1070,8 +1068,7 @@ FunctionLiteral* Parser::DoParseProgram(ParseInfo* info) { |
result = factory()->NewFunctionLiteral( |
ast_value_factory()->empty_string(), ast_value_factory(), scope_, |
body, function_state.materialized_literal_count(), |
- function_state.expected_property_count(), |
- function_state.handler_count(), 0, |
+ function_state.expected_property_count(), 0, |
FunctionLiteral::kNoDuplicateParameters, |
FunctionLiteral::ANONYMOUS_EXPRESSION, FunctionLiteral::kGlobalOrEval, |
FunctionLiteral::kShouldLazyCompile, FunctionKind::kNormalFunction, |
@@ -3020,10 +3017,9 @@ TryStatement* Parser::ParseTryStatement(bool* ok) { |
if (catch_block != NULL && finally_block != NULL) { |
// If we have both, create an inner try/catch. |
DCHECK(catch_scope != NULL && catch_variable != NULL); |
- int index = function_state_->NextHandlerIndex(); |
- TryCatchStatement* statement = factory()->NewTryCatchStatement( |
- index, try_block, catch_scope, catch_variable, catch_block, |
- RelocInfo::kNoPosition); |
+ TryCatchStatement* statement = |
+ factory()->NewTryCatchStatement(try_block, catch_scope, catch_variable, |
+ catch_block, RelocInfo::kNoPosition); |
try_block = factory()->NewBlock(NULL, 1, false, RelocInfo::kNoPosition); |
try_block->AddStatement(statement, zone()); |
catch_block = NULL; // Clear to indicate it's been handled. |
@@ -3033,14 +3029,11 @@ TryStatement* Parser::ParseTryStatement(bool* ok) { |
if (catch_block != NULL) { |
DCHECK(finally_block == NULL); |
DCHECK(catch_scope != NULL && catch_variable != NULL); |
- int index = function_state_->NextHandlerIndex(); |
- result = factory()->NewTryCatchStatement( |
- index, try_block, catch_scope, catch_variable, catch_block, pos); |
+ result = factory()->NewTryCatchStatement(try_block, catch_scope, |
+ catch_variable, catch_block, pos); |
} else { |
DCHECK(finally_block != NULL); |
- int index = function_state_->NextHandlerIndex(); |
- result = factory()->NewTryFinallyStatement( |
- index, try_block, finally_block, pos); |
+ result = factory()->NewTryFinallyStatement(try_block, finally_block, pos); |
} |
return result; |
@@ -3883,7 +3876,6 @@ FunctionLiteral* Parser::ParseFunctionLiteral( |
ZoneList<Statement*>* body = NULL; |
int materialized_literal_count = -1; |
int expected_property_count = -1; |
- int handler_count = 0; |
ExpressionClassifier formals_classifier; |
FunctionLiteral::EagerCompileHint eager_compile_hint = |
parenthesized_function_ ? FunctionLiteral::kShouldEagerCompile |
@@ -4020,7 +4012,6 @@ FunctionLiteral* Parser::ParseFunctionLiteral( |
kind, CHECK_OK); |
materialized_literal_count = function_state.materialized_literal_count(); |
expected_property_count = function_state.expected_property_count(); |
- handler_count = function_state.handler_count(); |
if (is_strong(language_mode()) && IsSubclassConstructor(kind)) { |
if (!function_state.super_location().IsValid()) { |
@@ -4059,9 +4050,9 @@ FunctionLiteral* Parser::ParseFunctionLiteral( |
FunctionLiteral* function_literal = factory()->NewFunctionLiteral( |
function_name, ast_value_factory(), scope, body, |
- materialized_literal_count, expected_property_count, handler_count, |
- num_parameters, duplicate_parameters, function_type, |
- FunctionLiteral::kIsFunction, eager_compile_hint, kind, pos); |
+ materialized_literal_count, expected_property_count, num_parameters, |
+ duplicate_parameters, function_type, FunctionLiteral::kIsFunction, |
+ eager_compile_hint, kind, pos); |
function_literal->set_function_token_position(function_token_pos); |
if (should_be_used_once_hint) |
function_literal->set_should_be_used_once_hint(); |