1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/auto-regress/bug732855.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,69 @@ 1.4 +// Binary: cache/js-dbg-64-1fd6c40d3852-linux 1.5 +// Flags: --ion-eager 1.6 +// 1.7 +function TestCase(n, d, e, a) {} 1.8 +var msPerDay = 86400000; 1.9 +var msPerHour = 3600000; 1.10 +var now = new Date(); 1.11 +var TIME_NOW = now.valueOf(); 1.12 +function DaysInYear( y ) { 1.13 + if ( y % 4 != 0 ) { 1.14 + return 365; 1.15 + } 1.16 + return 366; 1.17 +} 1.18 +function TimeInYear( y ) { 1.19 + return ( DaysInYear(y) * msPerDay ); 1.20 +} 1.21 +function TimeFromYear( y ) { 1.22 + return ( msPerDay * DayFromYear(y) ); 1.23 +} 1.24 +function DayFromYear( y ) { 1.25 + return ( 365*(y-1970) + 1.26 + Math.floor((y-1601)/400) ); 1.27 +} 1.28 +function InLeapYear( t ) { 1.29 + if ( DaysInYear(YearFromTime(t)) == 365 ) { 1.30 + return 0; 1.31 + } 1.32 + if ( DaysInYear(YearFromTime(t)) == 366 ) { 1.33 + } 1.34 +} 1.35 +function YearFromTime( t ) { 1.36 + var sign = ( t < 0 ) ? -1 : 1; 1.37 + var year = ( sign < 0 ) ? 1969 : 1970; 1.38 + for ( var timeToTimeZero = t; ; ) { 1.39 + timeToTimeZero -= sign * TimeInYear(year) 1.40 + if ( sign < 0 ) { 1.41 + } else { 1.42 + if ( sign * timeToTimeZero < 0 ) { 1.43 + break; 1.44 + } else { 1.45 + year += sign; 1.46 + } 1.47 + } 1.48 + } 1.49 + return ( year ); 1.50 +} 1.51 +function WeekDay( t ) {} 1.52 +function LocalTZA() {} 1.53 +function LocalTime( t ) { 1.54 + var dst_start = GetDSTStart(t); 1.55 +} 1.56 +function GetFirstSundayInMonth( t, m ) { 1.57 + var leap = InLeapYear(t); 1.58 +} 1.59 +function GetDSTStart( t ) { 1.60 + return (GetFirstSundayInMonth(t, 2) + 7*msPerDay + 2*msPerHour - LocalTZA()); 1.61 +} 1.62 +var SECTION = "15.9.5.12"; 1.63 +addTestCase( TIME_NOW ); 1.64 +function addTestCase( t ) { 1.65 + var start = TimeFromYear(YearFromTime(t)); 1.66 + var stop = TimeFromYear(YearFromTime(t) + 1); 1.67 + for (var d = start; d < stop; d += msPerDay) { 1.68 + new TestCase( SECTION, 1.69 + WeekDay((LocalTime(d))), 1.70 + (__lookupGetter__) ); 1.71 + } 1.72 +}