| 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;
|
| }
|
|
|