OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/cpu-profiler-inl.h" | 7 #include "src/cpu-profiler-inl.h" |
8 | 8 |
9 #include "src/compiler.h" | 9 #include "src/compiler.h" |
10 #include "src/deoptimizer.h" | 10 #include "src/deoptimizer.h" |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 } | 329 } |
330 | 330 |
331 | 331 |
332 void CpuProfiler::CodeDeoptEvent(Code* code, Address pc, int fp_to_sp_delta) { | 332 void CpuProfiler::CodeDeoptEvent(Code* code, Address pc, int fp_to_sp_delta) { |
333 CodeEventsContainer evt_rec(CodeEventRecord::CODE_DEOPT); | 333 CodeEventsContainer evt_rec(CodeEventRecord::CODE_DEOPT); |
334 CodeDeoptEventRecord* rec = &evt_rec.CodeDeoptEventRecord_; | 334 CodeDeoptEventRecord* rec = &evt_rec.CodeDeoptEventRecord_; |
335 Deoptimizer::DeoptInfo info = Deoptimizer::GetDeoptInfo(code, pc); | 335 Deoptimizer::DeoptInfo info = Deoptimizer::GetDeoptInfo(code, pc); |
336 rec->start = code->address(); | 336 rec->start = code->address(); |
337 rec->deopt_reason = Deoptimizer::GetDeoptReason(info.deopt_reason); | 337 rec->deopt_reason = Deoptimizer::GetDeoptReason(info.deopt_reason); |
338 rec->position = info.position; | 338 rec->position = info.position; |
| 339 rec->pc_offset = pc - code->instruction_start(); |
339 processor_->Enqueue(evt_rec); | 340 processor_->Enqueue(evt_rec); |
340 processor_->AddDeoptStack(isolate_, pc, fp_to_sp_delta); | 341 processor_->AddDeoptStack(isolate_, pc, fp_to_sp_delta); |
341 } | 342 } |
342 | 343 |
343 | 344 |
344 void CpuProfiler::CodeDeleteEvent(Address from) { | 345 void CpuProfiler::CodeDeleteEvent(Address from) { |
345 } | 346 } |
346 | 347 |
347 | 348 |
348 void CpuProfiler::GetterCallbackEvent(Name* name, Address entry_point) { | 349 void CpuProfiler::GetterCallbackEvent(Name* name, Address entry_point) { |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
519 ReportBuiltinEventRecord* rec = &evt_rec.ReportBuiltinEventRecord_; | 520 ReportBuiltinEventRecord* rec = &evt_rec.ReportBuiltinEventRecord_; |
520 Builtins::Name id = static_cast<Builtins::Name>(i); | 521 Builtins::Name id = static_cast<Builtins::Name>(i); |
521 rec->start = builtins->builtin(id)->address(); | 522 rec->start = builtins->builtin(id)->address(); |
522 rec->builtin_id = id; | 523 rec->builtin_id = id; |
523 processor_->Enqueue(evt_rec); | 524 processor_->Enqueue(evt_rec); |
524 } | 525 } |
525 } | 526 } |
526 | 527 |
527 | 528 |
528 } } // namespace v8::internal | 529 } } // namespace v8::internal |
OLD | NEW |