| Index: src/ia32/lithium-codegen-ia32.cc
|
| ===================================================================
|
| --- src/ia32/lithium-codegen-ia32.cc (revision 15993)
|
| +++ src/ia32/lithium-codegen-ia32.cc (working copy)
|
| @@ -330,6 +330,7 @@
|
| bool LCodeGen::GenerateBody() {
|
| ASSERT(is_generating());
|
| bool emit_instructions = true;
|
| + int old_position = RelocInfo::kNoPosition;
|
| for (current_instruction_ = 0;
|
| !is_aborted() && current_instruction_ < instructions_->length();
|
| current_instruction_++) {
|
| @@ -350,6 +351,12 @@
|
|
|
| if (!CpuFeatures::IsSupported(SSE2)) FlushX87StackIfNecessary(instr);
|
|
|
| + int pos = instr->position();
|
| + if (pos >= 0 && pos != old_position) {
|
| + RecordPosition(pos);
|
| + old_position = pos;
|
| + }
|
| +
|
| instr->CompileToNative(this);
|
|
|
| if (!CpuFeatures::IsSupported(SSE2)) {
|
| @@ -417,6 +424,10 @@
|
| 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();
|
| + if (pos >=0) RecordPosition(pos);
|
| +
|
| Comment(";;; <@%d,#%d> "
|
| "-------------------- Deferred %s --------------------",
|
| code->instruction_index(),
|
|
|