Closed Bug 1282810 Opened 10 years ago Closed 10 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
Status: NEW → RESOLVED
Closed: 10 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: