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

RESOLVED FIXED in Firefox 50

Status

()

Core
JavaScript Engine: JIT
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: nbp, Assigned: nbp)

Tracking

Trunk
mozilla50
Points:
---

Firefox Tracking Flags

(firefox50 fixed)

Details

Attachments

(1 attachment)

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.
Created attachment 8765955 [details] [diff] [review]
Register instruction information before encoding snapshots.

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+

Comment 2

2 years ago
Pushed by npierron@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/6ffe64c98d40
Register instruction information before encoding snapshots. r=h4writer

Comment 3

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/6ffe64c98d40
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox50: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
You need to log in before you can comment on or make changes to this bug.