| Index: runtime/vm/parser.cc
|
| diff --git a/runtime/vm/parser.cc b/runtime/vm/parser.cc
|
| index 89cf98887ea8f4372cb8eef0662756d43486e83e..ce5c0ef18f0ab8f283dfb7c3a812130331eb411a 100644
|
| --- a/runtime/vm/parser.cc
|
| +++ b/runtime/vm/parser.cc
|
| @@ -817,6 +817,16 @@ void Parser::ParseClass(const Class& cls) {
|
| Thread* thread = Thread::Current();
|
| Zone* zone = thread->zone();
|
| const int64_t num_tokes_before = STAT_VALUE(thread, num_tokens_consumed);
|
| + TimelineDurationScope tds(thread,
|
| + thread->isolate()->GetCompilerStream(),
|
| + "ParseClass");
|
| + if (tds.enabled()) {
|
| + tds.SetNumArguments(1);
|
| + tds.CopyArgument(
|
| + 0,
|
| + "class",
|
| + const_cast<char*>(String::Handle(cls.Name()).ToCString()));
|
| + }
|
| if (!cls.is_synthesized_class()) {
|
| ASSERT(thread->long_jump_base()->IsSafeToJump());
|
| CSTAT_TIMER_SCOPE(thread, parser_timer);
|
| @@ -926,12 +936,21 @@ void Parser::ParseFunction(ParsedFunction* parsed_function) {
|
| INC_STAT(thread, num_functions_parsed, 1);
|
| VMTagScope tagScope(thread, VMTag::kCompileParseFunctionTagId,
|
| FLAG_profile_vm);
|
| -
|
| + TimelineDurationScope tds(thread,
|
| + thread->isolate()->GetCompilerStream(),
|
| + "ParseFunction");
|
| ASSERT(thread->long_jump_base()->IsSafeToJump());
|
| ASSERT(parsed_function != NULL);
|
| const Function& func = parsed_function->function();
|
| const Script& script = Script::Handle(zone, func.script());
|
| Parser parser(script, parsed_function, func.token_pos());
|
| + if (tds.enabled()) {
|
| + tds.SetNumArguments(1);
|
| + tds.CopyArgument(
|
| + 0,
|
| + "function",
|
| + const_cast<char*>(String::Handle(func.name()).ToCString()));
|
| + }
|
| SequenceNode* node_sequence = NULL;
|
| switch (func.kind()) {
|
| case RawFunction::kClosureFunction:
|
|
|