48cd73fc089340f641dab57d6563e66b6738d731: Bug 936026 - Test autofilling logins in documents restored from bfcache. r=jaws
Matthew Noorenberghe <mozilla@noorenberghe.ca> - Wed, 20 Mar 2019 14:21:59 +0000 - rev 465225
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 936026 - Test autofilling logins in documents restored from bfcache. r=jaws Differential Revision: https://phabricator.services.mozilla.com/D22213
4ce441f87fdf4abc6443ff83d610b2adff4d3885: Bug 936026 - Autofill login forms after restoring documents from bfcache. r=jaws
Matthew Noorenberghe <mozilla@noorenberghe.ca> - Wed, 20 Mar 2019 14:21:55 +0000 - rev 465224
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 936026 - Autofill login forms after restoring documents from bfcache. r=jaws Differential Revision: https://phabricator.services.mozilla.com/D22212
2a807fde4c47339f48e548127d215880183fbcae: Bug 1536763 - Support more than 100 files in ./mach static-analysis check, r=andi
Bastien Abadie <bastien@mozilla.com> - Wed, 20 Mar 2019 13:03:13 +0000 - rev 465223
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1536763 - Support more than 100 files in ./mach static-analysis check, r=andi Differential Revision: https://phabricator.services.mozilla.com/D24151
d808eb8f5dd52d49348586d0764ecf8a419d1e9f: Bug 1533890: Add scripted constructor support to CacheIR r=mgaudet
Iain Ireland <iireland@mozilla.com> - Tue, 19 Mar 2019 23:22:04 +0000 - rev 465222
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1533890: Add scripted constructor support to CacheIR r=mgaudet This patch adds support for scripted constructors, using the existing template object infrastructure. Comparison points: - BaselineCacheIRCompiler::createThis/updateReturnValue correspond to big "if (isConstructing) ..." blocks in ICCallScriptedCompiler::generateStubCode. - CallIRGenerator::getTemplateObjectForScripted corresponds to the block in tryAttachCallStub starting with the comment "// Remember the template object ..." Notes: 1. In the original CreateThis code, there was the following comment: // Reload callee script. Note that a GC triggered by CreateThis may // have destroyed the callee BaselineScript and IonScript. CreateThis // is safely repeatable though, so in this case we just leave the stub // frame and jump to the next stub. This comment was out of date; as of bug 1415853, the code pointer is always valid. The comment does not exist in the new version. 2. Bug 870478 added code to the old version of |updateReturnValue| to load |this| from the baseline frame instead of the baseline stub frame, because we would not trace the copy of |this| if a rectifier frame was created. A better fix was delivered in bug 945275 (we now trace |this| in rectifier frames). The new version of |updateReturnValue| loads |this| out of the stub frame, because it is both easier to read and more efficient. 3. Unlike BaselineInspector::getTemplateObjectFor(Native|ClassHook), the scripted version does not use the callee as a guard to make sure that we have the correct template object. This is the same as the status quo. It works because we only retrieve the template object if the IC chain has exactly one non-fallback stub. We still store the callee in the metadata, because it is needed for BaselineInspector::getSingleCallee. This whole area of the BaselineInspector API should probably be redesigned, but it seemed out of scope for this patch. Differential Revision: https://phabricator.services.mozilla.com/D22782
b641ee647a01b1a05bd7775c7ce6e4fac0564917: Bug 1533890: Add native constructor call support to CacheIR r=mgaudet
Iain Ireland <iireland@mozilla.com> - Tue, 19 Mar 2019 23:41:09 +0000 - rev 465221
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1533890: Add native constructor call support to CacheIR r=mgaudet This patch uses the infrastructure from the previous patch to add constructor support for native calls. Comparison points: - CallIRGenerator::getTemplateObjectForNative corresponds to GetTemplateObjectForNative in BaselineIC.cpp Differential Revision: https://phabricator.services.mozilla.com/D22781
9fe35422fa326fc61e8f8049eb3291d0a898e821: Bug 1533890: Add constructor hook support to CacheIR r=mgaudet
Iain Ireland <iireland@mozilla.com> - Tue, 19 Mar 2019 23:19:06 +0000 - rev 465220
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1533890: Add constructor hook support to CacheIR r=mgaudet Constructor stubs in the existing implementation contain template objects, which are unused by the stub itself but consumed by Ion. To make this work in CacheIR, this patch introduces meta ops, which generate no code but can be consumed by BaselineInspector. This patch adds the infrastructure for meta ops and uses it to implement constructor class hooks, because it is a simple place to start. Subsequent patches add support for native constructor calls and scripted constructor calls. In each case, BaselineInspector needs two pieces of information: a) The template object itself, and b) the callee, which BaselineInspector checks to make sure it is getting the correct template object. (The precise nature of the template object varies: it's a class pointer for hooks, but a pointer to the actual callee object for native and scripted constructors.) The meta op's arguments are a tag (in this case, "ClassTemplateObject") and two stub field offsets. NB: the class offset is reused from an earlier guard. To make this work, addStubField now returns the offset of the new field. Other notes: 1. I changed an assertion in CompactBufferReader::seek to make it possible to seek directly to the end of the buffer. This is safe, because we already check to make sure we aren't at the end before reading from the buffer. 2. It turns out that the code to iterate through CacheIR bytecode is nicer if the CacheIR op table defines the length of the arguments to an op, without including the op itself. I made the change. Comparison points: - CallIRGenerator::getTemplateObjectForClassHook corresponds to GetTemplateObjectForClassHook in BaselineIC.cpp Differential Revision: https://phabricator.services.mozilla.com/D22780
69a09b505a35c4e3aadc1d3a9d858014de004ea2: Bug 1528270: Clean up pushCallArguments and pushSpreadCallArguments r=mgaudet
Iain Ireland <iireland@mozilla.com> - Tue, 19 Mar 2019 23:17:09 +0000 - rev 465219
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1528270: Clean up pushCallArguments and pushSpreadCallArguments r=mgaudet This patch makes a couple of improvements to pushCallArguments, and one improvement to pushSpreadCallArguments. 1. The old code used two instructions to generate argPtr, where one instruction will do. 2. The old code jumped through some hoops to avoid adding |callee| and |this| to count before aligning the stack for jit frames. However, AlignJitStackBasedOnNArgs only cares whether nargs is even or odd. Since it doesn't make a difference whether we add 2 to nargs before or after alignment, this patch removes the "optimization". 3. The previous version of pushSpreadCallArguments used three instructions to find the end of the argument array, where one computeEffectiveAddress would do. (It also improves the comments.) Differential Revision: https://phabricator.services.mozilla.com/D22779
33fdefc8983102790235d45cc19bd1877c14b99e: Bug 1533890: Add spread call support to CacheIR r=mgaudet
Iain Ireland <iireland@mozilla.com> - Tue, 19 Mar 2019 23:23:23 +0000 - rev 465218
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1533890: Add spread call support to CacheIR r=mgaudet This patch adds spread call support for scripted calls, native calls, and class hooks. (The old code did not have spread support for class hooks, but it's easy to add.) Notes: 1. We don't support spread constructors yet. That will come later, after regular constructors are supported. 2. The old implementation called ICCallStubCompiler::guardSpreadCall to limit the size of the spread array. As an undocumented side-effect, guardSpreadCall also modifies the argc input register. The CacheIR version uses a fresh register, and relies on the magic of the CacheIR register allocator to preserve the input register. Comparison points: - GuardAndGetSpreadArgc corresponds to ICCallStubCompiler::guardSpreadCall. - BaselineCacheIRCompiler::pushSpreadCallArguments corresponds to ICCallStubCompiler::pushSpreadCallArguments - DoSpreadCallFallback is modified to correspond to DoCallFallback. Differential Revision: https://phabricator.services.mozilla.com/D22778
e8af74a64a88d40dfa03cd41346cea716c623aba: Bug 1533890: Migrate call hooks to CacheIR r=mgaudet
Iain Ireland <iireland@mozilla.com> - Tue, 19 Mar 2019 22:57:54 +0000 - rev 465217
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1533890: Migrate call hooks to CacheIR r=mgaudet This patch implements class hooks in CacheIR. It only supports call hooks; constructor calls are handled in a later patch. The implementation of class hooks overlaps almost completely with the implementation of native calls; the only difference is how we load the address of the callee. Comparison points: - The old logic is in TryAttachCallStub and ICCall_ClassHook::Compiler::generateStubCode. Differential Revision: https://phabricator.services.mozilla.com/D22777
1a502b69ad35597b718f6e06893a2bf09a28375c: Bug 1533890: Migrate CallScripted to CacheIR r=mgaudet
Iain Ireland <iireland@mozilla.com> - Tue, 19 Mar 2019 22:57:50 +0000 - rev 465216
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1533890: Migrate CallScripted to CacheIR r=mgaudet This patch implements calls to native functions in CacheIR. Spread calls and constructor calls are handled in a later patch. Notes: 1. This patch adds GuardFunctionHasJitEntry as a separate CacheIR op, which guards against relazification. The same functionality currently exists inside of ScriptedGetterResult. My original intent was to refactor ScriptedGetterResult to use the op, but if Ted's plans to add a delazification trampoline work out then the issue goes away entirely and we can just delete both versions of the code. 2. Like the callNative patch, this patch bakes argc into the stub code. 3. The existing code pops callee off the stack and unboxes it, immediately after copying the args. This doesn't make any sense, because we have already unboxed it once and it's still in a register. 4. There are a couple of places in tryAttachCallScripted where we want to decline to attach without counting it as a failure. Right now, if the CacheIR path fails, the old implementation will do the right thing for us. A future patch will add isTemporarilyUnoptimizable support to CallIRGenerator. Comparison points: - CallIRGenerator::tryAttachCallScripted and BaselineCacheIRCompiler::emitCallScriptedFunction correspond to TryAttachCallStub and ICCallScriptedCompiler::generateStubCode Differential Revision: https://phabricator.services.mozilla.com/D22776
3fad807ff7d4da01b6c161ef4eac3c3a155d5fc4: Bug 1533890: Add simulator support for IgnoresReturnValue version of native functions r=mgaudet
Iain Ireland <iireland@mozilla.com> - Tue, 19 Mar 2019 22:57:44 +0000 - rev 465215
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1533890: Add simulator support for IgnoresReturnValue version of native functions r=mgaudet Native calls in the simulator have to be redirected to a special swi instruction. In the old implementation, this redirection did not support calling the IgnoresReturnValue version of a native function. This patch fixes that problem in the new implementation. Differential Revision: https://phabricator.services.mozilla.com/D22775
b04b7f58b4d82205369b1c280739c06d6df8cc1d: Bug 1533890: Migrate CallNative to CacheIR r=mgaudet
Iain Ireland <iireland@mozilla.com> - Tue, 19 Mar 2019 22:57:40 +0000 - rev 465214
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1533890: Migrate CallNative to CacheIR r=mgaudet This patch implements calls to native functions in CacheIR. Spread calls and constructor calls are handled in a later patch. Notes: 1. When running in the simulator, native call stubs have an extra stub field to hold the redirected swi wrapper. We use some ugly ifdefs to make that work. 2. The simulator version of native call stubs also doesn't support ignoresReturnValue calls. This bug is fixed in a later patch. 3. pushCallArguments is based directly on the existing code. A later patch improves the comments and tightens up the generated code. 4. Compared to the previous implementation, this patch bakes argc into each stub (by using it to compute the address of |callee| in tryAttachCallNative). This increases the number of versions of the stub code we generate by some (hopefully small) factor. In a future patch (not yet written), this will be changed so that we unroll the loop in pushCallArguments for small argc, and share stub code for large argc. Comparison points: - BaselineCacheIRCompiler::pushCallArguments corresponds to ICCallStubCompiler::pushCallArguments - CallIRGenerator::tryAttachCallNative and BaselineCacheIRCompiler::emitCallNativeFunction correspond to TryAttachCallStub and ICCall_Native::Compiler::generateStubCode. (The dividing line between the two functions is different between the old and new code, but aside from the exceptions detailed above the logic should be the same.) Differential Revision: https://phabricator.services.mozilla.com/D22774
93613b622c03c5da9a1343a35aaed6d4e024b63c: Bug 1533890: Refactor TryAttachCallStub and add disableCacheIRCalls pref r=mgaudet
Iain Ireland <iireland@mozilla.com> - Tue, 19 Mar 2019 22:57:34 +0000 - rev 465213
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1533890: Refactor TryAttachCallStub and add disableCacheIRCalls pref r=mgaudet This patch lays the groundwork for CacheIR call ICs. It refactors CallIRGenerator slightly, and adds a preference (on by default) to disable the new ICs. This lets us review and land future patches in a logical order without worrying about the attachment order of the new ICs vs the old ones. (For example, we don't want a CacheIR implementation of CallNative to shadow the old implementation of CallScriptedFunApply.) I also removed the old disableCacheIRBinaryArith pref, after confirming with Matt that it is obsolete. To avoid huge diffs every time the length of the longest CacheIR op changes, I padded the table out to 80 chars with a comment. Thanks, clang-format! Differential Revision: https://phabricator.services.mozilla.com/D22773
0f9e3bff55750b4764e2ddd8c58e10c16e7f6865: Bug 1473602 - Add u2f-devices plug to snap package. r=jlorenzo
Olivier Tilloy <olivier@tilloy.net> - Wed, 20 Mar 2019 12:54:00 +0000 - rev 465212
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1473602 - Add u2f-devices plug to snap package. r=jlorenzo This allows the confined snap to interact with Universal 2nd Factor devices, such as Yubikeys. Differential Revision: https://phabricator.services.mozilla.com/D24147
5df0da0ce027ee9311bfedd21d45bfcae7e03170: Bug 1532944 - Remove unnecessary ESLint disabling mozilla/no-cpows-in-tests comments. r=Standard8
Mihir <mihir17166@iiitd.ac.in> - Wed, 20 Mar 2019 13:58:47 +0000 - rev 465211
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1532944 - Remove unnecessary ESLint disabling mozilla/no-cpows-in-tests comments. r=Standard8 Differential Revision: https://phabricator.services.mozilla.com/D24148
87e8e93c2133e0e7dfe3e102d5c5e117dcf41548: Bug 1532929 - Use SharedGL on android r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Wed, 20 Mar 2019 11:51:33 +0000 - rev 465210
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1532929 - Use SharedGL on android r=nical RenderCompositorEGL is also used on wayland, but SharedGL is not enabled on wayalnd. Since SharedGL caused flickering, when multiple windows were opened on wayland. Differential Revision: https://phabricator.services.mozilla.com/D23786
a14e5a146b8dcfe063a91f0c0e435e0bf42b0613: Bug 1505368 - Show error page in about:devtools-toolbox when target is destroyed r=jdescottes,daisuke
Belén Albeza <balbeza@mozilla.com> - Wed, 20 Mar 2019 13:28:17 +0000 - rev 465209
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1505368 - Show error page in about:devtools-toolbox when target is destroyed r=jdescottes,daisuke Differential Revision: https://phabricator.services.mozilla.com/D20315
77453788170e8775e2e0b9a2cb44779d583137ca: Backed out 2 changesets (bug 936026) for causing Adroid mochitest failures CLOSED TREE
Noemi Erli <nerli@mozilla.com> - Wed, 20 Mar 2019 16:09:55 +0200 - rev 465208
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Backed out 2 changesets (bug 936026) for causing Adroid mochitest failures CLOSED TREE Backed out changeset d06cbdecb389 (bug 936026) Backed out changeset e4044386c8ae (bug 936026)
ae39470fc2168a2bdc0992601cc21b499224ebbb: Bug 1291427 - Remove table headers when selecting an empty storage type r=miker
avi.mathur <avi.mathur.engg+moz@gmail.com> - Mon, 18 Mar 2019 15:26:58 +0000 - rev 465207
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1291427 - Remove table headers when selecting an empty storage type r=miker Before this change clicking on Storage Type use to show table headers from previous selection. Now clicking on Storage Type will reset table headers also in case empty table headers will get cleared. ### Try https://treeherder.mozilla.org/#/jobs?repo=try&revision=10f387eeb0dcb68f43e7e441a3045c23e40295a5 Differential Revision: https://phabricator.services.mozilla.com/D22327
427ee196a86599aac675165d9a6f4c80ee046267: Bug 1536002 - Add SharedGL check in RenderCompositorANGLE::Create() r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Wed, 20 Mar 2019 11:52:26 +0000 - rev 465206
Push 112496 by shindli@mozilla.com at Thu, 21 Mar 2019 04:37:39 +0000
Bug 1536002 - Add SharedGL check in RenderCompositorANGLE::Create() r=nical Differential Revision: https://phabricator.services.mozilla.com/D23824
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip