| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/parsing/parser.h" | 5 #include "src/parsing/parser.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "src/api.h" | 9 #include "src/api.h" |
| 10 #include "src/ast/ast.h" | 10 #include "src/ast/ast.h" |
| (...skipping 821 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 832 info->character_stream() != nullptr); | 832 info->character_stream() != nullptr); |
| 833 set_allow_lazy(info->allow_lazy_parsing()); | 833 set_allow_lazy(info->allow_lazy_parsing()); |
| 834 set_allow_natives(FLAG_allow_natives_syntax || info->is_native()); | 834 set_allow_natives(FLAG_allow_natives_syntax || info->is_native()); |
| 835 set_allow_tailcalls(FLAG_harmony_tailcalls && !info->is_native() && | 835 set_allow_tailcalls(FLAG_harmony_tailcalls && !info->is_native() && |
| 836 info->isolate()->is_tail_call_elimination_enabled()); | 836 info->isolate()->is_tail_call_elimination_enabled()); |
| 837 set_allow_harmony_do_expressions(FLAG_harmony_do_expressions); | 837 set_allow_harmony_do_expressions(FLAG_harmony_do_expressions); |
| 838 set_allow_harmony_for_in(FLAG_harmony_for_in); | 838 set_allow_harmony_for_in(FLAG_harmony_for_in); |
| 839 set_allow_harmony_function_sent(FLAG_harmony_function_sent); | 839 set_allow_harmony_function_sent(FLAG_harmony_function_sent); |
| 840 set_allow_harmony_restrictive_declarations( | 840 set_allow_harmony_restrictive_declarations( |
| 841 FLAG_harmony_restrictive_declarations); | 841 FLAG_harmony_restrictive_declarations); |
| 842 set_allow_harmony_exponentiation_operator( | |
| 843 FLAG_harmony_exponentiation_operator); | |
| 844 set_allow_harmony_async_await(FLAG_harmony_async_await); | 842 set_allow_harmony_async_await(FLAG_harmony_async_await); |
| 845 set_allow_harmony_restrictive_generators(FLAG_harmony_restrictive_generators); | 843 set_allow_harmony_restrictive_generators(FLAG_harmony_restrictive_generators); |
| 846 set_allow_harmony_trailing_commas(FLAG_harmony_trailing_commas); | 844 set_allow_harmony_trailing_commas(FLAG_harmony_trailing_commas); |
| 847 for (int feature = 0; feature < v8::Isolate::kUseCounterFeatureCount; | 845 for (int feature = 0; feature < v8::Isolate::kUseCounterFeatureCount; |
| 848 ++feature) { | 846 ++feature) { |
| 849 use_counts_[feature] = 0; | 847 use_counts_[feature] = 0; |
| 850 } | 848 } |
| 851 if (info->ast_value_factory() == NULL) { | 849 if (info->ast_value_factory() == NULL) { |
| 852 // info takes ownership of AstValueFactory. | 850 // info takes ownership of AstValueFactory. |
| 853 info->set_ast_value_factory(new AstValueFactory(zone(), info->hash_seed())); | 851 info->set_ast_value_factory(new AstValueFactory(zone(), info->hash_seed())); |
| (...skipping 4115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4969 | 4967 |
| 4970 if (reusable_preparser_ == NULL) { | 4968 if (reusable_preparser_ == NULL) { |
| 4971 reusable_preparser_ = new PreParser(zone(), &scanner_, ast_value_factory(), | 4969 reusable_preparser_ = new PreParser(zone(), &scanner_, ast_value_factory(), |
| 4972 NULL, stack_limit_); | 4970 NULL, stack_limit_); |
| 4973 reusable_preparser_->set_allow_lazy(true); | 4971 reusable_preparser_->set_allow_lazy(true); |
| 4974 #define SET_ALLOW(name) reusable_preparser_->set_allow_##name(allow_##name()); | 4972 #define SET_ALLOW(name) reusable_preparser_->set_allow_##name(allow_##name()); |
| 4975 SET_ALLOW(natives); | 4973 SET_ALLOW(natives); |
| 4976 SET_ALLOW(harmony_do_expressions); | 4974 SET_ALLOW(harmony_do_expressions); |
| 4977 SET_ALLOW(harmony_for_in); | 4975 SET_ALLOW(harmony_for_in); |
| 4978 SET_ALLOW(harmony_function_sent); | 4976 SET_ALLOW(harmony_function_sent); |
| 4979 SET_ALLOW(harmony_exponentiation_operator); | |
| 4980 SET_ALLOW(harmony_restrictive_declarations); | 4977 SET_ALLOW(harmony_restrictive_declarations); |
| 4981 SET_ALLOW(harmony_async_await); | 4978 SET_ALLOW(harmony_async_await); |
| 4982 SET_ALLOW(harmony_trailing_commas); | 4979 SET_ALLOW(harmony_trailing_commas); |
| 4983 #undef SET_ALLOW | 4980 #undef SET_ALLOW |
| 4984 } | 4981 } |
| 4985 PreParser::PreParseResult result = reusable_preparser_->PreParseLazyFunction( | 4982 PreParser::PreParseResult result = reusable_preparser_->PreParseLazyFunction( |
| 4986 language_mode(), function_state_->kind(), | 4983 language_mode(), function_state_->kind(), |
| 4987 scope()->has_simple_parameters(), parsing_module_, logger, bookmark, | 4984 scope()->has_simple_parameters(), parsing_module_, logger, bookmark, |
| 4988 use_counts_); | 4985 use_counts_); |
| 4989 if (pre_parse_timer_ != NULL) { | 4986 if (pre_parse_timer_ != NULL) { |
| (...skipping 2101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7091 node->Print(Isolate::Current()); | 7088 node->Print(Isolate::Current()); |
| 7092 } | 7089 } |
| 7093 #endif // DEBUG | 7090 #endif // DEBUG |
| 7094 | 7091 |
| 7095 #undef CHECK_OK | 7092 #undef CHECK_OK |
| 7096 #undef CHECK_OK_VOID | 7093 #undef CHECK_OK_VOID |
| 7097 #undef CHECK_FAILED | 7094 #undef CHECK_FAILED |
| 7098 | 7095 |
| 7099 } // namespace internal | 7096 } // namespace internal |
| 7100 } // namespace v8 | 7097 } // namespace v8 |
| OLD | NEW |