Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Side by Side Diff: runtime/vm/parser.cc

Issue 1678203002: Remove more feature in product mode (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/os_thread.cc ('k') | runtime/vm/parser_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/parser.h" 5 #include "vm/parser.h"
6 #include "vm/flags.h" 6 #include "vm/flags.h"
7 7
8 #ifndef DART_PRECOMPILED_RUNTIME 8 #ifndef DART_PRECOMPILED_RUNTIME
9 9
10 #include "lib/invocation_mirror.h" 10 #include "lib/invocation_mirror.h"
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 prev_token_pos_ = position; 483 prev_token_pos_ = position;
484 } 484 }
485 485
486 486
487 void Parser::ParseCompilationUnit(const Library& library, 487 void Parser::ParseCompilationUnit(const Library& library,
488 const Script& script) { 488 const Script& script) {
489 Thread* thread = Thread::Current(); 489 Thread* thread = Thread::Current();
490 ASSERT(thread->long_jump_base()->IsSafeToJump()); 490 ASSERT(thread->long_jump_base()->IsSafeToJump());
491 CSTAT_TIMER_SCOPE(thread, parser_timer); 491 CSTAT_TIMER_SCOPE(thread, parser_timer);
492 VMTagScope tagScope(thread, VMTag::kCompileTopLevelTagId); 492 VMTagScope tagScope(thread, VMTag::kCompileTopLevelTagId);
493 #ifndef PRODUCT
493 TimelineDurationScope tds(thread, 494 TimelineDurationScope tds(thread,
494 thread->isolate()->GetCompilerStream(), 495 thread->isolate()->GetCompilerStream(),
495 "CompileTopLevel"); 496 "CompileTopLevel");
496 if (tds.enabled()) { 497 if (tds.enabled()) {
497 tds.SetNumArguments(1); 498 tds.SetNumArguments(1);
498 tds.CopyArgument(0, "script", String::Handle(script.url()).ToCString()); 499 tds.CopyArgument(0, "script", String::Handle(script.url()).ToCString());
499 } 500 }
501 #endif
500 502
501 Parser parser(script, library, TokenPosition::kMinSource); 503 Parser parser(script, library, TokenPosition::kMinSource);
502 parser.ParseTopLevel(); 504 parser.ParseTopLevel();
503 } 505 }
504 506
505 507
506 void Parser::ComputeCurrentToken() { 508 void Parser::ComputeCurrentToken() {
507 ASSERT(token_kind_ == Token::kILLEGAL); 509 ASSERT(token_kind_ == Token::kILLEGAL);
508 token_kind_ = tokens_iterator_.CurrentTokenKind(); 510 token_kind_ = tokens_iterator_.CurrentTokenKind();
509 if (token_kind_ == Token::kERROR) { 511 if (token_kind_ == Token::kERROR) {
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
847 Zone* zone_; 849 Zone* zone_;
848 GrowableArray<const Field*> fields_; 850 GrowableArray<const Field*> fields_;
849 GrowableArray<const Function*> functions_; 851 GrowableArray<const Function*> functions_;
850 }; 852 };
851 853
852 854
853 void Parser::ParseClass(const Class& cls) { 855 void Parser::ParseClass(const Class& cls) {
854 Thread* thread = Thread::Current(); 856 Thread* thread = Thread::Current();
855 Zone* zone = thread->zone(); 857 Zone* zone = thread->zone();
856 const int64_t num_tokes_before = STAT_VALUE(thread, num_tokens_consumed); 858 const int64_t num_tokes_before = STAT_VALUE(thread, num_tokens_consumed);
859 #ifndef PRODUCT
857 TimelineDurationScope tds(thread, 860 TimelineDurationScope tds(thread,
858 thread->isolate()->GetCompilerStream(), 861 thread->isolate()->GetCompilerStream(),
859 "ParseClass"); 862 "ParseClass");
860 if (tds.enabled()) { 863 if (tds.enabled()) {
861 tds.SetNumArguments(1); 864 tds.SetNumArguments(1);
862 tds.CopyArgument(0, "class", String::Handle(cls.Name()).ToCString()); 865 tds.CopyArgument(0, "class", String::Handle(cls.Name()).ToCString());
863 } 866 }
867 #endif
864 if (!cls.is_synthesized_class()) { 868 if (!cls.is_synthesized_class()) {
865 ASSERT(thread->long_jump_base()->IsSafeToJump()); 869 ASSERT(thread->long_jump_base()->IsSafeToJump());
866 CSTAT_TIMER_SCOPE(thread, parser_timer); 870 CSTAT_TIMER_SCOPE(thread, parser_timer);
867 const Script& script = Script::Handle(zone, cls.script()); 871 const Script& script = Script::Handle(zone, cls.script());
868 const Library& lib = Library::Handle(zone, cls.library()); 872 const Library& lib = Library::Handle(zone, cls.library());
869 Parser parser(script, lib, cls.token_pos()); 873 Parser parser(script, lib, cls.token_pos());
870 parser.ParseClassDefinition(cls); 874 parser.ParseClassDefinition(cls);
871 } else if (cls.is_enum_class()) { 875 } else if (cls.is_enum_class()) {
872 ASSERT(thread->long_jump_base()->IsSafeToJump()); 876 ASSERT(thread->long_jump_base()->IsSafeToJump());
873 CSTAT_TIMER_SCOPE(thread, parser_timer); 877 CSTAT_TIMER_SCOPE(thread, parser_timer);
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
962 966
963 967
964 void Parser::ParseFunction(ParsedFunction* parsed_function) { 968 void Parser::ParseFunction(ParsedFunction* parsed_function) {
965 Thread* thread = parsed_function->thread(); 969 Thread* thread = parsed_function->thread();
966 ASSERT(thread == Thread::Current()); 970 ASSERT(thread == Thread::Current());
967 Zone* zone = thread->zone(); 971 Zone* zone = thread->zone();
968 CSTAT_TIMER_SCOPE(thread, parser_timer); 972 CSTAT_TIMER_SCOPE(thread, parser_timer);
969 INC_STAT(thread, num_functions_parsed, 1); 973 INC_STAT(thread, num_functions_parsed, 1);
970 VMTagScope tagScope(thread, VMTag::kCompileParseFunctionTagId, 974 VMTagScope tagScope(thread, VMTag::kCompileParseFunctionTagId,
971 FLAG_profile_vm); 975 FLAG_profile_vm);
976 #ifndef PRODUCT
972 TimelineDurationScope tds(thread, 977 TimelineDurationScope tds(thread,
973 thread->isolate()->GetCompilerStream(), 978 thread->isolate()->GetCompilerStream(),
974 "ParseFunction"); 979 "ParseFunction");
980 #endif // !PRODUCT
975 ASSERT(thread->long_jump_base()->IsSafeToJump()); 981 ASSERT(thread->long_jump_base()->IsSafeToJump());
976 ASSERT(parsed_function != NULL); 982 ASSERT(parsed_function != NULL);
977 const Function& func = parsed_function->function(); 983 const Function& func = parsed_function->function();
978 const Script& script = Script::Handle(zone, func.script()); 984 const Script& script = Script::Handle(zone, func.script());
979 Parser parser(script, parsed_function, func.token_pos()); 985 Parser parser(script, parsed_function, func.token_pos());
986 #ifndef PRODUCT
980 if (tds.enabled()) { 987 if (tds.enabled()) {
981 tds.SetNumArguments(1); 988 tds.SetNumArguments(1);
982 tds.CopyArgument(0, "function", String::Handle(func.name()).ToCString()); 989 tds.CopyArgument(0, "function", String::Handle(func.name()).ToCString());
983 } 990 }
991 #endif // !PRODUCT
984 SequenceNode* node_sequence = NULL; 992 SequenceNode* node_sequence = NULL;
985 switch (func.kind()) { 993 switch (func.kind()) {
986 case RawFunction::kClosureFunction: 994 case RawFunction::kClosureFunction:
987 if (func.IsImplicitClosureFunction()) { 995 if (func.IsImplicitClosureFunction()) {
988 node_sequence = parser.ParseImplicitClosure(func); 996 node_sequence = parser.ParseImplicitClosure(func);
989 break; 997 break;
990 } 998 }
991 if (func.IsConstructorClosureFunction()) { 999 if (func.IsConstructorClosureFunction()) {
992 node_sequence = parser.ParseConstructorClosure(func); 1000 node_sequence = parser.ParseConstructorClosure(func);
993 break; 1001 break;
(...skipping 13412 matching lines...) Expand 10 before | Expand all | Expand 10 after
14406 const ArgumentListNode& function_args, 14414 const ArgumentListNode& function_args,
14407 const LocalVariable* temp_for_last_arg, 14415 const LocalVariable* temp_for_last_arg,
14408 bool is_super_invocation) { 14416 bool is_super_invocation) {
14409 UNREACHABLE(); 14417 UNREACHABLE();
14410 return NULL; 14418 return NULL;
14411 } 14419 }
14412 14420
14413 } // namespace dart 14421 } // namespace dart
14414 14422
14415 #endif // DART_PRECOMPILED_RUNTIME 14423 #endif // DART_PRECOMPILED_RUNTIME
OLDNEW
« no previous file with comments | « runtime/vm/os_thread.cc ('k') | runtime/vm/parser_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698