Closed
Bug 1046125
Opened 12 years ago
Closed 12 years ago
IonMonkey: (ARM) Assertion failure: tempFloat32 != InvalidFloatReg, at js/src/jit/IonCaches.cpp:3748
Categories
(Core :: JavaScript Engine: JIT, defect)
Tracking
()
RESOLVED
FIXED
mozilla34
People
(Reporter: dougc, Assigned: dougc)
Details
Attachments
(1 file, 2 obsolete files)
|
1.78 KB,
patch
|
dougc
:
review+
Sylvestre
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
With bug 1046016 patched, hasUnaliasedDouble() can now return false when there are only 16 DP registers, and this hits an assertion failure in the SetElementCache path.
| Assignee | ||
Comment 1•12 years ago
|
||
Would this be an appropriate fix?
Was the intent to avoid allocating an extra float32 register in this case?
Attachment #8464695 -
Flags: review?(mrosenberg)
Comment 2•12 years ago
|
||
Comment on attachment 8464695 [details] [diff] [review]
Correct handling of 16 DP float registers in for SetElementCache code generation.
Review of attachment 8464695 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/jit/IonCaches.cpp
@@ -3744,5 @@
> int width = Scalar::byteSize(arrayType);
> BaseIndex target(elements, index, ScaleFromElemWidth(width));
>
> if (arrayType == Scalar::Float32) {
> - JS_ASSERT(tempFloat32 != InvalidFloatReg);
I'd probably change this assert to JS_ASSERT_IF(hasUnaliasedDouble(), ...);
and rather than checking tempFloat32 != InvalidFloatReg, just checking hasUnaliasedDouble()
Attachment #8464695 -
Flags: review?(mrosenberg) → review+
| Assignee | ||
Comment 3•12 years ago
|
||
Thank you for the quick review. All suggestions have been integrated. Carrying forward the r+. Try run: https://tbpl.mozilla.org/?tree=Try&rev=f83c32358d06
Attachment #8464695 -
Attachment is obsolete: true
Attachment #8465367 -
Flags: review+
| Assignee | ||
Comment 4•12 years ago
|
||
And fix the patch description. Carrying forward r+.
Attachment #8465367 -
Attachment is obsolete: true
Attachment #8465369 -
Flags: review+
| Assignee | ||
Updated•12 years ago
|
Keywords: checkin-needed
Comment 5•12 years ago
|
||
Keywords: checkin-needed
Comment 6•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
| Assignee | ||
Comment 7•12 years ago
|
||
Comment on attachment 8465369 [details] [diff] [review]
Correct handling of 16 DP float registers for SetElementCache code generation.
Approval Request Comment
[Feature/regressing bug #]: Bug 991153.
[User impact if declined]: Crashes, or bad code generation, on ARM devices without vfp3.
[Describe test coverage new/current, TBPL]: Local testing, and TBPL.
[Risks and why]: Low. It's a small patch that only affects the code path for the affected devices and these had jit-tests failures that this patch corrects.
[String/UUID change made/needed]: n/a
Attachment #8465369 -
Flags: approval-mozilla-aurora?
Updated•12 years ago
|
status-firefox33:
--- → affected
status-firefox34:
--- → fixed
Updated•12 years ago
|
Attachment #8465369 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 8•12 years ago
|
||
You need to log in
before you can comment on or make changes to this bug.
Description
•