Last Comment Bug 703791 - IonMonkey: Eager compilation fails on basic/testBranchingUnstableLoopCounter.js [visitToInt32(MIRType_Double)]
: IonMonkey: Eager compilation fails on basic/testBranchingUnstableLoopCounter....
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: x86_64 Linux
: -- normal (vote)
: ---
Assigned To: David Anderson [:dvander]
:
: Jason Orendorff [:jorendorff]
Mentors:
Depends on: 701957
Blocks: 677337
  Show dependency treegraph
 
Reported: 2011-11-18 15:41 PST by Nicolas B. Pierron [:nbp]
Modified: 2011-11-28 14:21 PST (History)
7 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
fix (3.50 KB, patch)
2011-11-23 08:12 PST, David Anderson [:dvander]
sstangl: review+
Details | Diff | Splinter Review

Description Nicolas B. Pierron [:nbp] 2011-11-18 15:41:09 PST
Bug 701957 enables the eager compilation of basic/testBranchingUnstableLoopCounter.js which is now failing because the oracle does not guess the right type during MIR generation and propagation of the Double type from the "if" inside the loop cause the assumption inside Lowering::visitToInt32 to fail with a non-resumable error.

Bug 701957 mutes this error by making the compilation fail in such case. (see Lowering::visitToInt32, MIRType_Double case)
Comment 1 David Anderson [:dvander] 2011-11-22 13:23:05 PST
This is a bug in type analysis. We could make ToInt32 support doubles, but really we should change the specialization to double.
Comment 2 David Anderson [:dvander] 2011-11-23 08:12:46 PST
Created attachment 576510 [details] [diff] [review]
fix

Fixing this in type analysis is kind of tricky, and not really valuable if the type oracle is accurate. Besides we might need DoubleToInt32 for other things, so this patch just implements it.
Comment 3 David Anderson [:dvander] 2011-11-28 14:21:05 PST
http://hg.mozilla.org/projects/ionmonkey/rev/4754cf8753c2

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