searching for reviewer(bbouvier)
978eb962906f3cc5e61b8c7364bb627b325a6231: Bug 1544041 - Add test-also support to wpt-in-jstests; r=bbouvier
Ms2ger <Ms2ger@igalia.com> - Tue, 16 Apr 2019 10:03:55 +0000 - rev 528462
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1544041 - Add test-also support to wpt-in-jstests; r=bbouvier Differential Revision: https://phabricator.services.mozilla.com/D27478
9573e2163ca4009956027b6f2936871d8bb67586: Bug 1544041 - Add test-also support to wpt-in-jstests; r=bbouvier
Ms2ger <Ms2ger@igalia.com> - Mon, 15 Apr 2019 13:49:54 +0000 - rev 528314
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1544041 - Add test-also support to wpt-in-jstests; r=bbouvier Differential Revision: https://phabricator.services.mozilla.com/D27478
a4ad642832f5549367870e18b5b5f39ff36de373: Bug 1544383 - Fix WebAssembly class init in fuzzing target. r=bbouvier
Christian Holler <choller@mozilla.com> - Mon, 15 Apr 2019 12:24:50 +0000 - rev 528308
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1544383 - Fix WebAssembly class init in fuzzing target. r=bbouvier Differential Revision: https://phabricator.services.mozilla.com/D27486
c78a264f3226710b96db8832efaa1b30a9cd25a0: Bug 1538465 - WebAssembly Fuzzing Target. r=bbouvier
Christian Holler <choller@mozilla.com> - Thu, 11 Apr 2019 09:22:04 +0000 - rev 527783
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1538465 - WebAssembly Fuzzing Target. r=bbouvier Differential Revision: https://phabricator.services.mozilla.com/D25919
3add6d625683792a585b16a13f3b82620a1e4aee: Bug 1538465 - WebAssembly Fuzzing Target. r=bbouvier
Christian Holler <choller@mozilla.com> - Wed, 10 Apr 2019 17:15:20 +0000 - rev 527716
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1538465 - WebAssembly Fuzzing Target. r=bbouvier Differential Revision: https://phabricator.services.mozilla.com/D25919
babe08d04201153f26d7b1f0fa7400bcc7f1790c: Bug 1529957 - Baldr: don't accept asm.js functions for table elements (r=bbouvier)
Luke Wagner <luke@mozilla.com> - Tue, 26 Mar 2019 20:31:56 -0500 - rev 525629
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1529957 - Baldr: don't accept asm.js functions for table elements (r=bbouvier) Differential Revision: https://phabricator.services.mozilla.com/D25011
ace72ffa3103e0c937c995b08f9127960d4ed183: Bug 1529957 - Baldr: create lazy stubs even more lazily (r=bbouvier)
Luke Wagner <luke@mozilla.com> - Tue, 26 Mar 2019 20:09:43 -0500 - rev 525628
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1529957 - Baldr: create lazy stubs even more lazily (r=bbouvier) Differential Revision: https://phabricator.services.mozilla.com/D25010
5de97868cb80ae505bf52312dc47590e221d64bb: Bug 1529957 - Baldr: don't require WASM_CODEGEN_DEBUG for JitOptions that disable opts (r=bbouvier)
Luke Wagner <luke@mozilla.com> - Tue, 26 Mar 2019 19:58:23 -0500 - rev 525627
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1529957 - Baldr: don't require WASM_CODEGEN_DEBUG for JitOptions that disable opts (r=bbouvier) Differential Revision: https://phabricator.services.mozilla.com/D25008
8fc0d70bdba10bc969603f5bcbbc3b4e86bb190b: Bug 1529957 - Baldr: allow wasm functions to have func indices (r=bbouvier)
Luke Wagner <luke@mozilla.com> - Tue, 26 Mar 2019 18:47:14 -0500 - rev 525626
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1529957 - Baldr: allow wasm functions to have func indices (r=bbouvier) Differential Revision: https://phabricator.services.mozilla.com/D25007
29582b2a7db1f46fd30d47769a965d9c693a2019: Bug 1529681 - Update bindgen. r=bbouvier
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 27 Mar 2019 14:39:41 +0000 - rev 525190
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1529681 - Update bindgen. r=bbouvier This works around an LLVM bug and also pulls a fair amount of bugfixes and perf improvements. None of the breaking changes affect either the style system or cranelift stuff. Changelog for convenience: https://github.com/rust-lang/rust-bindgen/compare/v0.43.2...v0.49.0 Differential Revision: https://phabricator.services.mozilla.com/D20899
009a7361fc1b4dd6852300e52cfc5b541d9f58f0: Bug 1535609 - Root pointer args in callExport. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Tue, 19 Mar 2019 18:01:40 +0100 - rev 524270
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1535609 - Root pointer args in callExport. r=bbouvier In the slow callExport path, we convert arguments left-to-right and these conversions can both OOM and error out for other reasons, and they may perform various computations, notably allocation. Therefore any reference arguments must be rooted until all the conversions are finished. However, the arguments are computed into a plain Vector<> whose layout we need to control tightly and whose elements are not easily rootable. So we keep a separate rooted vector of reference values and when we encounter a reference argument we push that argument onto this, and before the actual call we move the reference values (which may have been altered by GC) into the argument array; this copying is atomic with respect to gc + the invocation, and once we're in the callee the normal rooting logic (via stackmaps) takes over. Differential Revision: https://phabricator.services.mozilla.com/D24061
38c2cb5142ebe1494b1f8720c9439bd8448f2255: Bug 1533932 - Handle prebarriers properly for wasm tables. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Fri, 15 Mar 2019 13:17:18 +0100 - rev 524187
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1533932 - Handle prebarriers properly for wasm tables. r=bbouvier Two problems needed to be fixed: - JS::Heap<> only has a postbarrier, not a prebarrier also; this is what triggered the original error report. The type in table-of-anyref therefore needs to be js::HeapPtr<>, so that we get both barriers. (It can't be GCPtr because the vector storage may be moved as the table grows.) - The API for table.get returns a pointer into underlying vector storage or null; if not null, the pointer must be dereferenced to obtain the actual value. Since the vector storage may move during GC and grow operations the pointer is really only valid until the next operation that might move the vector. That lifetime restriction was not enforced in Ion-generated code and the dereference could in principle move far enough during optimization for it to become invalid, though in practice it is extremely unlikely that this was actually a problem. We fix this by flagging the dereference as non-movable, and by changing some names and comments to highlight the issue. Differential Revision: https://phabricator.services.mozilla.com/D23665
add98afa5f0ca1ca17aa87eaa045442a3e1fa07a: Bug 1529691 - use futures in order to process in parallel clang-format. r=bbouvier
Andi-Bogdan Postelnicu <bpostelnicu@mozilla.com> - Tue, 12 Mar 2019 18:58:46 +0000 - rev 521585
Push 10867 by dvarga@mozilla.com at Thu, 14 Mar 2019 15:20:45 +0000
Bug 1529691 - use futures in order to process in parallel clang-format. r=bbouvier Parts of this patch were taken from the original work of :bbouvier in Bug 1521772. We needed to revert Bug 1521772 since it broken Windows compatibility. Differential Revision: https://phabricator.services.mozilla.com/D23100
4e5dbbdb10f31f6cf8460011c46a47dd4d135b7f: Bug 1490048 - add cranelift to raptor wasm-misc and wasm-godot tests. r=bbouvier,rwood
Joel Maher <jmaher@mozilla.com> - Tue, 12 Mar 2019 14:42:45 +0000 - rev 521528
Push 10867 by dvarga@mozilla.com at Thu, 14 Mar 2019 15:20:45 +0000
Bug 1490048 - add cranelift to raptor wasm-misc and wasm-godot tests. r=bbouvier,rwood add cranelift to raptor wasm-misc and wasm-godot tests. Differential Revision: https://phabricator.services.mozilla.com/D23144
1f10307fec284c52fbaf8d8423b47e762b9f0990: Bug 1532851 - Unbreak BSDs build on powerpc64 after bug 1462566. r=bbouvier
Jan Beich <jbeich@FreeBSD.org> - Wed, 06 Mar 2019 02:35:04 +0000 - rev 520478
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1532851 - Unbreak BSDs build on powerpc64 after bug 1462566. r=bbouvier Define R32_sig, R01_sig based on: https://github.com/openbsd/src/blob/master/sys/arch/powerpc/include/signal.h https://github.com/netbsd/src/blob/trunk/sys/arch/powerpc/include/mcontext.h https://github.com/freebsd/freebsd/blob/master/sys/powerpc/include/ucontext.h
74ab0e9aebf5cea683ca7c9b8fd77303e223c3b9: Bug 1531731 - Register MWasmLoadRef and MWasmStoreRef with AliasAnalysis. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Fri, 01 Mar 2019 14:10:40 +0100 - rev 519977
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1531731 - Register MWasmLoadRef and MWasmStoreRef with AliasAnalysis. r=bbouvier These new nodes participate in alias analysis and so must be made known to the alias analysis framework. Differential Revision: https://phabricator.services.mozilla.com/D21681
9453f4e1827d249f898b214f549c2fc08931d81c: Bug 1531670 - Replace ENABLE_WASM_GENERALIZED_TABLES. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Fri, 01 Mar 2019 09:33:31 +0100 - rev 519976
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1531670 - Replace ENABLE_WASM_GENERALIZED_TABLES. r=bbouvier Replace all uses of ENABLE_WASM_GENERALIZED_TABLES with ENABLE_WASM_REFTYPES, plus some knock-on effects. Replace all uses of wasmGeneralizedTables with wasmReftypesEnabled. Drive-by fix: replace 'anyfunc' in a couple of error strings with the canonical 'funcref'. Drive-by fix: remove isSimdAvailable, it is not used and we have no SIMD. Differential Revision: https://phabricator.services.mozilla.com/D21653
b79be6791cfaf2fc5ba2a89b0eb89e2dce52f1bf: Bug 1524923 - Support local.get, local.set, global.get, global.set. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Thu, 28 Feb 2019 09:55:51 +0100 - rev 519622
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1524923 - Support local.get, local.set, global.get, global.set. r=bbouvier I've only added support for these, renamed in a couple of error messages and a few test cases, not renamed all the uses, because there are so many. Will file followup bugs for that work, but it won't be urgent. Note, wabt no longer recognizes get_local et al, it requires local.get etc. But we should remain backward compatible for a long while still. Differential Revision: https://phabricator.services.mozilla.com/D21502
5c4daba349dc2484188abd2c301b35ccd2d4aa08: Bug 1530273 - Make 'funcref' the canonical name. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Wed, 27 Feb 2019 18:03:44 +0100 - rev 519621
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1530273 - Make 'funcref' the canonical name. r=bbouvier Wabt is now supporting funcref exclusively, and with the reftypes proposal I think there's broad agreement that we will stop using anyfunc. So let's accept funcref both in the text format and in the table creation dictionary, and let's use this name as the canonical name in error messages and similar. But let's also continue to accept anyfunc, since there may be in-flight tests and other content that uses it. This includes a couple of emscripten-compiled benchmarks currently in the repo; I chose not to change those. Differential Revision: https://phabricator.services.mozilla.com/D21388
8eb14440dc5b45373528a2feb57e03a45254fcc8: Bug 1515917 - Multiple test-also flags + fix disablement tests. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Tue, 26 Feb 2019 09:08:44 +0100 - rev 519519
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1515917 - Multiple test-also flags + fix disablement tests. r=bbouvier Allowing test-also to take multiple flags improves test coverage since we can test eg --wasm-gc --wasm-compiler=ion. Doing so uncovered some weaknesses in the tests that test what happens when features are disabled either by configuration or by flag, so this patch also fixes those problems and comments them more carefully." Differential Revision: https://phabricator.services.mozilla.com/D21180
4d220064bcf8acbb47a26c9d622c45d3df67231d: Bug 1529681 - Update bindgen. r=bbouvier
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 25 Feb 2019 09:25:10 -0800 - rev 518817
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1529681 - Update bindgen. r=bbouvier
e99833064d36f1a2d144d2719acab4dc970bcc92: Bug 1529681 - Update bindgen. r=bbouvier
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 25 Feb 2019 09:43:11 +0000 - rev 518791
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1529681 - Update bindgen. r=bbouvier This works around an LLVM bug and also pulls a fair amount of bugfixes and perf improvements. None of the breaking changes affect either the style system or cranelift stuff. Changelog for convenience: https://github.com/rust-lang/rust-bindgen/compare/v0.43.2...v0.47.2 Differential Revision: https://phabricator.services.mozilla.com/D20899
191134cfd07c213003c5153473df6780603068ba: Bug 1529349 - Baldr: detect invalid section before code section during streaming compilation (r=bbouvier)
Luke Wagner <luke@mozilla.com> - Fri, 22 Feb 2019 09:35:19 -0600 - rev 518587
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1529349 - Baldr: detect invalid section before code section during streaming compilation (r=bbouvier)
10030bd8ac3dd4d0333aae3a44ecfbbe5bb75bec: Bug 1520931 - Baldr: another follow-up simplification from asm.js caching removal (r=bbouvier)
Luke Wagner <luke@mozilla.com> - Mon, 18 Feb 2019 17:12:31 -0600 - rev 517710
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1520931 - Baldr: another follow-up simplification from asm.js caching removal (r=bbouvier)
412fb2a5ae54cebfbcfe8ab7a4cd544c3bfad9e5: Bug 1466464 - rename grow_memory and current_memory. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Thu, 14 Feb 2019 18:05:17 +0100 - rev 517628
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1466464 - rename grow_memory and current_memory. r=bbouvier Rename the uses of current_memory and grow_memory in wasm text content as memory.size and memory.grow, since these are canonical. Rename GrowMemory as MemoryGrow and CurrentMemory as MemorySize everywhere in C++ source code, in honor of their new .wat names -- consistency is good. I chose "Memory" over "Mem" because I like the longer name better, and I think we should rename uses of "Mem" as "Memory" (but not in this patch). Also handle some similar cases, like the growMemory_i32 and currentMemory_i32 Instance methods. Note a couple of changes in cranelift. I did not remove support for the old .wat names yet, I figure we can do that some other year, if ever. Differential Revision: https://phabricator.services.mozilla.com/D19816
6cb3a502e891550adfb1754001169885c891f375: Bug 1526579 - Rabaldr arm64 stack alignment fix. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Tue, 12 Feb 2019 10:39:23 +0100 - rev 516602
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1526579 - Rabaldr arm64 stack alignment fix. r=bbouvier Problem: When a stack chunk had to be popped as part of a control flow instruction, the amount to pop was not always computed as a multiple of ChunkSize. The reason is that the fixed amount of stack that should not be popped isn't necessarily a multiple of ChunkSize, yet this was assumed. A small adjustment to the calculation fixes that. Also added an assertion that would have caught this problem more easily. Also did some desirable drive-by fixes to clarify documentation and to factor the resulting code. The TC sets up a situation where we require a chunk to be created and then destroyed in the 'else' arm of the 'if', at the same time as the fixed amount of stack is not a multiple of ChunkSize. Differential Revision: https://phabricator.services.mozilla.com/D19470
7b01a3234d6911eeb3a854106ecdb585b48fc9fc: Bug 1520931 - Remove nestedShell() testing function (r=bbouvier)
Luke Wagner <luke@mozilla.com> - Mon, 11 Feb 2019 11:43:00 -0600 - rev 516426
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1520931 - Remove nestedShell() testing function (r=bbouvier)
94cf160df1de8e168671f872f6fee08b9d6ce121: Bug 1520931 - Remove asm.js cache hooks JS API (r=bbouvier)
Luke Wagner <luke@mozilla.com> - Mon, 11 Feb 2019 11:41:57 -0600 - rev 516425
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1520931 - Remove asm.js cache hooks JS API (r=bbouvier)
d7989f40291e2d1551e4e86c611e9b5cde008da5: Bug 1522298 - ARM64: Ensure that the emulated stack pointer is restored when returning from WASM. r=bbouvier,sstangl
Nicolas B. Pierron <nicolas.b.pierron@nbp.name> - Mon, 11 Feb 2019 13:07:15 +0000 - rev 516359
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1522298 - ARM64: Ensure that the emulated stack pointer is restored when returning from WASM. r=bbouvier,sstangl Differential Revision: https://phabricator.services.mozilla.com/D19185
5d720cbe1187b8ef658ab5098fdaf9f36e532504: Bug 1521939 - Correct the offset for reading stack args on ARM64. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Thu, 07 Feb 2019 11:12:06 +0100 - rev 516172
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1521939 - Correct the offset for reading stack args on ARM64. r=bbouvier In the optimized stub, we forgot to account for the frameAlignExtra word when computing the offset from the SP at which stack args are read. The test case finds the problem on the ARM64 simulator, and does not need any special parameters, just to run long enough for a JS JIT to kick in. Also a drive-by fix for an incorrect NaN canonicalization along the non-toValue path, cf the Double case right above it. This code changed recently when I introduced the ScratchFloat32Scope, but the bug predates that. Differential Revision: https://phabricator.services.mozilla.com/D18942
cf80e6400e94f8c75681c897df19b17872447c50: Bug 1524256 - Remove two copies of wast.js; r=bbouvier
Ms2ger <Ms2ger@igalia.com> - Thu, 31 Jan 2019 14:51:04 +0100 - rev 514124
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1524256 - Remove two copies of wast.js; r=bbouvier
4e252aec24d866bc6ad408c05e8cea9d82b06be5: Bug 1532851 - Unbreak BSDs build on powerpc64 after bug 1462566. r=bbouvier a=lizzard
Jan Beich <jbeich@FreeBSD.org> - Wed, 06 Mar 2019 02:35:04 +0000 - rev 513409
Push 10838 by ccoroiu@mozilla.com at Thu, 07 Mar 2019 00:22:54 +0000
Bug 1532851 - Unbreak BSDs build on powerpc64 after bug 1462566. r=bbouvier a=lizzard Define R32_sig, R01_sig based on: https://github.com/openbsd/src/blob/master/sys/arch/powerpc/include/signal.h https://github.com/netbsd/src/blob/trunk/sys/arch/powerpc/include/mcontext.h https://github.com/freebsd/freebsd/blob/master/sys/powerpc/include/ucontext.h
dd3195cc539c4f909b12327443ea0ed6e5c0fcfe: Bug 1521939 - Correct the offset for reading stack args on ARM64 (for mozilla-beta). r=bbouvier a=lizzard
Lars T Hansen <lhansen@mozilla.com> - Thu, 28 Feb 2019 08:09:36 +0100 - rev 513337
Push 10809 by archaeopteryx@coole-files.de at Fri, 01 Mar 2019 21:06:00 +0000
Bug 1521939 - Correct the offset for reading stack args on ARM64 (for mozilla-beta). r=bbouvier a=lizzard
e886d8a7a57bd08d1ca8b72d67c168c858fc035b: Bug 1529349 - Baldr: detect invalid section before code section during streaming compilation r=bbouvier a=lizzard
Luke Wagner <luke@mozilla.com> - Fri, 22 Feb 2019 09:35:19 -0600 - rev 513279
Push 10789 by rmaries@mozilla.com at Wed, 27 Feb 2019 20:23:22 +0000
Bug 1529349 - Baldr: detect invalid section before code section during streaming compilation r=bbouvier a=lizzard
26383c993190b7ba1b9360771efe404025ae01ad: Bug 1526579 - Rabaldr arm64 stack alignment fix. r=bbouvier, a=lizzard
Lars T Hansen <lhansen@mozilla.com> - Tue, 12 Feb 2019 10:39:23 +0100 - rev 513163
Push 10741 by ryanvm@gmail.com at Wed, 20 Feb 2019 23:45:30 +0000
Bug 1526579 - Rabaldr arm64 stack alignment fix. r=bbouvier, a=lizzard Problem: When a stack chunk had to be popped as part of a control flow instruction, the amount to pop was not always computed as a multiple of ChunkSize. The reason is that the fixed amount of stack that should not be popped isn't necessarily a multiple of ChunkSize, yet this was assumed. A small adjustment to the calculation fixes that. Also added an assertion that would have caught this problem more easily. Also did some desirable drive-by fixes to clarify documentation and to factor the resulting code. The TC sets up a situation where we require a chunk to be created and then destroyed in the 'else' arm of the 'if', at the same time as the fixed amount of stack is not a multiple of ChunkSize. Differential Revision: https://phabricator.services.mozilla.com/D19470
5653b13f5b382b08a020bafa8f9b32b1551579b0: Bug 1522499 - Allow normal OOM in gc/bug-1214781.js. r=bbouvier
Tooru Fujisawa <arai_a@mac.com> - Thu, 24 Jan 2019 16:03:47 +0000 - rev 512411
Push 10566 by archaeopteryx@coole-files.de at Mon, 28 Jan 2019 12:41:12 +0000
Bug 1522499 - Allow normal OOM in gc/bug-1214781.js. r=bbouvier Differential Revision: https://phabricator.services.mozilla.com/D17517
7543b4c2813c76e1e2a3cc70fea991e725654877: Bug 1515917 - Generalize testing for wasm GC availability. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Fri, 21 Dec 2018 12:41:52 +0100 - rev 510511
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1515917 - Generalize testing for wasm GC availability. r=bbouvier Generalize the testing of GC availability so that it more accurately reflects whether GC support is actually available, this is a complicated predicate at present. (This was motivated by an attempt to generalize the testing directives, but that generalization does not land yet because it has some obscure effects that need to be addressed first.) The generalization sets us up for splitting apart the code and test cases for the "reftypes" and "gctypes" proposals in a subsequent patch.
676b002d0640f8bc91806f65043f5bdf28f93556: Bug 1511429 - Run a test only if no JS jit compilation. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Thu, 03 Jan 2019 13:42:41 +0100 - rev 510347
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1511429 - Run a test only if no JS jit compilation. r=bbouvier We're looking for a specific stack layout here and we'll not run the test if there are jits that may upset the stack. (The alternative would be to add more stack candidates but since we're really only interested in testing write wasm barrier functionality that's not necessary.)
0d11eb20a6af24bb4d332cbbc7bacc4d6cebcc36: Bug 1508665 - Split BaseStackFrame to simplify it. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Mon, 26 Nov 2018 15:15:59 +0100 - rev 505594
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1508665 - Split BaseStackFrame to simplify it. r=bbouvier BaseStackFrame is split into two parts: - BaseStackFrameAllocator is now responsible for dealing with stack allocation and deallocation in all complex cases (which means everything except for the simple native masm.Push and masm.Pop cases). - What's left of BaseStackFrame is then a simple-to-use API for the rest of the compiler that maintains and checks invariants and does various kinds of bookkeeping and hides the remaining differences between the chunky and non-chunky stacks. The latter class inherits from the former because this is simplest (and it's easy to accomplish with 'protected'). There are a couple of minor functional changes here: - The variable maxFramePushed_ now actually records the maximum value of masm.framePushed, not the maximum stack height. The new behavior is correct even with the chunky stack, since this value is used for stack overflow checking. There should however be no observable changes because of this. (Trivial reason: only ARM64 is affected and we have no ARM64 products. Deeper reason: stacks are aligned at coarser boundaries than our stack chunks, and have lots of headroom.) - Member variables tracking the stack height are now set up in a new method, onFixedStackAllocated(), which is called after beginFunction() has allocated the space for the Header and Local areas of the frame. The old behavior was correct but very obscure. The new code is easier to understand.
3d330442ef3b3beddb0e71a95573e5cce49207dc: Bug 1507819 - Update to Cranelift 0.25. r=bbouvier
Dan Gohman <sunfish@mozilla.com> - Tue, 27 Nov 2018 00:06:00 +0200 - rev 504839
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1507819 - Update to Cranelift 0.25. r=bbouvier
45b378c260d9308b6b067e42da3412961d431128: Bug 1507785 - Use logical, not physical, frame size at block exit. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Mon, 19 Nov 2018 09:45:32 +0100 - rev 504407
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1507785 - Use logical, not physical, frame size at block exit. r=bbouvier Background: When we branch out of a block we must adjust the physical stack pointer along the edge so that it will be equal to the physical stack pointer as it is when we fall out of the block at the bottom. But along the edge we do not do anything to adjust the logical stack pointer, because the logical stack pointer is determined by the non-branching path through the code. But when we fall out of a block we must adjust both the physical and the logical stack pointers: the logical stack pointer may need to pop a few items to get to where it was on entry to the block (the stack can be higher because of pushes followed by an UNREACHABLE), and if the code is not dead we may also have to deallocate some stack memory by changing the physical stack pointer. Previously, we used values for the physical stack pointers as guards on the block-exit code, but this is WRONG since it prevents us from doing something when the physical stack pointer does not change, as the case is on ARM64 when we do need to pop something logically but the stack stays within the currently allocated chunk - we would end up doing nothing when we should adjust the logical stack pointer. Instead, we should use the logical stack pointers for the guard, and then popChunkyBytes will take care of translating the difference in logical pointers for us so that a chunk is popped if that is required by the amount of deallocation. To catch these errors earlier we add an assertion on the logical stack frame size that is tested for every instruction we compile. The test case is reduced from the fuzzing test that found the bug.
31a42178a876106cc4cce885b94afef0275d89c7: Bug 1507944 - Baldr: ensure signal handlers in asm.js instantiation (r=bbouvier)
Luke Wagner <luke@mozilla.com> - Mon, 19 Nov 2018 14:43:56 -0600 - rev 503768
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1507944 - Baldr: ensure signal handlers in asm.js instantiation (r=bbouvier)
5931ccb19e50e7e40e53173b8caa4403c9b35b8e: Bug 1506352 - Add a --log-wptreport option to jstests; r=bbouvier,jgraham
Ms2ger <Ms2ger@igalia.com> - Tue, 20 Nov 2018 14:00:23 +0100 - rev 503694
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1506352 - Add a --log-wptreport option to jstests; r=bbouvier,jgraham
6875c54fd481eeb715a96474b5babb2734423d04: Bug 1497898 - Update jstests.py wpt integration for manifest optimisations, r=bbouvier,Ms2ger
James Graham <james@hoppipolla.co.uk> - Fri, 16 Nov 2018 17:59:03 +0000 - rev 503260
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1497898 - Update jstests.py wpt integration for manifest optimisations, r=bbouvier,Ms2ger Depends on D10743 Differential Revision: https://phabricator.services.mozilla.com/D11668
32aa5695f2ca06124214d447fda352709ea2736c: Bug 1505474 - Use downloaded manifest for wpt in jsshell, r=bbouvier,Ms2ger
James Graham <james@hoppipolla.co.uk> - Fri, 16 Nov 2018 15:23:21 +0000 - rev 503246
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1505474 - Use downloaded manifest for wpt in jsshell, r=bbouvier,Ms2ger web-platform-tests gets its test list from a manifest file that's generated from the content of the tests. Unfortunately generating this manifest is slow, so it's unreasonable to create it from scratch for every test run. Until recently the generated manifest was kept in-tree, which was suboptimal in a few ways: * The manifest tended to get out of sync with the actual source * The large json file caused problems for tooling including source control and the review frontends. We previously switched `mach wpt` to download a manifest on demand and apply an incremental update. However this work missed the usage in jstests.py. This continued to use the increasing outdated in-tree manifest, which causes a number of problems * It doesn't have an up-to-date list of tests * It blocks removing that file * It blocks landing various optimisations to make updating the manifest faster. This patch fixes jstests.py to use a downloaded manifest. Unlike the tests run through a mach frontend jstests.py doesn't know where the objdir is, so it's hard to work out where to download the manifest. This patch adopts a heuristic approach; if the path to the jsshell looks like <root>/dist/bin and <root>/_tests exists, we assume it's a gecko-like objdir and use <root>/_tests/web-platform/ for the manifest; otherwise we just put it into the system tempdir. Because the manifest has to be updated on startup, this patch causes a startup time regression, but this will be considerably reduced by the work in Bug 1497898 for which this is a prerequisite. Differential Revision: https://phabricator.services.mozilla.com/D11667
7154eb3601f3b89ef5b8e559c9f2bae57f6d59f3: Bug 1507314 - Baldr: correctly propagate shell flags to nested testig process on Windows (r=bbouvier)
Luke Wagner <luke@mozilla.com> - Fri, 16 Nov 2018 12:03:51 -0600 - rev 503213
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1507314 - Baldr: correctly propagate shell flags to nested testig process on Windows (r=bbouvier)
fc0bc3b27660a2dcf0be70ad2e2dabd400f307aa: Bug 1507572 - correctly implement unaligned stores of i64 sub-fields. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Fri, 16 Nov 2018 09:39:26 +0100 - rev 503200
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1507572 - correctly implement unaligned stores of i64 sub-fields. r=bbouvier Fixes Rabaldr by adding code to the ARM assembler to deal with unaligned 16- and 32-bit stores from a 64-bit datum. Fixes Baldr by dispatching on the value type (as we do everywhere else), not the access type, and then relying on the just-fixed assembler to do the right thing.
f970d9b9b00c57bef40a51639390a0b2d4c1502e: Bug 1507572 - Generalize alignments for memory ops testing. r=bbouvier
Lars T Hansen <lhansen@mozilla.com> - Fri, 16 Nov 2018 10:47:36 +0100 - rev 503199
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1507572 - Generalize alignments for memory ops testing. r=bbouvier These test cases already had some infrastructure for parameterizing over alignment, it just wasn't being used. Once enabled it stubles across the ARM bugs quickly.
cbe3c9df4f9c62a27e3c91751846d17a2c4265be: Bug 1505271 - Baldr: only create one wasm exception handler thread per process, and lazily (r=bbouvier)
Luke Wagner <luke@mozilla.com> - Fri, 09 Nov 2018 09:44:33 -0600 - rev 502403
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1505271 - Baldr: only create one wasm exception handler thread per process, and lazily (r=bbouvier)
5e300fa7763de6a1ce4b210e222645276163f690: Bug 1505271 - Baldr: find the JSContext via fp in the signal handler (r=bbouvier)
Luke Wagner <luke@mozilla.com> - Fri, 09 Nov 2018 09:44:27 -0600 - rev 502402
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1505271 - Baldr: find the JSContext via fp in the signal handler (r=bbouvier)