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

Side by Side Diff: src/log.cc

Issue 2595673002: [profiler] Do not report native function names as script names. (Closed)
Patch Set: Created 4 years 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 | « src/code-events.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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/log.h" 5 #include "src/log.h"
6 6
7 #include <cstdarg> 7 #include <cstdarg>
8 #include <memory> 8 #include <memory>
9 #include <sstream> 9 #include <sstream>
10 10
(...skipping 1494 matching lines...) Expand 10 before | Expand all | Expand 10 after
1505 PROFILE(isolate_, CodeCreateEvent( 1505 PROFILE(isolate_, CodeCreateEvent(
1506 CodeEventListener::BYTECODE_HANDLER_TAG, 1506 CodeEventListener::BYTECODE_HANDLER_TAG,
1507 AbstractCode::cast(code), bytecode_name.c_str())); 1507 AbstractCode::cast(code), bytecode_name.c_str()));
1508 } 1508 }
1509 } 1509 }
1510 } 1510 }
1511 } 1511 }
1512 1512
1513 void Logger::LogExistingFunction(Handle<SharedFunctionInfo> shared, 1513 void Logger::LogExistingFunction(Handle<SharedFunctionInfo> shared,
1514 Handle<AbstractCode> code) { 1514 Handle<AbstractCode> code) {
1515 Handle<String> func_name(shared->DebugName());
1516 if (shared->script()->IsScript()) { 1515 if (shared->script()->IsScript()) {
1517 Handle<Script> script(Script::cast(shared->script())); 1516 Handle<Script> script(Script::cast(shared->script()));
1518 int line_num = Script::GetLineNumber(script, shared->start_position()) + 1; 1517 int line_num = Script::GetLineNumber(script, shared->start_position()) + 1;
1519 int column_num = 1518 int column_num =
1520 Script::GetColumnNumber(script, shared->start_position()) + 1; 1519 Script::GetColumnNumber(script, shared->start_position()) + 1;
1521 if (script->name()->IsString()) { 1520 if (script->name()->IsString()) {
1522 Handle<String> script_name(String::cast(script->name())); 1521 Handle<String> script_name(String::cast(script->name()));
1523 if (line_num > 0) { 1522 if (line_num > 0) {
1524 PROFILE(isolate_, 1523 PROFILE(isolate_,
1525 CodeCreateEvent( 1524 CodeCreateEvent(
(...skipping 18 matching lines...) Expand all
1544 // API function. 1543 // API function.
1545 FunctionTemplateInfo* fun_data = shared->get_api_func_data(); 1544 FunctionTemplateInfo* fun_data = shared->get_api_func_data();
1546 Object* raw_call_data = fun_data->call_code(); 1545 Object* raw_call_data = fun_data->call_code();
1547 if (!raw_call_data->IsUndefined(isolate_)) { 1546 if (!raw_call_data->IsUndefined(isolate_)) {
1548 CallHandlerInfo* call_data = CallHandlerInfo::cast(raw_call_data); 1547 CallHandlerInfo* call_data = CallHandlerInfo::cast(raw_call_data);
1549 Object* callback_obj = call_data->callback(); 1548 Object* callback_obj = call_data->callback();
1550 Address entry_point = v8::ToCData<Address>(callback_obj); 1549 Address entry_point = v8::ToCData<Address>(callback_obj);
1551 #if USES_FUNCTION_DESCRIPTORS 1550 #if USES_FUNCTION_DESCRIPTORS
1552 entry_point = *FUNCTION_ENTRYPOINT_ADDRESS(entry_point); 1551 entry_point = *FUNCTION_ENTRYPOINT_ADDRESS(entry_point);
1553 #endif 1552 #endif
1554 PROFILE(isolate_, CallbackEvent(*func_name, entry_point)); 1553 PROFILE(isolate_, CallbackEvent(shared->DebugName(), entry_point));
1555 } 1554 }
1556 } else { 1555 } else {
1557 PROFILE(isolate_, CodeCreateEvent(CodeEventListener::LAZY_COMPILE_TAG, 1556 PROFILE(isolate_,
1558 *code, *shared, *func_name)); 1557 CodeCreateEvent(CodeEventListener::LAZY_COMPILE_TAG, *code, *shared,
1558 isolate_->heap()->empty_string()));
1559 } 1559 }
1560 } 1560 }
1561 1561
1562 1562
1563 void Logger::LogCompiledFunctions() { 1563 void Logger::LogCompiledFunctions() {
1564 Heap* heap = isolate_->heap(); 1564 Heap* heap = isolate_->heap();
1565 HandleScope scope(isolate_); 1565 HandleScope scope(isolate_);
1566 const int compiled_funcs_count = EnumerateCompiledFunctions(heap, NULL, NULL); 1566 const int compiled_funcs_count = EnumerateCompiledFunctions(heap, NULL, NULL);
1567 ScopedVector< Handle<SharedFunctionInfo> > sfis(compiled_funcs_count); 1567 ScopedVector< Handle<SharedFunctionInfo> > sfis(compiled_funcs_count);
1568 ScopedVector<Handle<AbstractCode> > code_objects(compiled_funcs_count); 1568 ScopedVector<Handle<AbstractCode> > code_objects(compiled_funcs_count);
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
1780 1780
1781 if (profiler_listener_.get() != nullptr) { 1781 if (profiler_listener_.get() != nullptr) {
1782 removeCodeEventListener(profiler_listener_.get()); 1782 removeCodeEventListener(profiler_listener_.get());
1783 } 1783 }
1784 1784
1785 return log_->Close(); 1785 return log_->Close();
1786 } 1786 }
1787 1787
1788 } // namespace internal 1788 } // namespace internal
1789 } // namespace v8 1789 } // namespace v8
OLDNEW
« no previous file with comments | « src/code-events.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698