Last Comment Bug 724530 - IonMonkey: Assertion failure: unexpected type, at ion/Lowering.cpp:626
: IonMonkey: Assertion failure: unexpected type, at ion/Lowering.cpp:626
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
: -- normal (vote)
: ---
Assigned To: Jan de Mooij [:jandem]
: Jason Orendorff [:jorendorff]
Depends on:
Blocks: IonFuzz
  Show dependency treegraph
Reported: 2012-02-06 06:07 PST by Jan de Mooij [:jandem]
Modified: 2012-02-06 12:41 PST (History)
1 user (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

Patch (1.27 KB, patch)
2012-02-06 06:34 PST, Jan de Mooij [:jandem]
dvander: review+
Details | Diff | Splinter Review

Description Jan de Mooij [:jandem] 2012-02-06 06:07:10 PST
Another assert found while reducing a modified SS fannkuch.

Blocking bug 724444 to avoid duplicates.
Comment 1 Jan de Mooij [:jandem] 2012-02-06 06:34:56 PST
Created attachment 594695 [details] [diff] [review]

If a binary op has int32 result type but one of its operands is |undefined|, we don't want to specialize as int32 since ToNumber(undefined) is NaN. The result will likely be a double (NaN) anyway so just let the stub trigger invalidation.

The alternative is to accept only int32 or double types, but I'd rather not do that: (poorly written) benchmarks/scripts may use int32 + bool or something and ToInt32 can handle that just fine.
Comment 2 Jan de Mooij [:jandem] 2012-02-06 12:41:54 PST

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