Closed Bug 1282810 Opened 8 years ago Closed 8 years ago

Debug builds have incorrect LIR/MIR locations and might report bailouts on goto.

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla50
Tracking Status
firefox50 --- fixed

People

(Reporter: nbp, Assigned: nbp)

Details

Attachments

(1 file)

The problem comes from the recent addition of the eager bailing mode, which makes us encode the snapshots before we use the visitor to visit the instruction.

The problem is that the snapshot encoding stores information about the last visited instruction.  Thus, if the first instruction of the basic block is a bailing instruction, then the debug information will report information about the conditional of the last encoded block.
setElement is normally called by the accept function, but as this code has
to be executed before we call the accept function (because we need to have
the entry register allocation), we have to call it manually to satisfy the
use of the "instruction()" method in
"CodeGeneratorShared::encode(LSnapshot*)"
Attachment #8765955 - Flags: review?(hv1989)
Attachment #8765955 - Flags: review?(hv1989) → review+
Pushed by npierron@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/6ffe64c98d40
Register instruction information before encoding snapshots. r=h4writer
https://hg.mozilla.org/mozilla-central/rev/6ffe64c98d40
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: