IonMonkey: Eager compilation fails on basic/testBranchingUnstableLoopCounter.js [visitToInt32(MIRType_Double)]

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: nbp, Assigned: dvander)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

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)
Blocks: 677337
No longer blocks: 650180
This is a bug in type analysis. We could make ToInt32 support doubles, but really we should change the specialization to double.
Assignee: general → dvander
Status: NEW → ASSIGNED
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.
Attachment #576510 - Flags: review?(sstangl)

Updated

6 years ago
Attachment #576510 - Flags: review?(sstangl) → review+
http://hg.mozilla.org/projects/ionmonkey/rev/4754cf8753c2
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.