Chromium Code Reviews| Index: src/assembler.cc |
| diff --git a/src/assembler.cc b/src/assembler.cc |
| index f4299ed7170936fd0b2bb11da07c41840155effd..86d4b11aeb5d113d5f1adce63e07f341a183de6a 100644 |
| --- a/src/assembler.cc |
| +++ b/src/assembler.cc |
| @@ -465,7 +465,7 @@ void RelocInfoWriter::Write(const RelocInfo* rinfo) { |
| DCHECK(begin_pos - pos_ <= RelocInfo::kMaxCallSize); |
| } else if (rmode == RelocInfo::CODE_TARGET_WITH_ID) { |
| // Use signed delta-encoding for id. |
| - DCHECK(static_cast<int>(rinfo->data()) == rinfo->data()); |
| + DCHECK_EQ(static_cast<int>(rinfo->data()), rinfo->data()); |
| int id_delta = static_cast<int>(rinfo->data()) - last_id_; |
| // Check if delta is small enough to fit in a tagged byte. |
| if (is_intn(id_delta, kSmallDataBits)) { |
| @@ -483,12 +483,12 @@ void RelocInfoWriter::Write(const RelocInfo* rinfo) { |
| WriteTaggedData(rinfo->data(), kDeoptReasonTag); |
| } else if (RelocInfo::IsPosition(rmode)) { |
| // Use signed delta-encoding for position. |
| - DCHECK(static_cast<int>(rinfo->data()) == rinfo->data()); |
| + DCHECK_EQ(static_cast<int>(rinfo->data()), rinfo->data()); |
| int pos_delta = static_cast<int>(rinfo->data()) - last_position_; |
| if (rmode == RelocInfo::STATEMENT_POSITION) { |
| WritePosition(pc_delta, pos_delta, rmode); |
| } else { |
| - DCHECK(rmode == RelocInfo::POSITION); |
| + DCHECK_EQ(rmode, RelocInfo::POSITION); |
| if (pc_delta != 0 || last_mode_ != RelocInfo::POSITION) { |
| FlushPosition(); |
| next_position_candidate_pc_delta_ = pc_delta; |
| @@ -1656,9 +1656,11 @@ bool PositionsRecorder::WriteRecordedPositions() { |
| // Platform specific but identical code for all the platforms. |
| -void Assembler::RecordDeoptReason(const int reason, const int raw_position) { |
| +void Assembler::RecordDeoptReason(const int reason, |
| + const SourcePosition position) { |
| if (FLAG_trace_deopt || isolate()->cpu_profiler()->is_profiling()) { |
| EnsureSpace ensure_space(this); |
| + int raw_position = position.IsUnknown() ? 0 : position.raw(); |
|
yurys
2015/02/27 10:35:24
Can we change SourcePosition so that raw() value o
loislo
2015/02/27 12:04:28
We use RelocInfo::kNoPosition in many other places
|
| RecordRelocInfo(RelocInfo::POSITION, raw_position); |
| RecordRelocInfo(RelocInfo::DEOPT_REASON, reason); |
| } |