Index: src/profiler/cpu-profiler.cc |
diff --git a/src/profiler/cpu-profiler.cc b/src/profiler/cpu-profiler.cc |
index 42b5fdf31dcfb9c396fe2d09bd79342ce8822188..5b960fab0097609373f874e18ea253b071520fd1 100644 |
--- a/src/profiler/cpu-profiler.cc |
+++ b/src/profiler/cpu-profiler.cc |
@@ -12,8 +12,6 @@ |
#include "src/profiler/cpu-profiler-inl.h" |
#include "src/vm-state-inl.h" |
-#include "include/v8-profiler.h" |
- |
namespace v8 { |
namespace internal { |
@@ -49,7 +47,11 @@ void ProfilerEventsProcessor::AddDeoptStack(Isolate* isolate, Address from, |
regs.sp = fp - fp_to_sp_delta; |
regs.fp = fp; |
regs.pc = from; |
- record.sample.Init(isolate, regs, TickSample::kSkipCEntryFrame, false); |
+ record.sample.Init(reinterpret_cast<v8::Isolate*>(isolate), regs, |
+ TickSample::kSkipCEntryFrame, false); |
+ record.timestamp = record.sample.pc == nullptr |
+ ? base::TimeTicks() |
+ : base::TimeTicks::HighResolutionNow(); |
ticks_from_vm_buffer_.Enqueue(record); |
} |
@@ -64,7 +66,11 @@ void ProfilerEventsProcessor::AddCurrentStack(Isolate* isolate, |
regs.fp = frame->fp(); |
regs.pc = frame->pc(); |
} |
- record.sample.Init(isolate, regs, TickSample::kSkipCEntryFrame, update_stats); |
+ record.sample.Init(reinterpret_cast<v8::Isolate*>(isolate), regs, |
+ TickSample::kSkipCEntryFrame, update_stats); |
+ record.timestamp = record.sample.pc == nullptr |
+ ? base::TimeTicks() |
+ : base::TimeTicks::HighResolutionNow(); |
ticks_from_vm_buffer_.Enqueue(record); |
} |
@@ -102,7 +108,7 @@ ProfilerEventsProcessor::SampleProcessingResult |
(record1.order == last_processed_code_event_id_)) { |
TickSampleEventRecord record; |
ticks_from_vm_buffer_.Dequeue(&record); |
- generator_->RecordTickSample(record.sample); |
+ generator_->RecordTickSample(record.sample, record.timestamp); |
return OneSampleProcessed; |
} |
@@ -114,7 +120,7 @@ ProfilerEventsProcessor::SampleProcessingResult |
if (record->order != last_processed_code_event_id_) { |
return FoundSampleForNextCodeEvent; |
} |
- generator_->RecordTickSample(record->sample); |
+ generator_->RecordTickSample(record->sample, record->timestamp); |
ticks_buffer_.Remove(); |
return OneSampleProcessed; |
} |