| Index: src/mips/lithium-codegen-mips.cc
|
| diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc
|
| index 75d8316971e6fc7fa463c105c6fcba748c7a6060..15325e06b5803256e32cdb2d81daaba5a5116bff 100644
|
| --- a/src/mips/lithium-codegen-mips.cc
|
| +++ b/src/mips/lithium-codegen-mips.cc
|
| @@ -268,6 +268,8 @@ bool LCodeGen::GenerateBody() {
|
| instr->Mnemonic());
|
| }
|
|
|
| + RecordAndUpdatePosition(instr->position());
|
| +
|
| instr->CompileToNative(this);
|
| }
|
| EnsureSpaceForLazyDeopt();
|
| @@ -281,6 +283,10 @@ bool LCodeGen::GenerateDeferredCode() {
|
| if (deferred_.length() > 0) {
|
| for (int i = 0; !is_aborted() && i < deferred_.length(); i++) {
|
| LDeferredCode* code = deferred_[i];
|
| +
|
| + int pos = instructions_->at(code->instruction_index())->position();
|
| + RecordAndUpdatePosition(pos);
|
| +
|
| Comment(";;; <@%d,#%d> "
|
| "-------------------- Deferred %s --------------------",
|
| code->instruction_index(),
|
| @@ -980,6 +986,14 @@ void LCodeGen::RecordPosition(int position) {
|
| }
|
|
|
|
|
| +void LCodeGen::RecordAndUpdatePosition(int position) {
|
| + if (position >= 0 && position != old_position_) {
|
| + masm()->positions_recorder()->RecordPosition(position);
|
| + old_position_ = position;
|
| + }
|
| +}
|
| +
|
| +
|
| static const char* LabelType(LLabel* label) {
|
| if (label->is_loop_header()) return " (loop header)";
|
| if (label->is_osr_entry()) return " (OSR entry)";
|
|
|