IonMonkey: Assertion failure: a.isGeneralReg(), at shared/CodeGenerator-shared-inl.h:51 (inside CodeGeneratorX64::visitDouble)

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
7 years ago
7 years ago

People

(Reporter: nbp, Assigned: nbp)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments, 2 obsolete attachments)

Created attachment 553827 [details]
Test case

Asserts on attached test case on IonMonkey, 64-bit with greedy register allocator.
Created attachment 553836 [details] [diff] [review]
Fix reported bug, temporary use a normal register to load immediate to xmm register.
Attachment #553836 - Flags: review?(dvander)
Attachment #553827 - Flags: review?(dvander)
Created attachment 553840 [details] [diff] [review]
Greedy register allocator stack use DOUBLE_SLOT stack when the definition is a double.

previous patch cause the following failure lately.  The patch attached fix this new assertions and the test case is now running as expected.

Assertion failure: from->isDouble() == to->isDouble(), at /mnt/data/home/nicolas/mozilla/ionmonkey/js/src/ion/shared/CodeGenerator-x86-shared.cpp:292
Attachment #553840 - Flags: review?
Attachment #553840 - Flags: review? → review?(dvander)
Comment on attachment 553836 [details] [diff] [review]
Fix reported bug, temporary use a normal register to load immediate to xmm register.

Nice catch.
Attachment #553836 - Flags: review?(dvander) → review+
The second patch appears to be empty - 

No review needed for test cases, just fold them into a patch. You can throw them in js/src/jit-tests/tests/ion
Created attachment 554023 [details] [diff] [review]
Add test case and fix for x86_64.

This patch contains the test case and the 2 previous patches (including the content of the missing one).

This fix the bug for the greedy allocator on x86_64, It does not fix the assertion [1] raised when used with the linear scan register allocator.

[1] Assertion failure: a.isFloatReg(), at ../ion/shared/CodeGenerator-shared-inl.h:70
Attachment #553836 - Attachment is obsolete: true
Attachment #553840 - Attachment is obsolete: true
Attachment #553840 - Flags: review?(dvander)
Attachment #554023 - Flags: review?(dvander)
Attachment #554023 - Flags: review?(dvander) → review+
(Turns out the temp-double part of the patch had been obsoleted by bug 677339, but the rest applied.)

http://hg.mozilla.org/projects/ionmonkey/rev/6050e64e2903
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → FIXED
Duplicate of this bug: 678652
You need to log in before you can comment on or make changes to this bug.