Last Comment Bug 703791 - IonMonkey: Eager compilation fails on basic/testBranchingUnstableLoopCounter.js [visitToInt32(MIRType_Double)]
: IonMonkey: Eager compilation fails on basic/testBranchingUnstableLoopCounter....
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: x86_64 Linux
-- normal (vote)
: ---
Assigned To: David Anderson [:dvander]
: Jason Orendorff [:jorendorff]
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:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

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

Description User image 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 User image 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 User image David Anderson [:dvander] 2011-11-23 08:12:46 PST
Created attachment 576510 [details] [diff] [review]

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 User image David Anderson [:dvander] 2011-11-28 14:21:05 PST

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