Closed Bug 1071879 Opened 10 years ago Closed 10 years ago

Assertion failure: phi->getOperand(i)->block()->dominates(block->getPredecessor(i)) (Phi input is not dominated by its operand), at jit/IonAnalysis.cpp

Categories

(Core :: JavaScript Engine: JIT, defect)

x86_64
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla35
Tracking Status
firefox35 --- affected

People

(Reporter: gkw, Assigned: h4writer)

References

Details

(Keywords: assertion, regression, testcase, Whiteboard: [fuzzblocker][jsbugmon:update])

Attachments

(2 files)

function g(f, inputs) {
    for (var j = 0; j < 2; j++) {
        try {
            f(inputs[j])
        } catch (e) {}
    }
}
function f(x) {
    returnx > 0 ? x && Number.MIN_VALUE >> 0 : x;
};
g(f, [-Number.E])

asserts js debug shell on m-c changeset 9e193395b912 with --no-threads --ion-eager at Assertion failure: phi->getOperand(i)->block()->dominates(block->getPredecessor(i)) (Phi input is not dominated by its operand), at jit/IonAnalysis.cpp.

Debug configure flags:

CC="clang -Qunused-arguments" CXX="clang++ -Qunused-arguments" AR=ar sh /Users/skywalker/trees/mozilla-central/js/src/configure --target=x86_64-apple-darwin12.5.0 --enable-debug --enable-optimize --enable-nspr-build --enable-more-deterministic --with-ccache --enable-gczeal --enable-debug-symbols --disable-tests

=== Tinderbox Build Bisection Results by autoBisect ===

The "good" changeset has the timestamp "20140923002344" and the hash "b3c0b2156cff".
The "bad" changeset has the timestamp "20140923004245" and the hash "6465e8acae5e".

Likely regression window: https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=b3c0b2156cff&tochange=6465e8acae5e

Hannes, is bug 1064537 a possible regressor?
Flags: needinfo?(hv1989)
If we change a ? 0 : a to 0, we need to hoist the "MConstant 0" out of the true branch, so it dominates both branches.
Assignee: nobody → hv1989
Attachment #8494117 - Flags: review?(nicolas.b.pierron)
Flags: needinfo?(hv1989)
This patch also fixes the duplicated bugs (which show a different assert, but is actually the same issue)
Whiteboard: [jsbugmon:update] → [fuzzblocker][jsbugmon:update]
Comment on attachment 8494117 [details] [diff] [review]
Hoist constant when folding to it

Review of attachment 8494117 [details] [diff] [review]:
-----------------------------------------------------------------

Sounds good.

nit: Add all 3 test cases.
Attachment #8494117 - Flags: review?(nicolas.b.pierron) → review+
https://hg.mozilla.org/mozilla-central/rev/d77b931c4b69
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: