63fe40a76a252775c0a24bc65f64a479d8a5946e: Backed out 7 changesets (bug 1434429) for build bustages on regress-618572.js and TokenStream.h on a CLOSED TREE
Cosmin Sabou <csabou@mozilla.com> - Thu, 01 Feb 2018 03:31:45 +0200 - rev 454505
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Backed out 7 changesets (bug 1434429) for build bustages on regress-618572.js and TokenStream.h on a CLOSED TREE Backed out changeset 1e0faca62e86 (bug 1434429) Backed out changeset b190c5a3dab2 (bug 1434429) Backed out changeset 95e07a79f4b2 (bug 1434429) Backed out changeset 21c79fd76133 (bug 1434429) Backed out changeset 45c9102825ab (bug 1434429) Backed out changeset 112eaf00632c (bug 1434429) Backed out changeset 024f70aeba70 (bug 1434429)
c272e33a5571f411182688fc2fab94f03bc90a08: Backed out changeset 1fea6030657b (bug 1433344) for mda failures on EMEDecoderModule.cpp on a CLOSED TREE
Cosmin Sabou <csabou@mozilla.com> - Thu, 01 Feb 2018 03:05:53 +0200 - rev 454504
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Backed out changeset 1fea6030657b (bug 1433344) for mda failures on EMEDecoderModule.cpp on a CLOSED TREE
c30e31ae61f96947e0737f0faac8f4de64d04a0e: Backed out 2 changesets (bug 1423840) for mass Talos failures due to forbidden connections. CLOSED TREE
Cosmin Sabou <csabou@mozilla.com> - Thu, 01 Feb 2018 03:05:08 +0200 - rev 454503
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Backed out 2 changesets (bug 1423840) for mass Talos failures due to forbidden connections. CLOSED TREE Backed out changeset e8b798a5205a (bug 1423840) Backed out changeset e500592d3551 (bug 1423840)
1e0faca62e866db09ca9157d0468f035736484ee: Bug 1434429 - Comment out an assertion whose condition is disliked by certain versions of gcc for entirely mysterious reasons, to be debugged later. r=bustage in a still-CLOSED TREE
Jeff Walden <jwalden@mit.edu> - Wed, 31 Jan 2018 16:53:44 -0800 - rev 454502
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1434429 - Comment out an assertion whose condition is disliked by certain versions of gcc for entirely mysterious reasons, to be debugged later. r=bustage in a still-CLOSED TREE
b190c5a3dab273579a5c8b5b06dd83be75459c17: Bug 1434429 - Followup bustage fix (?) for gcc (and maybe other?) compiler bustage. Worked in recent clang... r=boogstage in a CLOSED TREE
Jeff Walden <jwalden@mit.edu> - Wed, 31 Jan 2018 16:22:24 -0800 - rev 454501
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1434429 - Followup bustage fix (?) for gcc (and maybe other?) compiler bustage. Worked in recent clang... r=boogstage in a CLOSED TREE
95e07a79f4b21c5e9981393e9d0255a8787fa1ef: Bug 1434429 - Implement TokenStreamChars::matchMultiUnitCodePoint as a better nailing-down of behavior when processing a multi-code unit code point. r=arai
Jeff Walden <jwalden@mit.edu> - Thu, 18 Jan 2018 11:34:27 -0800 - rev 454500
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1434429 - Implement TokenStreamChars::matchMultiUnitCodePoint as a better nailing-down of behavior when processing a multi-code unit code point. r=arai
21c79fd76133ca1c3b57109ecaf38b1db9fe1171: Bug 1434429 - Implement a TokenStreamChars::ungetCodePointIgnoreEOL and use it to report errors at precise locations, rather than blindly at the beginning of the token (which happens to be the same thing, just not nearly as clear about it). r=arai
Jeff Walden <jwalden@mit.edu> - Thu, 18 Jan 2018 11:34:27 -0800 - rev 454499
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1434429 - Implement a TokenStreamChars::ungetCodePointIgnoreEOL and use it to report errors at precise locations, rather than blindly at the beginning of the token (which happens to be the same thing, just not nearly as clear about it). r=arai
45c9102825ab7d7155a7940cd36334383a067c47: Bug 1434429 - Move TokenStreamSpecific::ungetCharIgnoreEOL into TokenStreamCharsBase. r=arai
Jeff Walden <jwalden@mit.edu> - Thu, 18 Jan 2018 11:34:27 -0800 - rev 454498
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1434429 - Move TokenStreamSpecific::ungetCharIgnoreEOL into TokenStreamCharsBase. r=arai
112eaf00632ceff1eaf9a6958e654061ebe4d588: Bug 1434429 - Move TokenStreamSpecific::ungetChar into a new GeneralTokenStreamChars<CharT, AnyCharsAccess> inserted between TokenStreamCharsBase<CharT> and TokenStreamChars<CharT, AnyCharsAccess> in the token stream inheritance hierarchy. r=arai
Jeff Walden <jwalden@mit.edu> - Thu, 18 Jan 2018 11:34:27 -0800 - rev 454497
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1434429 - Move TokenStreamSpecific::ungetChar into a new GeneralTokenStreamChars<CharT, AnyCharsAccess> inserted between TokenStreamCharsBase<CharT> and TokenStreamChars<CharT, AnyCharsAccess> in the token stream inheritance hierarchy. r=arai
024f70aeba7055c8b34f8b45590ef1df2ec58b40: Bug 1434429 - Use MakeScopeExit to handle resetting userbuf offset in TokenStreamSpecific::putIdentInTokenbuf. r=arai
Jeff Walden <jwalden@mit.edu> - Mon, 29 Jan 2018 12:08:05 -0800 - rev 454496
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1434429 - Use MakeScopeExit to handle resetting userbuf offset in TokenStreamSpecific::putIdentInTokenbuf. r=arai
cda4b83616fc6fdb7b7d3e99776713df29d71b32: Bug 1433856 - Block PluginModuleChromeParent::CleanupFromTimeout from recursing. r=jimm
David Parks <dparks@mozilla.com> - Mon, 29 Jan 2018 18:15:18 -0800 - rev 454495
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1433856 - Block PluginModuleChromeParent::CleanupFromTimeout from recursing. r=jimm CleanupFromTimeout is (transitively) recursing in calls to Close(), as that now leads to shutting down the plugin broker thread and CleanupFromTimeout was being rerun since nsThread::Shutdown runs tasks..
5cc1a1751a0e9d964b7ef8babb66bfaeaf1e7fa3: Bug 1433855 - Make sure plugin function broker's PostToDispatchThread is Waiting before Notifying it. r=jimm
David Parks <dparks@mozilla.com> - Tue, 30 Jan 2018 17:32:27 -0800 - rev 454494
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1433855 - Make sure plugin function broker's PostToDispatchThread is Waiting before Notifying it. r=jimm The Monitor's condition variable could be notified before the calling thread had begun to Wait for it. This caused the Notify to be missed, leading to hangs. By grabbing the Monitor in PostToDispatchHelper, we know Wait has been called because, otherwise, the calling thread would still hold the Monitor.
e8b798a5205ad27d067b91210efb46df7ddab45d: Bug 1423840 - Rewrite the prefs parser. r=glandium,Manishearth
Nicholas Nethercote <nnethercote@mozilla.com> - Sun, 03 Dec 2017 00:26:36 +1100 - rev 454493
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1423840 - Rewrite the prefs parser. r=glandium,Manishearth The prefs parser has two significant problems. - It doesn't separate tokenizing from parsing. - It is implemented as a loop around a big switch on a "current state" variable. As a result, it is hard to understand and modify, slower than it could be, and in obscure cases (involving comments and whitespace) it fails to parse what should be valid input. This patch replaces it with a recursive descent parser (albeit one without any recursion!) that has separate tokenization. The new parser is easier to understand and modify, more correct, and has better error messages. It doesn't do error recovery, but that would be much easier to add than in the old parser. The new parser also runs about 1.9x faster than the existing parser. (As measured by parsing greprefs.js's contents from memory 1000 times in succession, omitting the prefs hash table construction. If the table construction is included, it's about 1.6x faster.) The new parser is slightly stricter than the old parser in a few ways. - Disconcertingly, the old parser allowed arbitrary junk between prefs (including at the start and end of the prefs file) so long as that junk didn't include any of the following chars: '/', '#', 'u', 's', 'p'. I.e. lines like these: !foo@bar&pref("prefname", true); ticky_pref("prefname", true); // missing 's' at start User_pref("prefname", true); // should be 'u' at start would all be treated the same as this: pref("prefname", true); The new parser disallows such junk because it isn't necessary and seems like an unintentional botch by the old parser. - The old parser allowed character 0x1a (SUB) between tokens and treated it like '\n'. The new parser does not allow this character. SUB was used to indicate end-of-file (*not* end-of-line) in some old operating systems such as MS-DOS, but this doesn't seem necessary today. - The old parser tolerated (with a warning) invalid escape sequences within string literals -- such as "\q" (not a valid escape) and "\x1" and "\u12" (both of which have insufficient hex digits) -- accepting them literally. The new parser does not tolerate invalid escape sequences because it doesn't seem necessary and would complicate things. - The old parser tolerated character 0x00 (NUL) within string literals; this is dangerous because C++ code that manipulates string values with embedded NULs will almost certainly consider those chars as end-of-string markers. The new parser treats NUL chars as end-of-file, to avoid this danger and because it facilitates a significant optimization (described within the code). - The old parser allowed integer literals to overflow, silently wrapping them. The new parser treats integer overflow as a parse error. This seems better, and it caught an existing overflow in testing/profiles/prefs_general.js, for places.database.lastMaintenance (see bug 1424030). The first of these changes meant that a couple of existing prefs with ";;" at the end had to be changed (done in the preceding patch). The minor increase in strictness shouldn't be a problem for default pref files such as greprefs.js within the application (which we can modify), nor for app-written prefs files such as prefs.js. It could affect user-written prefs files such as user.js; the experience above suggests that ";;" is the most likely problem in practice. In my opinion, the risk here is acceptable. The new parser also does a better job of tracking line numbers because it (a) treats "\r\n" sequences as a single end-of-line marker, and (a) pays attention to end-of-line sequences within string literals. Finally, the patch adds thorough tests of both valid and invalid syntax. MozReview-Commit-ID: 8EYWH7KxGG * * * [mq]: win-fix MozReview-Commit-ID: 91Bxjfghqfw
e500592d3551ecf3b063f3e054d22bbbb6f9c54d: Bug 1423840 - Remove extraneous semicolons in all.js. r=glandium
Nicholas Nethercote <nnethercote@mozilla.com> - Fri, 08 Dec 2017 15:15:20 +1100 - rev 454492
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1423840 - Remove extraneous semicolons in all.js. r=glandium The new prefs parser won't allow them. MozReview-Commit-ID: 90EFcx0sbdf
fc36a210edd7e44ecb0e7e0c60ea3226d438ab17: Merge mozilla-central to inbound. a=merge CLOSED TREE
shindli <shindli@mozilla.com> - Thu, 01 Feb 2018 00:38:55 +0200 - rev 454491
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Merge mozilla-central to inbound. a=merge CLOSED TREE
9679675311942feaa6cf7e8881d9a45163abdbde: Bug 1434164 - Use ChromeUtils.defineModuleGetter. r=me ON A CLOSED TREE
Felipe Gomes <felipc@gmail.com> - Wed, 31 Jan 2018 19:44:21 -0200 - rev 454490
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1434164 - Use ChromeUtils.defineModuleGetter. r=me ON A CLOSED TREE MozReview-Commit-ID: GJ5UomDMgvU
1fea6030657b2fb7aaf56bb32a1c3d67dc9f9dc8: Bug 1433344 - Convert encrypted AAC to ADTS before decryption. r=jya
Chris Pearce <cpearce@mozilla.com> - Tue, 30 Jan 2018 14:39:09 +1300 - rev 454489
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1433344 - Convert encrypted AAC to ADTS before decryption. r=jya MozReview-Commit-ID: IGmBfJtYsCi
cb74f29fe44ffc85e9e63c34030b9a1cb64fc260: Bug 1434715 - remove reftest-no-accel from windows10. r=ahal
Joel Maher <jmaher@mozilla.com> - Wed, 31 Jan 2018 16:14:43 -0500 - rev 454488
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1434715 - remove reftest-no-accel from windows10. r=ahal
2e5111f3d2725b95270fdc2618224858d2a207f1: Bug 1434164 - Support inlining policies.json file on test files. r=Gijs
Felipe Gomes <felipc@gmail.com> - Wed, 31 Jan 2018 19:13:48 -0200 - rev 454487
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1434164 - Support inlining policies.json file on test files. r=Gijs MozReview-Commit-ID: LP8M6QB6I04
ffa792b08348230dc42a79b3aca7a8e24af74d41: Bug 1433950 - Re-license enterprise policies tests as CC0. r=gerv
Felipe Gomes <felipc@gmail.com> - Wed, 31 Jan 2018 19:13:43 -0200 - rev 454486
Push 8799 by mtabara@mozilla.com at Thu, 01 Mar 2018 16:46:23 +0000
Bug 1433950 - Re-license enterprise policies tests as CC0. r=gerv MozReview-Commit-ID: B29SV9JmjKg
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip