Closed
Bug 724773
Opened 13 years ago
Closed 13 years ago
IonMonkey: Assertion failure: !ranges_.empty(), at js/src/ion/LinearScan.h:289
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: decoder, Assigned: jandem)
References
Details
(Keywords: assertion, testcase)
Attachments
(1 file)
1.06 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
The following testcase asserts on ionmonkey revision f46cfb199e77 (run with --ion -n -m --ion-eager), tested on 64 bit:
function Day( t ) {}
function DayFromYear( y ) {}
function YearFromTime( t ) {
for ( var timeToTimeZero = t; ; ) { }
}
function MonthFromTime( t ) {
return( Day(t) - DayFromYear(YearFromTime(t)));
}
addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1969);TDATE",
UTCDateFromTime(SetFullYear(0,1969)),
LocalDateFromTime(SetFullYear(0,1969)) );
function addNewTestCase( DateString, UTCDate, LocalDate) {}
function UTCDateFromTime(t) {}
function SetFullYear( t, year, mon, date ) {
var T = addNewTestCase ? 0 : LocalTime(t) ;
var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon );
}
Reporter | ||
Updated•13 years ago
|
Summary: Assertion failure: !ranges_.empty(), at js/src/ion/LinearScan.h:289 → IonMonkey: Assertion failure: !ranges_.empty(), at js/src/ion/LinearScan.h:289
Assignee | ||
Comment 1•13 years ago
|
||
Almost all scripts have an MReturn or MThrow and therefore fixedIntervalsUnion usually has at least one range. There's an edge case though: infinite loops. The patch adds a small range to fixedIntervalsUnion to handle this (rare) case so that the allocator does not have to guard against this.
I can't add the testcase since it iloops and we don't support interrupts.
![]() |
||
Updated•13 years ago
|
Attachment #594955 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 2•13 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•