Chromium Code Reviews| Index: src/compiler.cc |
| =================================================================== |
| --- src/compiler.cc (revision 3794) |
| +++ src/compiler.cc (working copy) |
| @@ -398,28 +398,12 @@ |
| } |
| #if defined ENABLE_LOGGING_AND_PROFILING || defined ENABLE_OPROFILE_AGENT |
| - // Log the code generation. If source information is available include script |
| - // name and line number. Check explicit whether logging is enabled as finding |
| - // the line number is not for free. |
| - if (Logger::is_logging() || OProfileAgent::is_enabled()) { |
| - Handle<String> func_name(name->length() > 0 ? |
| - *name : shared->inferred_name()); |
| - if (script->name()->IsString()) { |
| - int line_num = GetScriptLineNumber(script, start_position) + 1; |
| - LOG(CodeCreateEvent(Logger::LAZY_COMPILE_TAG, *code, *func_name, |
| - String::cast(script->name()), line_num)); |
| - OProfileAgent::CreateNativeCodeRegion(*func_name, |
| - String::cast(script->name()), |
| - line_num, |
| - code->instruction_start(), |
| - code->instruction_size()); |
| - } else { |
| - LOG(CodeCreateEvent(Logger::LAZY_COMPILE_TAG, *code, *func_name)); |
| - OProfileAgent::CreateNativeCodeRegion(*func_name, |
| - code->instruction_start(), |
| - code->instruction_size()); |
| - } |
| - } |
| + LogCodeCreateEvent(Logger::LAZY_COMPILE_TAG, |
|
Erik Corry
2010/02/04 15:11:06
We don't indent based on #if, so this should be 2
mnaganov (inactive)
2010/02/04 15:18:15
This is because I copied it from below. Fixed.
|
| + name, |
| + Handle<String>(shared->inferred_name()), |
| + start_position, |
| + script, |
| + code); |
| #endif |
| // Update the shared function info with the compiled code. |
| @@ -513,12 +497,14 @@ |
| } |
| // Function compilation complete. |
| - LOG(CodeCreateEvent(Logger::FUNCTION_TAG, *code, *literal->name())); |
| -#ifdef ENABLE_OPROFILE_AGENT |
| - OProfileAgent::CreateNativeCodeRegion(*literal->name(), |
| - code->instruction_start(), |
| - code->instruction_size()); |
| +#if defined ENABLE_LOGGING_AND_PROFILING || defined ENABLE_OPROFILE_AGENT |
| + LogCodeCreateEvent(Logger::FUNCTION_TAG, |
| + literal->name(), |
| + literal->inferred_name(), |
| + literal->start_position(), |
| + script, |
| + code); |
| #endif |
| } |
| @@ -566,4 +552,35 @@ |
| } |
| +#if defined ENABLE_LOGGING_AND_PROFILING || defined ENABLE_OPROFILE_AGENT |
| +inline void Compiler::LogCodeCreateEvent(Logger::LogEventsAndTags tag, |
|
Erik Corry
2010/02/04 15:11:06
I don't think there is any point in having an inli
mnaganov (inactive)
2010/02/04 15:18:15
Removed 'inline'.
|
| + Handle<String> name, |
| + Handle<String> inferred_name, |
| + int start_position, |
| + Handle<Script> script, |
| + Handle<Code> code) { |
| + // Log the code generation. If source information is available |
| + // include script name and line number. Check explicit whether |
|
Erik Corry
2010/02/04 15:11:06
explicit->explicitly
mnaganov (inactive)
2010/02/04 15:18:15
Done.
|
| + // logging is enabled as finding the line number is not for free. |
|
Erik Corry
2010/02/04 15:11:06
for free -> free
mnaganov (inactive)
2010/02/04 15:18:15
Done.
|
| + if (Logger::is_logging() || OProfileAgent::is_enabled()) { |
| + Handle<String> func_name(name->length() > 0 ? *name : *inferred_name); |
| + if (script->name()->IsString()) { |
| + int line_num = GetScriptLineNumber(script, start_position) + 1; |
| + LOG(CodeCreateEvent(tag, *code, *func_name, |
| + String::cast(script->name()), line_num)); |
| + OProfileAgent::CreateNativeCodeRegion(*func_name, |
| + String::cast(script->name()), |
| + line_num, |
| + code->instruction_start(), |
| + code->instruction_size()); |
| + } else { |
| + LOG(CodeCreateEvent(tag, *code, *func_name)); |
| + OProfileAgent::CreateNativeCodeRegion(*func_name, |
| + code->instruction_start(), |
| + code->instruction_size()); |
| + } |
| + } |
| +} |
| +#endif |
| + |
| } } // namespace v8::internal |