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

Side by Side Diff: src/compiler.cc

Issue 1523015: C++ profiles processor: align browser mode with the old implementation, sample VM state. (Closed)
Patch Set: Using Script::type to filter out native scripts. Created 10 years, 8 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 | « no previous file | src/cpu-profiler.h » ('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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 CompilationInfo info(lit, script, is_eval); 210 CompilationInfo info(lit, script, is_eval);
211 Handle<Code> code = MakeCode(context, &info); 211 Handle<Code> code = MakeCode(context, &info);
212 212
213 // Check for stack-overflow exceptions. 213 // Check for stack-overflow exceptions.
214 if (code.is_null()) { 214 if (code.is_null()) {
215 Top::StackOverflow(); 215 Top::StackOverflow();
216 return Handle<SharedFunctionInfo>::null(); 216 return Handle<SharedFunctionInfo>::null();
217 } 217 }
218 218
219 if (script->name()->IsString()) { 219 if (script->name()->IsString()) {
220 PROFILE(CodeCreateEvent(is_eval ? Logger::EVAL_TAG : Logger::SCRIPT_TAG, 220 PROFILE(CodeCreateEvent(
221 *code, String::cast(script->name()))); 221 is_eval ? Logger::EVAL_TAG :
222 Logger::ToNativeByScript(Logger::SCRIPT_TAG, *script),
223 *code, String::cast(script->name())));
222 OPROFILE(CreateNativeCodeRegion(String::cast(script->name()), 224 OPROFILE(CreateNativeCodeRegion(String::cast(script->name()),
223 code->instruction_start(), 225 code->instruction_start(),
224 code->instruction_size())); 226 code->instruction_size()));
225 } else { 227 } else {
226 PROFILE(CodeCreateEvent(is_eval ? Logger::EVAL_TAG : Logger::SCRIPT_TAG, 228 PROFILE(CodeCreateEvent(
227 *code, "")); 229 is_eval ? Logger::EVAL_TAG :
230 Logger::ToNativeByScript(Logger::SCRIPT_TAG, *script),
231 *code, ""));
228 OPROFILE(CreateNativeCodeRegion(is_eval ? "Eval" : "Script", 232 OPROFILE(CreateNativeCodeRegion(is_eval ? "Eval" : "Script",
229 code->instruction_start(), 233 code->instruction_start(),
230 code->instruction_size())); 234 code->instruction_size()));
231 } 235 }
232 236
233 // Allocate function. 237 // Allocate function.
234 Handle<SharedFunctionInfo> result = 238 Handle<SharedFunctionInfo> result =
235 Factory::NewSharedFunctionInfo(lit->name(), 239 Factory::NewSharedFunctionInfo(lit->name(),
236 lit->materialized_literal_count(), 240 lit->materialized_literal_count(),
237 code); 241 code);
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
585 // Log the code generation. If source information is available 589 // Log the code generation. If source information is available
586 // include script name and line number. Check explicitly whether 590 // include script name and line number. Check explicitly whether
587 // logging is enabled as finding the line number is not free. 591 // logging is enabled as finding the line number is not free.
588 if (Logger::is_logging() 592 if (Logger::is_logging()
589 || OProfileAgent::is_enabled() 593 || OProfileAgent::is_enabled()
590 || CpuProfiler::is_profiling()) { 594 || CpuProfiler::is_profiling()) {
591 Handle<String> func_name(name->length() > 0 ? *name : *inferred_name); 595 Handle<String> func_name(name->length() > 0 ? *name : *inferred_name);
592 if (script->name()->IsString()) { 596 if (script->name()->IsString()) {
593 int line_num = GetScriptLineNumber(script, start_position) + 1; 597 int line_num = GetScriptLineNumber(script, start_position) + 1;
594 USE(line_num); 598 USE(line_num);
595 PROFILE(CodeCreateEvent(tag, *code, *func_name, 599 PROFILE(CodeCreateEvent(Logger::ToNativeByScript(tag, *script),
600 *code, *func_name,
596 String::cast(script->name()), line_num)); 601 String::cast(script->name()), line_num));
597 OPROFILE(CreateNativeCodeRegion(*func_name, 602 OPROFILE(CreateNativeCodeRegion(*func_name,
598 String::cast(script->name()), 603 String::cast(script->name()),
599 line_num, 604 line_num,
600 code->instruction_start(), 605 code->instruction_start(),
601 code->instruction_size())); 606 code->instruction_size()));
602 } else { 607 } else {
603 PROFILE(CodeCreateEvent(tag, *code, *func_name)); 608 PROFILE(CodeCreateEvent(Logger::ToNativeByScript(tag, *script),
609 *code, *func_name));
604 OPROFILE(CreateNativeCodeRegion(*func_name, 610 OPROFILE(CreateNativeCodeRegion(*func_name,
605 code->instruction_start(), 611 code->instruction_start(),
606 code->instruction_size())); 612 code->instruction_size()));
607 } 613 }
608 } 614 }
609 } 615 }
610 616
611 } } // namespace v8::internal 617 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/cpu-profiler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698