Closed
Bug 913867
Opened 12 years ago
Closed 12 years ago
OdinMonkey: Assertion failure: u != 0, at dist/include/mozilla/MathAlgorithms.h
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla26
People
(Reporter: gkw, Assigned: dougc)
References
Details
(Keywords: assertion, regression, testcase, Whiteboard: [jsbugmon:update])
Attachments
(2 files, 1 obsolete file)
|
14.34 KB,
text/plain
|
Details | |
|
3.52 KB,
patch
|
dougc
:
review+
|
Details | Diff | Splinter Review |
(function(stdlib, n, heap) {
"use asm"
var Uint8ArrayView = new stdlib.Uint8Array(heap)
var Uint32ArrayView = new stdlib.Uint32Array(heap)
function f(i1) {
i1 = +i1;
Uint8ArrayView[0] = Uint32ArrayView[(0 & 0) >> 2]
}
})()
asserts js debug shell on m-c changeset 655ac375b1c7 without any CLI arguments at Assertion failure: u != 0, at dist/include/mozilla/MathAlgorithms.h
My configure flags are:
CC="clang -Qunused-arguments" AR=ar CXX="clang++ -Qunused-arguments" sh ./configure --target=x86_64-apple-darwin11.4.0 --enable-optimize --enable-debug --enable-profiling --enable-gczeal --enable-debug-symbols --enable-methodjit --enable-type-inference --disable-tests --with-ccache --enable-threadsafe <other NSPR options>
Guessing this is OdinMonkey-related.
Flags: needinfo?(luke)
| Reporter | ||
Updated•12 years ago
|
Whiteboard: [jsbugmon:update,bisect] → [jsbugmon:update]
| Reporter | ||
Comment 1•12 years ago
|
||
autoBisect shows this is probably related to the following changeset:
The first bad revision is:
changeset: http://hg.mozilla.org/mozilla-central/rev/9f988f6ee6df
user: Douglas Crosher
date: Fri Sep 06 07:44:06 2013 +1000
summary: Bug 865516 - Optimize access to the heap with a constant index. r=luke
Douglas, is bug 865516 likely related?
Blocks: 865516
Flags: needinfo?(luke) → needinfo?(dtc-moz)
| Assignee | ||
Comment 2•12 years ago
|
||
Sorry, CountLeadingZeroes32 was being passed an argument of zero
when optimizing heap access using this pattern.
Comment 3•12 years ago
|
||
Comment on attachment 801186 [details] [diff] [review]
Fix CountLeadingZeroes32 being passed an argument of zero.
Review of attachment 801186 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/jit/AsmJS.cpp
@@ +3117,5 @@
> if (IsLiteralUint32(maskNode, &mask2)) {
> // Flag the access to skip the bounds check if the mask ensures that an 'out of
> // bounds' access can not occur based on the current heap length constraint.
> + if (mask2 == 0 ||
> + mozilla::CountLeadingZeroes32(f.m().minHeapLength() - 1) <= mozilla::CountLeadingZeroes32(mask2))
Multi-line conditional needs { }. Instead, I think it'll fit on one line of you put 'using mozilla::CountLeadingZeroes32' at the top of the file and drop the prefix here.
Attachment #801186 -
Flags: review?(luke) → review+
| Assignee | ||
Comment 4•12 years ago
|
||
The line did not quite fit within 100 characters.
Carrying forward r+.
Attachment #801186 -
Attachment is obsolete: true
Attachment #801635 -
Flags: review+
| Assignee | ||
Updated•12 years ago
|
Keywords: checkin-needed
| Reporter | ||
Comment 5•12 years ago
|
||
Landed with thanks!
https://hg.mozilla.org/integration/mozilla-inbound/rev/4db58a9366f1
Keywords: checkin-needed
Target Milestone: --- → mozilla26
Updated•12 years ago
|
Whiteboard: [jsbugmon:update] → [jsbugmon:update,ignore]
Comment 6•12 years ago
|
||
JSBugMon: The testcase found in this bug no longer reproduces (tried revision 680c89c76100).
| Reporter | ||
Comment 7•12 years ago
|
||
This landed on m-c:
http://hg.mozilla.org/mozilla-central/rev/4db58a9366f1
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Whiteboard: [jsbugmon:update,ignore] → [jsbugmon:update]
Comment 8•12 years ago
|
||
Flags: in-testsuite+
You need to log in
before you can comment on or make changes to this bug.
Description
•