searching for reviewer(nbp)
dbd28ea2e13c17d9566a8a95370b87a6d3341e71: Bug 1544792 - Abort on try-catch blocks when doing definite properties analysis. r=nbp, a=pascalc
Jan de Mooij <jdemooij@mozilla.com> - Thu, 02 May 2019 17:51:24 +0000 - rev 526482
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1544792 - Abort on try-catch blocks when doing definite properties analysis. r=nbp, a=pascalc Ion does not compile the catch block so the analysis fails to account for code there. Differential Revision: https://phabricator.services.mozilla.com/D29475
31a6f6acd33fe33e331688cdf7c5ac490e4aa122: Bug 1538083 - Fix -0 handling in ARM64 visitTrunc(). r=nbp a=lizzard
Sean Stangl <sean.stangl@gmail.com> - Thu, 11 Apr 2019 22:34:46 +0000 - rev 526186
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1538083 - Fix -0 handling in ARM64 visitTrunc(). r=nbp a=lizzard The existing truncation code did not correctly handle the case of negative zero. The fix is to avoid using FCMP floating-point comparisons, and check the sign bit explicitly in a GPR. Differential Revision: https://phabricator.services.mozilla.com/D26381
b6fdd2540f52de0279a2bd14e7e52736530c987b: Bug 1382650 part 8 - Add a JitOption to disable use of Ion optimization levels. r=nbp a=pascalc DEVEDITION_67_0b9_BUILD1 DEVEDITION_67_0b9_RELEASE FENNEC_67_0b9_BUILD1 FENNEC_67_0b9_RELEASE FIREFOX_67_0b9_BUILD1 FIREFOX_67_0b9_RELEASE
Jan de Mooij <jdemooij@mozilla.com> - Tue, 02 Apr 2019 12:34:09 +0000 - rev 526044
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 8 - Add a JitOption to disable use of Ion optimization levels. r=nbp a=pascalc We might uplift these patches to beta. Having a JitOption makes it easier to turn this off if needed. Differential Revision: https://phabricator.services.mozilla.com/D25754
2782ec026e7956b640b250e0cacb43c7f72e0a7a: Bug 1382650 part 7 - Use a separate Ion optimization level for very hot code. r=nbp a=pascalc
Jan de Mooij <jdemooij@mozilla.com> - Thu, 28 Mar 2019 07:35:40 +0000 - rev 526043
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 7 - Use a separate Ion optimization level for very hot code. r=nbp a=pascalc Ion can do aggressive inlining, but inlining a lot of code has a negative effect on compilation time and memory usage. It also means we spend more time in the slower Baseline code while compiling the Ion code off-thread or after an invalidation. To address this, Ion now consists of two tiers: * Normal: the first tier (warm-up threshold of 1,000) only inlines small functions one level deep. This tier also has recompile checks to recompile the script when it becomes very hot. * Full: the second tier (warm-up threshold of 100,000) is only used for very hot code so we can afford inlining a lot more code. This improves Speedometer and GDocs by more than 5%. Differential Revision: https://phabricator.services.mozilla.com/D24159
e896facf3e28c0389d3941d1947181afba0fd49d: Bug 1382650 part 6 - Fix ARM64 implementation of branch32(AbsoluteAddress, Imm32). r=nbp a=pascalc
Jan de Mooij <jdemooij@mozilla.com> - Wed, 27 Mar 2019 18:58:27 +0000 - rev 526042
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 6 - Fix ARM64 implementation of branch32(AbsoluteAddress, Imm32). r=nbp a=pascalc The old code would assert because we needed too many scratch registers, but it was dead code until this patch. Differential Revision: https://phabricator.services.mozilla.com/D24158
adcc63bfb4dc36fc8b2ff3571430ef18a78f7ff2: Bug 1382650 part 5 - Calculate OSR warm-up threshold difference based on the warm-up threshold instead of hard-coding 100. r=nbp a=pascalc
Jan de Mooij <jdemooij@mozilla.com> - Wed, 27 Mar 2019 18:58:13 +0000 - rev 526041
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 5 - Calculate OSR warm-up threshold difference based on the warm-up threshold instead of hard-coding 100. r=nbp a=pascalc We want this to be more than 100 for the full-optimizations tier. Making this relative also works better for tests that set a small Ion warm-up threshold. Also disables OSR in some tests depending on the old behavior. Differential Revision: https://phabricator.services.mozilla.com/D24157
d4a898d579ec1f10696774f3678ad97db02b0ae4: Bug 1382650 part 4 - Split Ion warmup threshold JitOption in 'normal' and 'full' options. r=nbp a=pascalc
Jan de Mooij <jdemooij@mozilla.com> - Wed, 27 Mar 2019 18:57:58 +0000 - rev 526040
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 4 - Split Ion warmup threshold JitOption in 'normal' and 'full' options. r=nbp a=pascalc Also adds a javascript.options.ion.full.threshold browser pref and similar shell flags. This doesn't rename the existing prefs yet. Differential Revision: https://phabricator.services.mozilla.com/D24156
7d87558da81f21659d5ba11df5564142f88e4703: Bug 1382650 part 3 - Clean up Ion eager compilation code. r=nbp a=pascalc
Jan de Mooij <jdemooij@mozilla.com> - Wed, 27 Mar 2019 12:18:59 +0000 - rev 526039
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 3 - Clean up Ion eager compilation code. r=nbp a=pascalc There's a lot of complexity around setting/unsetting the eagerCompilation flag. It's simpler to determine this based on the warm-up threshold being 0. The patch also fixes some jit-tests where this patch would result in a change in behavior. Differential Revision: https://phabricator.services.mozilla.com/D24155
2e6bccd461f45dc46e328e2ad0254df2faa20736: Bug 1382650 part 2 - Store Ion warmup threshold only in JitOptions. r=nbp a=pascalc
Jan de Mooij <jdemooij@mozilla.com> - Wed, 27 Mar 2019 12:30:10 +0000 - rev 526038
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 2 - Store Ion warmup threshold only in JitOptions. r=nbp a=pascalc Storing this also in IonOptimizationLevels.h/cpp is more complicated than necessary. Differential Revision: https://phabricator.services.mozilla.com/D24154
2f6ee802781a28f8e41c905da2d0f5d7ca3e1380: Bug 1382650 part 1 - Remove separate Ion warmup threshold for small functions, as it's equivalent to the normal one. r=nbp a=pascalc
Jan de Mooij <jdemooij@mozilla.com> - Wed, 27 Mar 2019 12:18:22 +0000 - rev 526037
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 1 - Remove separate Ion warmup threshold for small functions, as it's equivalent to the normal one. r=nbp a=pascalc We used to have a different threshold for small functions but now they're both set to 1000 so there's no need to special-case small functions. Differential Revision: https://phabricator.services.mozilla.com/D24153
44f1f623790f6cb9a53a461ddd56fe9f2b3eaff4: Bug 1536220 - Enable IonMonkey on ARM64 in-browser. r=nbp a=pascalc
Narcis Beleuzu <nbeleuzu@mozilla.com> - Sun, 07 Apr 2019 16:53:58 +0300 - rev 526005
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1536220 - Enable IonMonkey on ARM64 in-browser. r=nbp a=pascalc Summary: Enable IonMonkey on ARM64 in-browser. Test Plan: treeherder Reviewers: nbp Reviewed By: nbp Subscribers: jandem Bug #: 1536220 Differential Revision: https://phabricator.services.mozilla.com/D23929
353c9e1559f09f75eafcb6f7897b21a75777e64a: Bug 1382650 part 8 - Add a JitOption to disable use of Ion optimization levels. r=nbp a=pascalc
Jan de Mooij <jdemooij@mozilla.com> - Sun, 07 Apr 2019 16:43:19 +0300 - rev 526001
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 8 - Add a JitOption to disable use of Ion optimization levels. r=nbp a=pascalc Summary: We might uplift these patches to beta. Having a JitOption makes it easier to turn this off if needed. Reviewers: nbp Reviewed By: nbp Bug #: 1382650 Differential Revision: https://phabricator.services.mozilla.com/D25754
dfde2a76520d0f0539a4ee1b377c34f5d410d9a3: Bug 1382650 part 7 - Use a separate Ion optimization level for very hot code. r=nbp a=pascalc
Narcis Beleuzu <nbeleuzu@mozilla.com> - Sun, 07 Apr 2019 16:42:01 +0300 - rev 526000
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 7 - Use a separate Ion optimization level for very hot code. r=nbp a=pascalc Summary: Ion can do aggressive inlining, but inlining a lot of code has a negative effect on compilation time and memory usage. It also means we spend more time in the slower Baseline code while compiling the Ion code off-thread or after an invalidation. To address this, Ion now consists of two tiers: * Normal: the first tier (warm-up threshold of 1,000) only inlines small functions one level deep. This tier also has recompile checks to recompile the script when it becomes very hot. * Full: the second tier (warm-up threshold of 100,000) is only used for very hot code so we can afford inlining a lot more code. This improves Speedometer and GDocs by more than 5%. Reviewers: nbp Reviewed By: nbp Bug #: 1382650 Differential Revision: https://phabricator.services.mozilla.com/D24159
e099b8601dc77a26fbaaf6cfef7254cb4a9d5247: Bug 1382650 part 6 - Fix ARM64 implementation of branch32(AbsoluteAddress, Imm32). r=nbp a=pascalc
Narcis Beleuzu <nbeleuzu@mozilla.com> - Sun, 07 Apr 2019 16:41:00 +0300 - rev 525999
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 6 - Fix ARM64 implementation of branch32(AbsoluteAddress, Imm32). r=nbp a=pascalc Summary: The old code would assert because we needed too many scratch registers, but it was dead code until this patch. Reviewers: nbp Reviewed By: nbp Bug #: 1382650 Differential Revision: https://phabricator.services.mozilla.com/D24158
0e0e954b3cdc98870700da9e8d76b2f5b142fdb0: Bug 1382650 part 5 - Calculate OSR warm-up threshold difference based on the warm-up threshold instead of hard-coding 100. r=nbp a=pascalc
Narcis Beleuzu <nbeleuzu@mozilla.com> - Sun, 07 Apr 2019 16:40:12 +0300 - rev 525998
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 5 - Calculate OSR warm-up threshold difference based on the warm-up threshold instead of hard-coding 100. r=nbp a=pascalc Summary: We want this to be more than 100 for the full-optimizations tier. Making this relative also works better for tests that set a small Ion warm-up threshold. Also disables OSR in some tests depending on the old behavior. Reviewers: nbp Reviewed By: nbp Bug #: 1382650 Differential Revision: https://phabricator.services.mozilla.com/D24157
9d3bcd768496b23e1423f41a15e78e6d35ff1ff6: Bug 1382650 part 4 - Split Ion warmup threshold JitOption in 'normal' and 'full' options. r=nbp a=pascalc
Narcis Beleuzu <nbeleuzu@mozilla.com> - Sun, 07 Apr 2019 16:39:22 +0300 - rev 525997
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 4 - Split Ion warmup threshold JitOption in 'normal' and 'full' options. r=nbp a=pascalc Summary: Also adds a javascript.options.ion.full.threshold browser pref and similar shell flags. This doesn't rename the existing prefs yet. Reviewers: nbp Reviewed By: nbp Bug #: 1382650 Differential Revision: https://phabricator.services.mozilla.com/D24156
a0419e61efcd9bc2b2a8f1a7d8f40ad2cc55fe94: Bug 1382650 part 3 - Clean up Ion eager compilation code. r=nbp a=pascalc
Narcis Beleuzu <nbeleuzu@mozilla.com> - Sun, 07 Apr 2019 16:38:00 +0300 - rev 525996
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 3 - Clean up Ion eager compilation code. r=nbp a=pascalc Summary: There's a lot of complexity around setting/unsetting the eagerCompilation flag. It's simpler to determine this based on the warm-up threshold being 0. The patch also fixes some jit-tests where this patch would result in a change in behavior. Reviewers: nbp Reviewed By: nbp Subscribers: reviewbot Bug #: 1382650 Differential Revision: https://phabricator.services.mozilla.com/D24155
02cdde2f8dbd674f0ec37b666be214f883bf27e7: Bug 1382650 part 2 - Store Ion warmup threshold only in JitOptions. r=nbp a=pascalc
Narcis Beleuzu <nbeleuzu@mozilla.com> - Sun, 07 Apr 2019 16:37:06 +0300 - rev 525995
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 2 - Store Ion warmup threshold only in JitOptions. r=nbp a=pascalc Summary: Storing this also in IonOptimizationLevels.h/cpp is more complicated than necessary. Reviewers: nbp Reviewed By: nbp Bug #: 1382650 Differential Revision: https://phabricator.services.mozilla.com/D24154
7feb497c2ffe0d7a4c7b695fd1e2b423fb6e0b5c: Bug 1382650 part 1 - Remove separate Ion warmup threshold for small functions, as it's equivalent to the normal one. r=nbp a=pascalc
Narcis Beleuzu <nbeleuzu@mozilla.com> - Sun, 07 Apr 2019 16:36:08 +0300 - rev 525994
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1382650 part 1 - Remove separate Ion warmup threshold for small functions, as it's equivalent to the normal one. r=nbp a=pascalc Summary: We used to have a different threshold for small functions but now they're both set to 1000 so there's no need to special-case small functions. Reviewers: nbp Reviewed By: nbp Bug #: 1382650 Differential Revision: https://phabricator.services.mozilla.com/D24153
0f095fa12e03248e1e1eef9e1f6a3624ff103887: Bug 1533295 - Ignore basic/testTypedArrayInit.js in ARM64 Simulator. r=nbp, a=test-only
Sean Stangl <sean.stangl@gmail.com> - Fri, 29 Mar 2019 16:06:03 +0000 - rev 525862
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1533295 - Ignore basic/testTypedArrayInit.js in ARM64 Simulator. r=nbp, a=test-only The ARM64 Simulator can take upwards of 6 minutes to execute this test, causing intermittent timeouts. Differential Revision: https://phabricator.services.mozilla.com/D25391
3aa21d7302e79b1e9324ea4933c719f200de2ab1: Bug 1530937 part 17 - Remove now unused VMFunction code. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Tue, 12 Mar 2019 14:47:50 +0000 - rev 524565
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530937 part 17 - Remove now unused VMFunction code. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D23137
7b85bf9c5210e5679fa6cfad92466a6e2ba30232: Bug 1533969 - Fix build error with newer glibc. r=nbp
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 11 Mar 2019 19:28:37 +0000 - rev 524419
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1533969 - Fix build error with newer glibc. r=nbp New glibc versions provide a wrapper for gettid, which means that our stuff fails to build with: ``` /home/emilio/src/moz/gecko/js/src/util/NativeStack.cpp:28:14: error: static declaration of 'gettid' follows non-static declaration static pid_t gettid() { return syscall(__NR_gettid); } ^ /usr/include/bits/unistd_ext.h:34:16: note: previous declaration is here extern __pid_t gettid (void) __THROW; ``` Differential Revision: https://phabricator.services.mozilla.com/D22829
16b947cb279ad6a8b3232d6ca78405211e66828e: Bug 1530937 part 13 - Convert Ion oolCallVMs and remove old CodeGenerator callVM overload. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Mon, 11 Mar 2019 13:30:29 +0000 - rev 524406
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530937 part 13 - Convert Ion oolCallVMs and remove old CodeGenerator callVM overload. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D22946
5734a9a9153133cd366f75742cc958ce205a8b5d: Bug 1530937 part 10 - Convert more callVMs in CodeGenerator.cpp. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Thu, 07 Mar 2019 17:49:04 +0000 - rev 524004
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530937 part 10 - Convert more callVMs in CodeGenerator.cpp. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D22523
afb2e1e1665f03d83fd217cd953b4759ca3747cb: Bug 1528869 - Enable IonMonkey in the ARM64 shell, but keep it disabled in the browser. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Thu, 07 Mar 2019 03:57:23 +0000 - rev 523693
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1528869 - Enable IonMonkey in the ARM64 shell, but keep it disabled in the browser. r=nbp Enable IonMonkey in the ARM64 shell, but keep it disabled in the browser. Differential Revision: https://phabricator.services.mozilla.com/D20243
73efd5f3bfff6227a6a37da9f9a4aa3ab7e126cf: Bug 1530937 part 8 - Convert some Ion callVMs that already exist in VMFunctionList-inl.h. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Wed, 06 Mar 2019 15:56:21 +0000 - rev 523514
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530937 part 8 - Convert some Ion callVMs that already exist in VMFunctionList-inl.h. r=nbp Depends on D22278 Differential Revision: https://phabricator.services.mozilla.com/D22279
529da09b7f7e2165081e4a885e056bb2f974c1df: Bug 1530937 part 7 - Move callVM and oolCallVM methods from CodeGeneratorShared to CodeGenerator. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Wed, 06 Mar 2019 15:56:21 +0000 - rev 523513
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530937 part 7 - Move callVM and oolCallVM methods from CodeGeneratorShared to CodeGenerator. r=nbp They're only used in CodeGenerator.cpp so we can now move some of the helper classes and templates from the header file to the cpp file. Differential Revision: https://phabricator.services.mozilla.com/D22278
b2fb7cd41c796eabae8e4310aa34ea23ef858714: Bug 1528869 - Enable IonMonkey in the ARM64 shell, but keep it disabled in the browser. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Wed, 06 Mar 2019 04:40:51 +0000 - rev 523426
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1528869 - Enable IonMonkey in the ARM64 shell, but keep it disabled in the browser. r=nbp Enable IonMonkey in the ARM64 shell, but keep it disabled in the browser. Differential Revision: https://phabricator.services.mozilla.com/D20243
af0ecb4e1e695590b0dcd96cae7afa631912c046: Bug 1529034 - Just punt on auto-regress/bug1263857.js. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Tue, 05 Mar 2019 14:41:40 +0000 - rev 523256
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1529034 - Just punt on auto-regress/bug1263857.js. r=nbp Disable auto-regress/bug1263857.js, leaving it for follow-up work. Differential Revision: https://phabricator.services.mozilla.com/D22047
4e8b8c1e0d19cf0c5bba05fd3df46254d5d68ab9: Bug 1530937 part 6 - Convert remaining callVMs in BaselineCompiler.cpp. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Tue, 05 Mar 2019 13:47:36 +0000 - rev 523249
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530937 part 6 - Convert remaining callVMs in BaselineCompiler.cpp. r=nbp Also removes the old callVM overload so new code in BaselineCompiler must use the new mechanism. Differential Revision: https://phabricator.services.mozilla.com/D22059
a70132c4c444ca959970fbc9bd6674d04c9586e4: Bug 1530937 part 5 - Convert more callVMs in BaselineCompiler. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Tue, 05 Mar 2019 11:22:46 +0000 - rev 523248
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530937 part 5 - Convert more callVMs in BaselineCompiler. r=nbp We had multiple overloads for js::Throw so I renamed the one we call here for JSOP_THROW to js::ThrowOperation. Differential Revision: https://phabricator.services.mozilla.com/D22058
77b7364aabec18d52b6f520c14ef4ec21c614600: Bug 1530937 part 4 - Move pointer to C++ function out of VMFunctionData. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Mon, 04 Mar 2019 14:40:45 +0000 - rev 523104
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530937 part 4 - Move pointer to C++ function out of VMFunctionData. r=nbp GCC 8.2/8.3 doesn't like the (void*) trick in (some) constexpr contexts because it treats it like a reinterpret_cast (which isn't allowed in constexpr). This patch moves the function pointers into a separate const array so that VMFunctionData can stay constexpr and relies on compilers being smart enough to treat the function-pointer-array as constexpr. Differential Revision: https://phabricator.services.mozilla.com/D21922
673976e3f52e343996b2d4da4e2988bb2f6c5e82: Bug 1529400 - Summary: Disable ARM64 atomics tests in-simulator: the simulator lacks atomics emulation. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Thu, 28 Feb 2019 14:45:20 +0000 - rev 522630
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1529400 - Summary: Disable ARM64 atomics tests in-simulator: the simulator lacks atomics emulation. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D20576
756272e36e32264332e6b95aa804b69581295c7e: Bug 1530937 part 2 - Add new VMFunction mechanism and use it for some Baseline callVMs. r=nbp,tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Thu, 28 Feb 2019 12:31:01 +0000 - rev 522597
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530937 part 2 - Add new VMFunction mechanism and use it for some Baseline callVMs. r=nbp,tcampbell We are doing this to: 1) Eliminate (hundreds of) static constructors. These account for a significant fraction of all remaining static constructors in Gecko. 2) Use constexpr for VMFunction data. This was not possible with the linked list but the new design stores all data in a constexpr array. This will save a few KB per process. 3) Make it easier to define a new VMFunction. 4) Coalesce duplicate VMFunction copies in Baseline/Ion/ICs. 5) Get rid of the (read-only) HashMap for the VMFunction => code lookup. We can use a Vector instead. 6) Make it easier in the future to generate the wrappers at compile time. This patch will let us incrementally convert the remaining VM functions. The only thing not handled by this patch is support for the TailCall and extraValuesToPop fields. We can do this when we convert the Baseline IC code that uses these fields. Once all VM functions have been converted we can remove and simplify more code. Differential Revision: https://phabricator.services.mozilla.com/D21332
d629f7abeca07b44babffed909a38120fe24aceb: Bug 1530937 part 1 - Remove FunctionInfo Context template parameter. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Thu, 28 Feb 2019 09:37:36 +0000 - rev 522596
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530937 part 1 - Remove FunctionInfo Context template parameter. r=nbp This was useful when we had ExclusiveContext and PJS ThreadSafeContext but now we only use JSContext* so it's simpler to just use that. Differential Revision: https://phabricator.services.mozilla.com/D21331
5580674b0d5fb1fe26d9d47b56f49e8e28635804: Bug 1530031 - Summary: Allow ARM64 Simulator to return a different error message. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Wed, 27 Feb 2019 10:52:42 +0000 - rev 522369
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530031 - Summary: Allow ARM64 Simulator to return a different error message. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D21288
1d7d1c75a9a561b3356f0ad8183f6d6759728200: Bug 1530484: Rewrite DeadIfUnused to clarify conditions r=nbp
Matthew Gaudet <mgaudet@mozilla.com> - Tue, 26 Feb 2019 20:26:58 +0000 - rev 522130
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530484: Rewrite DeadIfUnused to clarify conditions r=nbp Differential Revision: https://phabricator.services.mozilla.com/D21057
9fe57a98497d82eaf129fe52c2759b7b9faa5c5b: Bug 1516644 - MBasicBlock::MBasicBlock: guard lineno_ and columnIndex_ initialisations correctly. r=nbp.
Julian Seward <jseward@acm.org> - Mon, 25 Feb 2019 17:29:01 +0100 - rev 521958
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1516644 - MBasicBlock::MBasicBlock: guard lineno_ and columnIndex_ initialisations correctly. r=nbp.
4d9aebc3fabb38f3f19609143e2614bef8828433: Bug 1516644 - MBasicBlock::MBasicBlock: guard lineno_ and columnIndex_ initialisations correctly. r=nbp.
Julian Seward <jseward@acm.org> - Mon, 25 Feb 2019 17:29:01 +0100 - rev 521956
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1516644 - MBasicBlock::MBasicBlock: guard lineno_ and columnIndex_ initialisations correctly. r=nbp.
6795ccfe2b9b04d9f70bc0709e6fbecd4c76ce94: Bug 1473830 - Mark OSR TypeBarriers for Null/Undefined/MagicOptimizedArguments as implicitly used, and don't eliminate them during DCE r=nbp
Matthew Gaudet <mgaudet@mozilla.com> - Thu, 21 Feb 2019 19:07:01 +0000 - rev 521312
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1473830 - Mark OSR TypeBarriers for Null/Undefined/MagicOptimizedArguments as implicitly used, and don't eliminate them during DCE r=nbp Type barriers are marked as Guard instructions, however, in OSR blocks guards are eligible for DCE. However, Null/Undefined/MagicOptimizedArguments have no uses associated with them, and so get optimized out. To prevent that, this patch uses the ImplicitlyUsed flag to indicate to DCE that these barriers are not eligible for elimination. Differential Revision: https://phabricator.services.mozilla.com/D20388
da84c1d96656be58c040f0a008817ffcdf6dc008: Bug 1428158 - Fix static analysis errors in arm64 JIT code. r=nbp
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 20 Feb 2019 19:58:24 +0000 - rev 521004
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1428158 - Fix static analysis errors in arm64 JIT code. r=nbp A few instances of snprintf are replaced with SprintfLiteral, and a implicit constructor is made explicit. Differential Revision: https://phabricator.services.mozilla.com/D20401
6179d66e457f5a7d8da233d1626dc0d703de44e4: Bug 1487113 - Expose nsICacheInfoChannel in Respose object for wasm content-type, r=valentin,nbp
Andrea Marchesini <amarchesini@mozilla.com> - Wed, 20 Feb 2019 10:05:35 +0000 - rev 520922
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1487113 - Expose nsICacheInfoChannel in Respose object for wasm content-type, r=valentin,nbp Differential Revision: https://phabricator.services.mozilla.com/D19823
240f53dcb5e6ed5a770b854be6c242c1bae4d75c: Bug 1528869 - Enable IonMonkey in the ARM64 shell, but keep it disabled in the browser. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Tue, 19 Feb 2019 13:31:33 +0000 - rev 520790
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1528869 - Enable IonMonkey in the ARM64 shell, but keep it disabled in the browser. r=nbp Enable IonMonkey in the ARM64 shell, but keep it disabled in the browser. Differential Revision: https://phabricator.services.mozilla.com/D20243
1e97c3573ce660cdb0b5dcf2f6f67807ac3ec0d7: Bug 1487113 - Expose nsICacheInfoChannel in Respose object for wasm content-type, r=valentin,nbp
Andrea Marchesini <amarchesini@mozilla.com> - Tue, 19 Feb 2019 07:38:03 +0000 - rev 520719
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1487113 - Expose nsICacheInfoChannel in Respose object for wasm content-type, r=valentin,nbp Differential Revision: https://phabricator.services.mozilla.com/D19823
2b3012fa3cbf7fc0246fc79b3e9340ee1b4a2f5a: Bug 1523015 - Summary: Enable Ion on ARM64, but disable in-browser by pref. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Tue, 12 Feb 2019 22:50:27 +0000 - rev 519697
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1523015 - Summary: Enable Ion on ARM64, but disable in-browser by pref. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D19448
1b9f4cb229fa56bae73b902dbf454e27ceaa0dc0: Bug 1523015 - Summary: Enable Ion on ARM64, but disable in-browser by pref. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Tue, 12 Feb 2019 13:02:01 +0000 - rev 519671
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1523015 - Summary: Enable Ion on ARM64, but disable in-browser by pref. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D19448
a1a5d0c3269e5d18c519fe9b79a98ddef9e0ae25: Bug 1526306 - BoxInputsPolicy doesn't need specialization data r=nbp
Andy Wingo <wingo@igalia.com> - Mon, 11 Feb 2019 17:34:30 +0000 - rev 519534
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1526306 - BoxInputsPolicy doesn't need specialization data r=nbp Differential Revision: https://phabricator.services.mozilla.com/D19151
2563d7cfc1d29a7773d5abaa39b056bd28850e29: Bug 1525288 - [jittest] Better handle intermittent adb errors, r=nbp.
Bob Clary <bclary@bclary.com> - Mon, 11 Feb 2019 07:12:19 -0800 - rev 519420
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1525288 - [jittest] Better handle intermittent adb errors, r=nbp. run_test_remote should handle ADBProcessErrors to deal with JavaScript tests which return non-zero exit codes but should not handle ADBError or ADBTimeoutError which are indicative of a logic or device error. run_test_remote should treat ADBProcessErrors due to intermittent adb communication errors as skipped tests to prevent them from being misclassified as actual test failures. run_tests_remote should handle adb errors during device set up and test runs consistently and issue a failure message which is easily triaged.
41ba287d84daace7ab964715e34dab7b3c3e25b5: Bug 1525505 - Fix bug in XDRState::codeCString r=jandem,nbp
Ted Campbell <tcampbell@mozilla.com> - Mon, 11 Feb 2019 14:54:02 +0000 - rev 519386
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1525505 - Fix bug in XDRState::codeCString r=jandem,nbp Sanity check was reading out-of-range value. This caused more XDR decode failures than expected, but non-cache load would recover anyways. With fix, a few more cases will support XDR caching. Differential Revision: https://phabricator.services.mozilla.com/D18873
12ad58f888883c60675245be607fb021b04952bf: Bug 1522249 - ARM64: Pass atomics/basic-tests.js. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Thu, 07 Feb 2019 21:18:13 +0000 - rev 518570
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1522249 - ARM64: Pass atomics/basic-tests.js. r=nbp ARM64: Pass atomics/basic-tests.js. Reuses existing code paths. Differential Revision: https://phabricator.services.mozilla.com/D18278