| Index: src/profiler/profile-generator.cc
 | 
| diff --git a/src/profiler/profile-generator.cc b/src/profiler/profile-generator.cc
 | 
| index 69a10282becbc21b057fe8f29da516a555e81905..d5e3b282c8f28e8038ffa2bebb341e3aca536b37 100644
 | 
| --- a/src/profiler/profile-generator.cc
 | 
| +++ b/src/profiler/profile-generator.cc
 | 
| @@ -182,16 +182,17 @@ CpuProfileDeoptInfo CodeEntry::GetDeoptInfo() {
 | 
|    info.deopt_reason = deopt_reason_;
 | 
|    DCHECK_NE(kNoDeoptimizationId, deopt_id_);
 | 
|    if (deopt_inlined_frames_.find(deopt_id_) == deopt_inlined_frames_.end()) {
 | 
| -    info.stack.push_back(CpuProfileDeoptFrame(
 | 
| -        {script_id_, position_ + deopt_position_.position()}));
 | 
| +    info.stack.push_back(
 | 
| +        CpuProfileDeoptFrame({script_id_, deopt_position_.ScriptOffset()}));
 | 
|    } else {
 | 
| -    size_t deopt_position = deopt_position_.raw();
 | 
|      // Copy stack of inlined frames where the deopt happened.
 | 
|      std::vector<DeoptInlinedFrame>& frames = deopt_inlined_frames_[deopt_id_];
 | 
| +    bool first = true;
 | 
|      for (DeoptInlinedFrame& inlined_frame : base::Reversed(frames)) {
 | 
|        info.stack.push_back(CpuProfileDeoptFrame(
 | 
| -          {inlined_frame.script_id, deopt_position + inlined_frame.position}));
 | 
| -      deopt_position = 0;  // Done with innermost frame.
 | 
| +          {inlined_frame.script_id,
 | 
| +           first ? deopt_position_.ScriptOffset() : inlined_frame.position}));
 | 
| +      first = false;  // Done with innermost frame.
 | 
|      }
 | 
|    }
 | 
|    return info;
 | 
| 
 |