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

Unified Diff: src/log.cc

Issue 2105943002: Expose TickSample and its APIs in v8-profiler.h (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: src/log.cc
diff --git a/src/log.cc b/src/log.cc
index 3e7677edf1955400cae41889f69e06544b8e7301..155c46b7cb6f5ad3fa25cb065fe2db31422604df 100644
--- a/src/log.cc
+++ b/src/log.cc
@@ -7,6 +7,7 @@
#include <cstdarg>
#include <sstream>
+#include "include/v8-profiler.h"
#include "src/bailout-reason.h"
#include "src/base/platform/platform.h"
#include "src/bootstrapper.h"
@@ -23,6 +24,7 @@
#include "src/perf-jit.h"
#include "src/profiler/cpu-profiler-inl.h"
#include "src/profiler/profiler-listener.h"
+#include "src/profiler/simulator-helper.h"
#include "src/runtime-profiler.h"
#include "src/string-stream.h"
#include "src/vm-state-inl.h"
@@ -645,23 +647,24 @@ class Ticker: public sampler::Sampler {
void SampleStack(const v8::RegisterState& state) override {
v8::Isolate* v8_isolate = isolate();
- Isolate* isolate = reinterpret_cast<Isolate*>(v8_isolate);
+ Isolate* i_isolate = reinterpret_cast<Isolate*>(v8_isolate);
#if defined(USE_SIMULATOR)
- if (!SimulatorHelper::FillRegisters(isolate,
+ if (!SimulatorHelper::FillRegisters(i_isolate,
const_cast<v8::RegisterState*>(&state)))
return;
#endif
- TickSample* sample = isolate->cpu_profiler()->StartTickSample();
+ TickSample* sample = i_isolate->cpu_profiler()->StartTickSample();
TickSample sample_obj;
if (sample == NULL) sample = &sample_obj;
- sample->Init(isolate, state, TickSample::kIncludeCEntryFrame, true);
- if (is_counting_samples_ && !sample->timestamp.IsNull()) {
+ sample->Init(v8_isolate, state, TickSample::kIncludeCEntryFrame, true);
+ if (sample->pc == nullptr) return;
+ if (is_counting_samples_) {
if (sample->state == JS) ++js_sample_count_;
if (sample->state == EXTERNAL) ++external_sample_count_;
}
if (profiler_) profiler_->Insert(sample);
if (sample != &sample_obj) {
- isolate->cpu_profiler()->FinishTickSample();
+ i_isolate->cpu_profiler()->FinishTickSample();
}
}
@@ -1383,14 +1386,15 @@ void Logger::TickEvent(TickSample* sample, bool overflow) {
}
Log::MessageBuilder msg(log_);
msg.Append("%s,", kLogEventsNames[CodeEventListener::TICK_EVENT]);
- msg.AppendAddress(sample->pc);
+ msg.AppendAddress(reinterpret_cast<Address>(sample->pc));
msg.Append(",%d", static_cast<int>(timer_.Elapsed().InMicroseconds()));
if (sample->has_external_callback) {
msg.Append(",1,");
- msg.AppendAddress(sample->external_callback_entry);
+ msg.AppendAddress(
+ reinterpret_cast<Address>(sample->external_callback_entry));
} else {
msg.Append(",0,");
- msg.AppendAddress(sample->tos);
+ msg.AppendAddress(reinterpret_cast<Address>(sample->tos));
}
msg.Append(",%d", static_cast<int>(sample->state));
if (overflow) {
@@ -1398,7 +1402,7 @@ void Logger::TickEvent(TickSample* sample, bool overflow) {
}
for (unsigned i = 0; i < sample->frames_count; ++i) {
msg.Append(',');
- msg.AppendAddress(sample->stack[i]);
+ msg.AppendAddress(reinterpret_cast<Address>(sample->stack[i]));
}
msg.WriteToLogFile();
}

Powered by Google App Engine
This is Rietveld 408576698