Last Comment Bug 725000 - IonMonkey: Assertion failure: input->type() == MIRType_Int32, at ion/Lowering.cpp:354
: IonMonkey: Assertion failure: input->type() == MIRType_Int32, at ion/Lowering...
Status: RESOLVED FIXED
: assertion, testcase
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Other Branch
: x86_64 Linux
: -- major (vote)
: ---
Assigned To: David Anderson [:dvander]
:
:
Mentors:
Depends on:
Blocks: langfuzz IonFuzz
  Show dependency treegraph
 
Reported: 2012-02-07 10:22 PST by Christian Holler (:decoder)
Modified: 2013-01-14 07:49 PST (History)
5 users (show)
choller: in‑testsuite+
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
fix (17.72 KB, patch)
2012-02-08 16:25 PST, David Anderson [:dvander]
sstangl: review+
Details | Diff | Splinter Review

Description Christian Holler (:decoder) 2012-02-07 10:22:32 PST
The following testcase asserts on ionmonkey revision c34398f961e7 (run with --ion -n), tested on 64 bit:


function printBugNumber (num) {}
(function(){for(j=02 ;j<3;~ printBugNumber)NaN=42})();
Comment 1 David Anderson [:dvander] 2012-02-08 16:25:27 PST
Created attachment 595573 [details] [diff] [review]
fix

We needed an unspecialized version of BitNot.
Comment 2 Sean Stangl [:sstangl] 2012-02-09 14:27:42 PST
Comment on attachment 595573 [details] [diff] [review]
fix

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

::: js/src/ion/arm/Trampoline-arm.cpp
@@ +591,2 @@
>          outReg = regs.takeAny();
> +        masm.reserveStack(sizeof(int));

for consistency with freeStack() below, |int32|?

::: js/src/ion/x64/Trampoline-x64.cpp
@@ +517,2 @@
>          outReg = regs.takeAny();
> +        masm.reserveStack(sizeof(int));

int32?

@@ +596,2 @@
>          masm.load32(Address(esp, 0), ReturnReg);
> +        masm.freeStack(sizeof(int));

int32?
Comment 3 David Anderson [:dvander] 2012-02-09 15:33:22 PST
http://hg.mozilla.org/projects/ionmonkey/rev/1ae79ea16a74

Nits pushed in a follow-up fix.
Comment 4 Christian Holler (:decoder) 2013-01-14 07:49:50 PST
A testcase for this bug was automatically identified at js/src/jit-test/tests/ion/bug725000.js.

Note You need to log in before you can comment on or make changes to this bug.