| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent f76af49 commit 2974deb
8 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -11,7 +11,7 @@ | |||
| 11 | 11 | #define V8_MAJOR_VERSION 4 | |
| 12 | 12 | #define V8_MINOR_VERSION 6 | |
| 13 | 13 | #define V8_BUILD_NUMBER 85 | |
| 14 | - #define V8_PATCH_LEVEL 25 | ||
| 14 | + #define V8_PATCH_LEVEL 28 | ||
| 15 | 15 | ||
| 16 | 16 | // Use 1 for candidates and 0 otherwise. | |
| 17 | 17 | // (Boolean macro values are not supported by all preprocessors.) | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -23,9 +23,9 @@ bool DateParser::Parse(Vector<Char> str, | |||
| 23 | 23 | DayComposer day; | |
| 24 | 24 | ||
| 25 | 25 | // Specification: | |
| 26 | - // Accept ES6 ISO 8601 date-time-strings or legacy dates compatible | ||
| 26 | + // Accept ES5 ISO 8601 date-time-strings or legacy dates compatible | ||
| 27 | 27 | // with Safari. | |
| 28 | - // ES6 ISO 8601 dates: | ||
| 28 | + // ES5 ISO 8601 dates: | ||
| 29 | 29 | // [('-'|'+')yy]yyyy[-MM[-DD]][THH:mm[:ss[.sss]][Z|(+|-)hh:mm]] | |
| 30 | 30 | // where yyyy is in the range 0000..9999 and | |
| 31 | 31 | // +/-yyyyyy is in the range -999999..+999999 - | |
@@ -40,7 +40,8 @@ bool DateParser::Parse(Vector<Char> str, | |||
| 40 | 40 | // sss is in the range 000..999, | |
| 41 | 41 | // hh is in the range 00..23, | |
| 42 | 42 | // mm, ss, and sss default to 00 if missing, and | |
| 43 | - // timezone defaults to local time if missing. | ||
| 43 | + // timezone defaults to Z if missing | ||
| 44 | + // (following Safari, ISO actually demands local time). | ||
| 44 | 45 | // Extensions: | |
| 45 | 46 | // We also allow sss to have more or less than three digits (but at | |
| 46 | 47 | // least one). | |
@@ -62,13 +63,15 @@ bool DateParser::Parse(Vector<Char> str, | |||
| 62 | 63 | // is allowed). | |
| 63 | 64 | // Intersection of the two: | |
| 64 | 65 | // A string that matches both formats (e.g. 1970-01-01) will be | |
| 65 | - // parsed as an ES6 date-time string. | ||
| 66 | - // After a valid "T" has been read while scanning an ES6 datetime string, | ||
| 66 | + // parsed as an ES5 date-time string - which means it will default | ||
| 67 | + // to UTC time-zone. That's unavoidable if following the ES5 | ||
| 68 | + // specification. | ||
| 69 | + // After a valid "T" has been read while scanning an ES5 datetime string, | ||
| 67 | 70 | // the input can no longer be a valid legacy date, since the "T" is a | |
| 68 | 71 | // garbage string after a number has been read. | |
| 69 | 72 | ||
| 70 | - // First try getting as far as possible with as ES6 Date Time String. | ||
| 71 | - DateToken next_unhandled_token = ParseES6DateTime(&scanner, &day, &time, &tz); | ||
| 73 | + // First try getting as far as possible with as ES5 Date Time String. | ||
| 74 | + DateToken next_unhandled_token = ParseES5DateTime(&scanner, &day, &time, &tz); | ||
| 72 | 75 | if (next_unhandled_token.IsInvalid()) return false; | |
| 73 | 76 | bool has_read_number = !day.IsEmpty(); | |
| 74 | 77 | // If there's anything left, continue with the legacy parser. | |
@@ -193,7 +196,7 @@ DateParser::DateToken DateParser::DateStringTokenizer<CharType>::Scan() { | |||
| 193 | 196 | ||
| 194 | 197 | ||
| 195 | 198 | template <typename Char> | |
| 196 | - DateParser::DateToken DateParser::ParseES6DateTime( | ||
| 199 | + DateParser::DateToken DateParser::ParseES5DateTime( | ||
| 197 | 200 | DateStringTokenizer<Char>* scanner, | |
| 198 | 201 | DayComposer* day, | |
| 199 | 202 | TimeComposer* time, | |
@@ -231,7 +234,7 @@ DateParser::DateToken DateParser::ParseES6DateTime( | |||
| 231 | 234 | if (!scanner->Peek().IsKeywordType(TIME_SEPARATOR)) { | |
| 232 | 235 | if (!scanner->Peek().IsEndOfInput()) return scanner->Next(); | |
| 233 | 236 | } else { | |
| 234 | - // ES6 Date Time String time part is present. | ||
| 237 | + // ES5 Date Time String time part is present. | ||
| 235 | 238 | scanner->Next(); | |
| 236 | 239 | if (!scanner->Peek().IsFixedLengthNumber(2) || | |
| 237 | 240 | !Between(scanner->Peek().number(), 0, 24)) { | |
@@ -297,7 +300,8 @@ DateParser::DateToken DateParser::ParseES6DateTime( | |||
| 297 | 300 | } | |
| 298 | 301 | if (!scanner->Peek().IsEndOfInput()) return DateToken::Invalid(); | |
| 299 | 302 | } | |
| 300 | - // Successfully parsed ES6 Date Time String. | ||
| 303 | + // Successfully parsed ES5 Date Time String. Default to UTC if no TZ given. | ||
| 304 | + if (tz->IsEmpty()) tz->Set(0); | ||
| 301 | 305 | day->set_iso_date(); | |
| 302 | 306 | return DateToken::EndOfInput(); | |
| 303 | 307 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -368,13 +368,13 @@ class DateParser : public AllStatic { | |||
| 368 | 368 | bool is_iso_date_; | |
| 369 | 369 | }; | |
| 370 | 370 | ||
| 371 | - // Tries to parse an ES6 Date Time String. Returns the next token | ||
| 371 | + // Tries to parse an ES5 Date Time String. Returns the next token | ||
| 372 | 372 | // to continue with in the legacy date string parser. If parsing is | |
| 373 | 373 | // complete, returns DateToken::EndOfInput(). If terminally unsuccessful, | |
| 374 | 374 | // returns DateToken::Invalid(). Otherwise parsing continues in the | |
| 375 | 375 | // legacy parser. | |
| 376 | 376 | template <typename Char> | |
| 377 | - static DateParser::DateToken ParseES6DateTime( | ||
| 377 | + static DateParser::DateToken ParseES5DateTime( | ||
| 378 | 378 | DateStringTokenizer<Char>* scanner, | |
| 379 | 379 | DayComposer* day, | |
| 380 | 380 | TimeComposer* time, | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -245,9 +245,9 @@ var testCasesES5Misc = [ | |||
| 245 | 245 | ['2000-01T08:00:00.099Z', 946713600099], | |
| 246 | 246 | ['2000-01T08:00:00.999Z', 946713600999], | |
| 247 | 247 | ['2000-01T00:00:00.001-08:00', 946713600001], | |
| 248 | - ['2000-01-01T24:00Z', 946771200000], | ||
| 249 | - ['2000-01-01T24:00:00Z', 946771200000], | ||
| 250 | - ['2000-01-01T24:00:00.000Z', 946771200000], | ||
| 248 | + ['2000-01-01T24:00', 946771200000], | ||
| 249 | + ['2000-01-01T24:00:00', 946771200000], | ||
| 250 | + ['2000-01-01T24:00:00.000', 946771200000], | ||
| 251 | 251 | ['2000-01-01T24:00:00.000Z', 946771200000]]; | |
| 252 | 252 | ||
| 253 | 253 | var testCasesES5MiscNegative = [ | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -203,110 +203,110 @@ assertEquals(-8640000000000000, Date.UTC(1970, 0, 1 - 100000001, 24)); | |||
| 203 | 203 | ||
| 204 | 204 | ||
| 205 | 205 | // Parsing ES5 ISO-8601 dates. | |
| 206 | - // When TZ is omitted, it defaults to the local timezone | ||
| 206 | + // When TZ is omitted, it defaults to 'Z' meaning UTC. | ||
| 207 | 207 | ||
| 208 | 208 | // Check epoch. | |
| 209 | 209 | assertEquals(0, Date.parse("1970-01-01T00:00:00.000+00:00")); | |
| 210 | 210 | assertEquals(0, Date.parse("1970-01-01T00:00:00.000-00:00")); | |
| 211 | 211 | assertEquals(0, Date.parse("1970-01-01T00:00:00.000Z")); | |
| 212 | - assertEquals(0, Date.parse("1970-01-01T00:00:00.000Z")); | ||
| 213 | - assertEquals(0, Date.parse("1970-01-01T00:00:00Z")); | ||
| 214 | - assertEquals(0, Date.parse("1970-01-01T00:00Z")); | ||
| 215 | - assertEquals(0, Date.parse("1970-01-01Z")); | ||
| 212 | + assertEquals(0, Date.parse("1970-01-01T00:00:00.000")); | ||
| 213 | + assertEquals(0, Date.parse("1970-01-01T00:00:00")); | ||
| 214 | + assertEquals(0, Date.parse("1970-01-01T00:00")); | ||
| 215 | + assertEquals(0, Date.parse("1970-01-01")); | ||
| 216 | 216 | ||
| 217 | 217 | assertEquals(0, Date.parse("1970-01T00:00:00.000+00:00")); | |
| 218 | 218 | assertEquals(0, Date.parse("1970-01T00:00:00.000-00:00")); | |
| 219 | 219 | assertEquals(0, Date.parse("1970-01T00:00:00.000Z")); | |
| 220 | - assertEquals(0, Date.parse("1970-01T00:00:00.000Z")); | ||
| 221 | - assertEquals(0, Date.parse("1970-01T00:00:00Z")); | ||
| 222 | - assertEquals(0, Date.parse("1970-01T00:00Z")); | ||
| 223 | - assertEquals(0, Date.parse("1970-01Z")); | ||
| 220 | + assertEquals(0, Date.parse("1970-01T00:00:00.000")); | ||
| 221 | + assertEquals(0, Date.parse("1970-01T00:00:00")); | ||
| 222 | + assertEquals(0, Date.parse("1970-01T00:00")); | ||
| 223 | + assertEquals(0, Date.parse("1970-01")); | ||
| 224 | 224 | ||
| 225 | 225 | assertEquals(0, Date.parse("1970T00:00:00.000+00:00")); | |
| 226 | 226 | assertEquals(0, Date.parse("1970T00:00:00.000-00:00")); | |
| 227 | 227 | assertEquals(0, Date.parse("1970T00:00:00.000Z")); | |
| 228 | - assertEquals(0, Date.parse("1970T00:00:00.000Z")); | ||
| 229 | - assertEquals(0, Date.parse("1970T00:00:00Z")); | ||
| 230 | - assertEquals(0, Date.parse("1970T00:00Z")); | ||
| 231 | - assertEquals(0, Date.parse("1970Z")); | ||
| 228 | + assertEquals(0, Date.parse("1970T00:00:00.000")); | ||
| 229 | + assertEquals(0, Date.parse("1970T00:00:00")); | ||
| 230 | + assertEquals(0, Date.parse("1970T00:00")); | ||
| 231 | + assertEquals(0, Date.parse("1970")); | ||
| 232 | 232 | ||
| 233 | 233 | assertEquals(0, Date.parse("+001970-01-01T00:00:00.000+00:00")); | |
| 234 | 234 | assertEquals(0, Date.parse("+001970-01-01T00:00:00.000-00:00")); | |
| 235 | 235 | assertEquals(0, Date.parse("+001970-01-01T00:00:00.000Z")); | |
| 236 | - assertEquals(0, Date.parse("+001970-01-01T00:00:00.000Z")); | ||
| 237 | - assertEquals(0, Date.parse("+001970-01-01T00:00:00Z")); | ||
| 238 | - assertEquals(0, Date.parse("+001970-01-01T00:00Z")); | ||
| 239 | - assertEquals(0, Date.parse("+001970-01-01Z")); | ||
| 236 | + assertEquals(0, Date.parse("+001970-01-01T00:00:00.000")); | ||
| 237 | + assertEquals(0, Date.parse("+001970-01-01T00:00:00")); | ||
| 238 | + assertEquals(0, Date.parse("+001970-01-01T00:00")); | ||
| 239 | + assertEquals(0, Date.parse("+001970-01-01")); | ||
| 240 | 240 | ||
| 241 | 241 | assertEquals(0, Date.parse("+001970-01T00:00:00.000+00:00")); | |
| 242 | 242 | assertEquals(0, Date.parse("+001970-01T00:00:00.000-00:00")); | |
| 243 | 243 | assertEquals(0, Date.parse("+001970-01T00:00:00.000Z")); | |
| 244 | - assertEquals(0, Date.parse("+001970-01T00:00:00.000Z")); | ||
| 245 | - assertEquals(0, Date.parse("+001970-01T00:00:00Z")); | ||
| 246 | - assertEquals(0, Date.parse("+001970-01T00:00Z")); | ||
| 247 | - assertEquals(0, Date.parse("+001970-01Z")); | ||
| 244 | + assertEquals(0, Date.parse("+001970-01T00:00:00.000")); | ||
| 245 | + assertEquals(0, Date.parse("+001970-01T00:00:00")); | ||
| 246 | + assertEquals(0, Date.parse("+001970-01T00:00")); | ||
| 247 | + assertEquals(0, Date.parse("+001970-01")); | ||
| 248 | 248 | ||
| 249 | 249 | assertEquals(0, Date.parse("+001970T00:00:00.000+00:00")); | |
| 250 | 250 | assertEquals(0, Date.parse("+001970T00:00:00.000-00:00")); | |
| 251 | 251 | assertEquals(0, Date.parse("+001970T00:00:00.000Z")); | |
| 252 | - assertEquals(0, Date.parse("+001970T00:00:00.000Z")); | ||
| 253 | - assertEquals(0, Date.parse("+001970T00:00:00Z")); | ||
| 254 | - assertEquals(0, Date.parse("+001970T00:00Z")); | ||
| 255 | - assertEquals(0, Date.parse("+001970Z")); | ||
| 252 | + assertEquals(0, Date.parse("+001970T00:00:00.000")); | ||
| 253 | + assertEquals(0, Date.parse("+001970T00:00:00")); | ||
| 254 | + assertEquals(0, Date.parse("+001970T00:00")); | ||
| 255 | + assertEquals(0, Date.parse("+001970")); | ||
| 256 | 256 | ||
| 257 | 257 | // Check random date. | |
| 258 | 258 | assertEquals(70671003500, Date.parse("1972-03-28T23:50:03.500+01:00")); | |
| 259 | 259 | assertEquals(70674603500, Date.parse("1972-03-28T23:50:03.500Z")); | |
| 260 | - assertEquals(70674603500, Date.parse("1972-03-28T23:50:03.500Z")); | ||
| 261 | - assertEquals(70674603000, Date.parse("1972-03-28T23:50:03Z")); | ||
| 262 | - assertEquals(70674600000, Date.parse("1972-03-28T23:50Z")); | ||
| 263 | - assertEquals(70588800000, Date.parse("1972-03-28Z")); | ||
| 260 | + assertEquals(70674603500, Date.parse("1972-03-28T23:50:03.500")); | ||
| 261 | + assertEquals(70674603000, Date.parse("1972-03-28T23:50:03")); | ||
| 262 | + assertEquals(70674600000, Date.parse("1972-03-28T23:50")); | ||
| 263 | + assertEquals(70588800000, Date.parse("1972-03-28")); | ||
| 264 | 264 | ||
| 265 | 265 | assertEquals(68338203500, Date.parse("1972-03T23:50:03.500+01:00")); | |
| 266 | 266 | assertEquals(68341803500, Date.parse("1972-03T23:50:03.500Z")); | |
| 267 | - assertEquals(68341803500, Date.parse("1972-03T23:50:03.500Z")); | ||
| 268 | - assertEquals(68341803000, Date.parse("1972-03T23:50:03Z")); | ||
| 269 | - assertEquals(68341800000, Date.parse("1972-03T23:50Z")); | ||
| 270 | - assertEquals(68256000000, Date.parse("1972-03Z")); | ||
| 267 | + assertEquals(68341803500, Date.parse("1972-03T23:50:03.500")); | ||
| 268 | + assertEquals(68341803000, Date.parse("1972-03T23:50:03")); | ||
| 269 | + assertEquals(68341800000, Date.parse("1972-03T23:50")); | ||
| 270 | + assertEquals(68256000000, Date.parse("1972-03")); | ||
| 271 | 271 | ||
| 272 | 272 | assertEquals(63154203500, Date.parse("1972T23:50:03.500+01:00")); | |
| 273 | 273 | assertEquals(63157803500, Date.parse("1972T23:50:03.500Z")); | |
| 274 | - assertEquals(63157803500, Date.parse("1972T23:50:03.500Z")); | ||
| 275 | - assertEquals(63157803000, Date.parse("1972T23:50:03Z")); | ||
| 276 | - assertEquals(63072000000, Date.parse("1972Z")); | ||
| 274 | + assertEquals(63157803500, Date.parse("1972T23:50:03.500")); | ||
| 275 | + assertEquals(63157803000, Date.parse("1972T23:50:03")); | ||
| 276 | + assertEquals(63072000000, Date.parse("1972")); | ||
| 277 | 277 | ||
| 278 | 278 | assertEquals(70671003500, Date.parse("+001972-03-28T23:50:03.500+01:00")); | |
| 279 | 279 | assertEquals(70674603500, Date.parse("+001972-03-28T23:50:03.500Z")); | |
| 280 | - assertEquals(70674603500, Date.parse("+001972-03-28T23:50:03.500Z")); | ||
| 281 | - assertEquals(70674603000, Date.parse("+001972-03-28T23:50:03Z")); | ||
| 282 | - assertEquals(70674600000, Date.parse("+001972-03-28T23:50Z")); | ||
| 283 | - assertEquals(70588800000, Date.parse("+001972-03-28Z")); | ||
| 280 | + assertEquals(70674603500, Date.parse("+001972-03-28T23:50:03.500")); | ||
| 281 | + assertEquals(70674603000, Date.parse("+001972-03-28T23:50:03")); | ||
| 282 | + assertEquals(70674600000, Date.parse("+001972-03-28T23:50")); | ||
| 283 | + assertEquals(70588800000, Date.parse("+001972-03-28")); | ||
| 284 | 284 | ||
| 285 | 285 | assertEquals(68338203500, Date.parse("+001972-03T23:50:03.500+01:00")); | |
| 286 | 286 | assertEquals(68341803500, Date.parse("+001972-03T23:50:03.500Z")); | |
| 287 | - assertEquals(68341803500, Date.parse("+001972-03T23:50:03.500Z")); | ||
| 288 | - assertEquals(68341803000, Date.parse("+001972-03T23:50:03Z")); | ||
| 289 | - assertEquals(68341800000, Date.parse("+001972-03T23:50Z")); | ||
| 290 | - assertEquals(68256000000, Date.parse("+001972-03Z")); | ||
| 287 | + assertEquals(68341803500, Date.parse("+001972-03T23:50:03.500")); | ||
| 288 | + assertEquals(68341803000, Date.parse("+001972-03T23:50:03")); | ||
| 289 | + assertEquals(68341800000, Date.parse("+001972-03T23:50")); | ||
| 290 | + assertEquals(68256000000, Date.parse("+001972-03")); | ||
| 291 | 291 | ||
| 292 | 292 | assertEquals(63154203500, Date.parse("+001972T23:50:03.500+01:00")); | |
| 293 | 293 | assertEquals(63157803500, Date.parse("+001972T23:50:03.500Z")); | |
| 294 | - assertEquals(63157803500, Date.parse("+001972T23:50:03.500Z")); | ||
| 295 | - assertEquals(63157803000, Date.parse("+001972T23:50:03Z")); | ||
| 296 | - assertEquals(63072000000, Date.parse("+001972Z")); | ||
| 294 | + assertEquals(63157803500, Date.parse("+001972T23:50:03.500")); | ||
| 295 | + assertEquals(63157803000, Date.parse("+001972T23:50:03")); | ||
| 296 | + assertEquals(63072000000, Date.parse("+001972")); | ||
| 297 | 297 | ||
| 298 | 298 | ||
| 299 | 299 | // Ensure that ISO-years in the range 00-99 aren't translated to the range | |
| 300 | 300 | // 1950..2049. | |
| 301 | - assertEquals(-60904915200000, Date.parse("0040-01-01T00:00Z")); | ||
| 302 | - assertEquals(-60273763200000, Date.parse("0060-01-01T00:00Z")); | ||
| 303 | - assertEquals(-62167219200000, Date.parse("0000-01-01T00:00Z")); | ||
| 304 | - assertEquals(-62167219200000, Date.parse("+000000-01-01T00:00Z")); | ||
| 301 | + assertEquals(-60904915200000, Date.parse("0040-01-01")); | ||
| 302 | + assertEquals(-60273763200000, Date.parse("0060-01-01")); | ||
| 303 | + assertEquals(-62167219200000, Date.parse("0000-01-01")); | ||
| 304 | + assertEquals(-62167219200000, Date.parse("+000000-01-01")); | ||
| 305 | 305 | ||
| 306 | 306 | // Test negative years. | |
| 307 | - assertEquals(-63429523200000, Date.parse("-000040-01-01Z")); | ||
| 308 | - assertEquals(-64060675200000, Date.parse("-000060-01-01Z")); | ||
| 309 | - assertEquals(-124397510400000, Date.parse("-001972-01-01Z")); | ||
| 307 | + assertEquals(-63429523200000, Date.parse("-000040-01-01")); | ||
| 308 | + assertEquals(-64060675200000, Date.parse("-000060-01-01")); | ||
| 309 | + assertEquals(-124397510400000, Date.parse("-001972-01-01")); | ||
| 310 | 310 | ||
| 311 | 311 | // Check time-zones. | |
| 312 | 312 | assertEquals(70674603500, Date.parse("1972-03-28T23:50:03.500Z")); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -295,6 +295,9 @@ | |||
| 295 | 295 | 'built-ins/Symbol/species/builtin-getter-name': [FAIL], | |
| 296 | 296 | 'built-ins/Symbol/species/subclassing': [FAIL], | |
| 297 | 297 | ||
| 298 | + # https://code.google.com/p/v8/issues/detail?id=4242 | ||
| 299 | + 'built-ins/Date/15.9.1.15-1': [FAIL], | ||
| 300 | + | ||
| 298 | 301 | # https://code.google.com/p/v8/issues/detail?id=4004 | |
| 299 | 302 | 'built-ins/Date/prototype/setFullYear/15.9.5.40_1': [FAIL], | |
| 300 | 303 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -281,9 +281,6 @@ | |||
| 281 | 281 | '15.2.3.13-1-3': [FAIL], | |
| 282 | 282 | '15.2.3.13-1-4': [FAIL], | |
| 283 | 283 | ||
| 284 | - # ES6 says for dates to default to the local timezone if none is specified | ||
| 285 | - '15.9.1.15-1': [FAIL], | ||
| 286 | - | ||
| 287 | 284 | ######################## NEEDS INVESTIGATION ########################### | |
| 288 | 285 | ||
| 289 | 286 | # These test failures are specific to the intl402 suite and need investigation | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -57,6 +57,15 @@ | |||
| 57 | 57 | # expected runtimes (suites with slow test cases first). These groups are | |
| 58 | 58 | # invoked in seperate steps on the bots. | |
| 59 | 59 | TEST_MAP = { | |
| 60 | + "bot_default": [ | ||
| 61 | + "mjsunit", | ||
| 62 | + "cctest", | ||
| 63 | + "webkit", | ||
| 64 | + "message", | ||
| 65 | + "preparser", | ||
| 66 | + "intl", | ||
| 67 | + "unittests", | ||
| 68 | + ], | ||
| 60 | 69 | "default": [ | |
| 61 | 70 | "mjsunit", | |
| 62 | 71 | "cctest", | |
@@ -80,6 +89,10 @@ | |||
| 80 | 89 | ||
| 81 | 90 | VARIANTS = ["default", "stress", "turbofan", "nocrankshaft"] | |
| 82 | 91 | ||
| 92 | + EXHAUSTIVE_VARIANTS = VARIANTS + [ | ||
| 93 | + # TODO(machenbach): Add always opt turbo variant. | ||
| 94 | + ] | ||
| 95 | + | ||
| 83 | 96 | DEBUG_FLAGS = ["--nohard-abort", "--nodead-code-elimination", | |
| 84 | 97 | "--nofold-constants", "--enable-slow-asserts", | |
| 85 | 98 | "--debug-code", "--verify-heap"] | |
@@ -250,6 +263,9 @@ def BuildOptions(): | |||
| 250 | 263 | default=False, dest="no_variants", action="store_true") | |
| 251 | 264 | result.add_option("--variants", | |
| 252 | 265 | help="Comma-separated list of testing variants: %s" % VARIANTS) | |
| 266 | + result.add_option("--exhaustive-variants", | ||
| 267 | + default=False, action="store_true", | ||
| 268 | + help="Use exhaustive set of default variants.") | ||
| 253 | 269 | result.add_option("--outdir", help="Base directory with compile output", | |
| 254 | 270 | default="out") | |
| 255 | 271 | result.add_option("--predictable", | |
@@ -334,6 +350,7 @@ def BuildbotToV8Mode(config): | |||
| 334 | 350 | ||
| 335 | 351 | def ProcessOptions(options): | |
| 336 | 352 | global ALL_VARIANTS | |
| 353 | + global EXHAUSTIVE_VARIANTS | ||
| 337 | 354 | global VARIANTS | |
| 338 | 355 | ||
| 339 | 356 | # Architecture and mode related stuff. | |
@@ -385,6 +402,11 @@ def ProcessOptions(options): | |||
| 385 | 402 | if options.novfp3: | |
| 386 | 403 | options.extra_flags.append("--noenable-vfp3") | |
| 387 | 404 | ||
| 405 | + if options.exhaustive_variants: | ||
| 406 | + # This is used on many bots. It includes a larger set of default variants. | ||
| 407 | + # Other options for manipulating variants still apply afterwards. | ||
| 408 | + VARIANTS = EXHAUSTIVE_VARIANTS | ||
| 409 | + | ||
| 388 | 410 | if options.msan: | |
| 389 | 411 | VARIANTS = ["default"] | |
| 390 | 412 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments