Closed Bug 658689 Opened 13 years ago Closed 6 years ago

Register allocator improvement -- avoid generating unreachable reconciliation code

Categories

(Tamarin Graveyard :: Baseline JIT (CodegenLIR), defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX
Future

People

(Reporter: wmaddox, Assigned: wmaddox)

Details

In some cases, we generate unreachable register reconciliation code following an unconditional branch.  Besides the inefficiency, failure to clearly distinguish the no-fallthrough cases can mislead the programmer into writing code in which the state merging seems to done properly, the but the actual execution does not conform.  Similarly, our treatment of loop-carried variables is less than optmimal when a loop ends with an unconditional backward branch.

See https://bugzilla.mozilla.org/show_bug.cgi?id=637809#c4 and the following discussion.
Assignee: nobody → wmaddox
Target Milestone: --- → Q1 12 - Brannan
We're going to address register allocator issues in the next year immediatley after half moon or concurrent with it.  Retargeting this bug to Future for now and we'll group this with the regalloc improvements later.
Target Milestone: Q1 12 - Brannan → Future
Flags: flashplayer-qrb+
Flags: flashplayer-injection-
Flags: flashplayer-bug-
Tamarin is a dead project now. Mass WONTFIX.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
You need to log in before you can comment on or make changes to this bug.