Closed
Bug 858749
Opened 12 years ago
Closed 12 years ago
OdinMonkey: Assertion failure: predecessors_[j]->getSlot(i) == mine
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla23
People
(Reporter: bc, Assigned: luke)
References
()
Details
(Keywords: assertion)
Attachments
(2 files)
73.30 KB,
text/plain
|
Details | |
6.33 KB,
patch
|
sstangl
:
review+
akeybl
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
1. http://n3emscripten.appspot.com/dragons_asmjs.html
2. wait a minute
3. Assertion failure: predecessors_[j]->getSlot(i) == mine, at c:/work/mozilla/builds/nightly/mozilla/js/src/ion/MIRGraph.cpp:677
js::ion::MBasicBlock::addPredecessorPopN js::ion::MBasicBlock::addPredecessor FunctionCompiler::bindBreaksOrContinues FunctionCompiler::bindContinues CheckWhile
Aurora/22, Nightly/23 - Windows, Mac, Linux
Updated•12 years ago
|
Summary: Assertion failure: predecessors_[j]->getSlot(i) == mine → OdinMonkey: Assertion failure: predecessors_[j]->getSlot(i) == mine
![]() |
Assignee | |
Updated•12 years ago
|
Assignee: general → luke
![]() |
Assignee | |
Comment 1•12 years ago
|
||
Great find!
I was incorrectly using "is the MBasicBlock" empty to detect whether a join block had already been created when binding breaks/continues; this misses the case where no instruction is added by the SSA state has been updated. EIBTI once again.
Attachment #738738 -
Flags: review?(sstangl)
![]() |
Assignee | |
Comment 2•12 years ago
|
||
s/by the SSA state/but the SSA state/
Comment 3•12 years ago
|
||
Comment on attachment 738738 [details] [diff] [review]
fix and test
Review of attachment 738738 [details] [diff] [review]:
-----------------------------------------------------------------
Just as a thought, it might be nice to take an MBasicBlock** instead of bool*, then, if the join block is provided, explicitly refer to it instead of using curBlock_. When refactoring IonBuilder, clarity was often improved by just naming blocks instead of using |current|.
::: js/src/ion/AsmJS.cpp
@@ +2232,1 @@
> {
Although the code is obviously correct as-is, it may be nice to leave |JS_ASSERT(*createdJoinBlock == false)| as a signal to the reader that the initial value is expected to have been set by the caller.
Attachment #738738 -
Flags: review?(sstangl) → review+
![]() |
Assignee | |
Comment 4•12 years ago
|
||
Comment 5•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla23
![]() |
Assignee | |
Comment 6•12 years ago
|
||
Comment on attachment 738738 [details] [diff] [review]
fix and test
[Approval Request Comment]
Bug caused by (feature/regressing bug #): 840282
User impact if declined: incorrect asm.js evaluation
Testing completed (on m-c, etc.): m-c
Risk to taking this patch (and alternatives if risky): very low
Attachment #738738 -
Flags: approval-mozilla-aurora?
Updated•12 years ago
|
Attachment #738738 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 7•12 years ago
|
||
status-firefox22:
--- → fixed
status-firefox23:
--- → fixed
You need to log in
before you can comment on or make changes to this bug.
Description
•