Index: src/parser.h |
diff --git a/src/parser.h b/src/parser.h |
index 4aa6f719f3b9361d7cf6a1622f4cc7cc8dd0f908..2111a733117ae2cb1b45f30b53cd968f5f3aed16 100644 |
--- a/src/parser.h |
+++ b/src/parser.h |
@@ -378,17 +378,18 @@ class ParserTraits { |
explicit ParserTraits(Parser* parser) : parser_(parser) {} |
// Custom operations executed when FunctionStates are created and destructed. |
- template<typename FunctionState> |
- static void SetUpFunctionState(FunctionState* function_state, Zone* zone) { |
- Isolate* isolate = zone->isolate(); |
- function_state->saved_ast_node_id_ = isolate->ast_node_id(); |
- isolate->set_ast_node_id(BailoutId::FirstUsable().ToInt()); |
+ template <typename FunctionState> |
+ static void SetUpFunctionState(FunctionState* function_state) { |
+ function_state->saved_ast_node_id_ = |
+ *(function_state->ast_node_id_counter_); |
+ *(function_state->ast_node_id_counter_) = BailoutId::FirstUsable().ToInt(); |
} |
- template<typename FunctionState> |
- static void TearDownFunctionState(FunctionState* function_state, Zone* zone) { |
+ template <typename FunctionState> |
+ static void TearDownFunctionState(FunctionState* function_state) { |
if (function_state->outer_function_state_ != NULL) { |
- zone->isolate()->set_ast_node_id(function_state->saved_ast_node_id_); |
+ *(function_state->ast_node_id_counter_) = |
+ function_state->saved_ast_node_id_; |
} |
} |