Author: [email protected]
Date: Mon Jun 15 09:33:28 2009
New Revision: 2174
Modified:
branches/bleeding_edge/src/codegen.cc
branches/bleeding_edge/src/compiler.cc
Log:
Fix disassembly output from oprofile.
Only send the inscructions part of a code object to oprofile when reporting
dynamically generated code. Before the code object header was also reported
to oprofile as code which caused strange disassembly output when using
opannotate.
Review URL: http://codereview.chromium.org/125126
Modified: branches/bleeding_edge/src/codegen.cc
==============================================================================
--- branches/bleeding_edge/src/codegen.cc (original)
+++ branches/bleeding_edge/src/codegen.cc Mon Jun 15 09:33:28 2009
@@ -306,8 +306,8 @@
#ifdef ENABLE_OPROFILE_AGENT
OProfileAgent::CreateNativeCodeRegion(*node->name(),
- code->address(),
- code->ExecutableSize());
+ code->instruction_start(),
+ code->instruction_size());
#endif
}
Modified: branches/bleeding_edge/src/compiler.cc
==============================================================================
--- branches/bleeding_edge/src/compiler.cc (original)
+++ branches/bleeding_edge/src/compiler.cc Mon Jun 15 09:33:28 2009
@@ -181,13 +181,15 @@
String::cast(script->name())->ToCString(DISALLOW_NULLS);
LOG(CodeCreateEvent(is_eval ? Logger::EVAL_TAG : Logger::SCRIPT_TAG,
*code, *data));
- OProfileAgent::CreateNativeCodeRegion(*data, code->address(),
- code->ExecutableSize());
+ OProfileAgent::CreateNativeCodeRegion(*data,
+ code->instruction_start(),
+ code->instruction_size());
} else {
LOG(CodeCreateEvent(is_eval ? Logger::EVAL_TAG : Logger::SCRIPT_TAG,
*code, ""));
OProfileAgent::CreateNativeCodeRegion(is_eval ? "Eval" : "Script",
- code->address(), code->ExecutableSize());
+ code->instruction_start(),
+ code->instruction_size());
}
}
#endif
@@ -386,12 +388,14 @@
String::cast(script->name()), line_num));
OProfileAgent::CreateNativeCodeRegion(*func_name,
String::cast(script->name()),
- line_num, code->address(),
- code->ExecutableSize());
+ line_num,
+ code->instruction_start(),
+ code->instruction_size());
} else {
LOG(CodeCreateEvent(Logger::LAZY_COMPILE_TAG, *code, *func_name));
- OProfileAgent::CreateNativeCodeRegion(*func_name, code->address(),
- code->ExecutableSize());
+ OProfileAgent::CreateNativeCodeRegion(*func_name,
+ code->instruction_start(),
+ code->instruction_size());
}
}
#endif
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---