searching for reviewer(nbp)
5902299b20aa770a8a9d4be38d714bcb16e0a626: Bug 1556571 - Use FJCVTZS for convertDoubleToInt32. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Wed, 05 Jun 2019 09:56:17 +0000 - rev 536616
Push 11522 by ffxbld-merge at Mon, 01 Jul 2019 09:00:55 +0000
Bug 1556571 - Use FJCVTZS for convertDoubleToInt32. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D33576
cfeedb5ec50c4cb8e4007ac4a4030bcae8eb0177: Bug 1555509 - Allow encoding FJCVTZS. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Mon, 03 Jun 2019 20:49:37 +0000 - rev 536319
Push 11522 by ffxbld-merge at Mon, 01 Jul 2019 09:00:55 +0000
Bug 1555509 - Allow encoding FJCVTZS. r=nbp Imports all VIXL machinery necessary to encode FJCVTZS. Differential Revision: https://phabricator.services.mozilla.com/D33090
53f2ffc77a62f878d0bd919dd1437debcd1f4371: Bug 1551339 - Update VIXL to recent Utils and Globals files. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Thu, 23 May 2019 20:26:52 +0000 - rev 534922
Push 11522 by ffxbld-merge at Mon, 01 Jul 2019 09:00:55 +0000
Bug 1551339 - Update VIXL to recent Utils and Globals files. r=nbp This is preliminary work to allowing encoding of JSCVTFP, the instruction that exists on new AArch64 devices that greatly speeds up websites that use floating-point math. Differential Revision: https://phabricator.services.mozilla.com/D30997
cc575aa34c366538f85e98e878e8a062e3cfbb33: Bug 1551140 - Add code coverage instrumentation to Baseline Interpreter. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Wed, 15 May 2019 06:50:13 +0000 - rev 532736
Push 11272 by apavel@mozilla.com at Thu, 16 May 2019 15:28:22 +0000
Bug 1551140 - Add code coverage instrumentation to Baseline Interpreter. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D30877
bfa4ce8a0ef6b464e349f252b1f8e46cbf9bba11: Bug 1551339 - Update VIXL to recent Utils and Globals files. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Tue, 14 May 2019 16:16:20 +0000 - rev 532647
Push 11270 by rgurzau@mozilla.com at Wed, 15 May 2019 15:07:19 +0000
Bug 1551339 - Update VIXL to recent Utils and Globals files. r=nbp This is preliminary work to allowing encoding of JSCVTFP, the instruction that exists on new AArch64 devices that greatly speeds up websites that use floating-point math. Differential Revision: https://phabricator.services.mozilla.com/D30997
6fabc0c9c2cde56f6921056d3e98500f0f7a47e3: Bug 1541404 part 21 - Interpreter DebugTrapHandler changes. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Fri, 10 May 2019 09:54:04 +0000 - rev 532188
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 21 - Interpreter DebugTrapHandler changes. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D29804
dcdecf563747b29b8bd7270937d190e967b3ea50: Bug 1547179 - Remove an assertion that's no longer valid because rt->profilingScripts no longer implies IsLCovEnabled. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Fri, 03 May 2019 12:28:57 +0000 - rev 531463
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1547179 - Remove an assertion that's no longer valid because rt->profilingScripts no longer implies IsLCovEnabled. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D28952
80f03c3dd739ce09d18d06c31cc857ed56307e1f: Bug 1544792 - Abort on try-catch blocks when doing definite properties analysis. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Thu, 02 May 2019 17:51:24 +0000 - rev 531257
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1544792 - Abort on try-catch blocks when doing definite properties analysis. r=nbp Ion does not compile the catch block so the analysis fails to account for code there. Differential Revision: https://phabricator.services.mozilla.com/D29475
af2d798ce6b375492d44d7ed0b4060faad823bb5: Bug 1546594 - Move JitRuntime::generateDebugTrapHandler to shared code. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Thu, 02 May 2019 12:20:40 +0000 - rev 531251
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1546594 - Move JitRuntime::generateDebugTrapHandler to shared code. r=nbp This trampoline isn't performance sensitive so platform-specific optimizations are not worth it. Differential Revision: https://phabricator.services.mozilla.com/D28601
1ac79bd52a1106f850bc78af12c964cba0d3af5c: Bug 1546874 - Propagate OOM status from x86 assembler buffer. r=nbp
Lars T Hansen <lhansen@mozilla.com> - Thu, 25 Apr 2019 14:49:52 +0200 - rev 530262
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1546874 - Propagate OOM status from x86 assembler buffer. r=nbp This copies the mechanism that was introduced for ARM into the x86 code: it uses a flag on the jitcontext, if present, to propagate the OOM flag so that we won't assert in ~Label. Differential Revision: https://phabricator.services.mozilla.com/D28829
24740ab9a7266f84283b2beeebe665edf903f09f: Bug 1546934 - Change LCov code coverage machinery to use a process-wide flag. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Thu, 25 Apr 2019 13:35:55 +0000 - rev 530140
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1546934 - Change LCov code coverage machinery to use a process-wide flag. r=nbp This will simplify the Baseline Interpreter work. Differential Revision: https://phabricator.services.mozilla.com/D28813
f14763229806d9678164e11659cd79674adf9816: Bug 1538083 - Fix -0 handling in ARM64 visitTrunc(). r=nbp
Sean Stangl <sean.stangl@gmail.com> - Thu, 11 Apr 2019 22:34:46 +0000 - rev 527935
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1538083 - Fix -0 handling in ARM64 visitTrunc(). r=nbp 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
c15b9e3615f7f19caeb490599192eb373f9d6480: Bug 1543230 - Move JSScript::warmUpResetCount into MutableFlags r=nbp
Ted Campbell <tcampbell@mozilla.com> - Wed, 10 Apr 2019 16:12:37 +0000 - rev 527652
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1543230 - Move JSScript::warmUpResetCount into MutableFlags r=nbp This data is only needed for testing but is currently messing with the structure packing. This reduces the size of the field and packs it into free space saving one word per script on certain platforms. Differential Revision: https://phabricator.services.mozilla.com/D26801
d0e8c583c0fe3c7059cfa0bc00481f2140220bbf: Bug 1540771 - LIR.cpp: Remove nested redundant #ifdef r=nbp
Anthony Aillerie <a1.aillerie@gmail.com> - Wed, 03 Apr 2019 09:35:19 +0000 - rev 526590
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1540771 - LIR.cpp: Remove nested redundant #ifdef r=nbp Remove nested redundant #ifdef Differential Revision: https://phabricator.services.mozilla.com/D25807
3134740d831cc24b5b931a8512584100fcc10471: Bug 1382650 part 8 - Add a JitOption to disable use of Ion optimization levels. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Tue, 02 Apr 2019 12:34:09 +0000 - rev 526555
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1382650 part 8 - Add a JitOption to disable use of Ion optimization levels. r=nbp 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
192b326a74a5c28fdc24231e62e4e92ebd579370: Bug 1533295 - Ignore basic/testTypedArrayInit.js in ARM64 Simulator. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Fri, 29 Mar 2019 16:06:03 +0000 - rev 525755
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1533295 - Ignore basic/testTypedArrayInit.js in ARM64 Simulator. r=nbp The ARM64 Simulator can take upwards of 6 minutes to execute this test, causing intermittent timeouts. Differential Revision: https://phabricator.services.mozilla.com/D25391
27b59f0c66307dfd885e26112e351fa72b60d838: Bug 1512491 - Part 2: Hoist access to MConstantElements. r=nbp
André Bargull <andre.bargull@gmail.com> - Mon, 25 Mar 2019 17:55:37 +0000 - rev 525426
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1512491 - Part 2: Hoist access to MConstantElements. r=nbp Depends on D24351 Differential Revision: https://phabricator.services.mozilla.com/D24352
07d5d42519f300922af72eed02cb3e0d0b707739: Bug 1512491 - Part 1: Hoist bound checks with constants. r=nbp,jandem
André Bargull <andre.bargull@gmail.com> - Thu, 28 Mar 2019 08:30:26 +0000 - rev 525425
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1512491 - Part 1: Hoist bound checks with constants. r=nbp,jandem Differential Revision: https://phabricator.services.mozilla.com/D24351
391cc6344efe5a7422fed6a057c2527e36b5b74e: Bug 1382650 part 7 - Use a separate Ion optimization level for very hot code. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Thu, 28 Mar 2019 07:35:40 +0000 - rev 525366
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1382650 part 7 - Use a separate Ion optimization level for very hot code. r=nbp 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
6960595971e59ed7c59ea4e77134f66ae1aeac57: Bug 1382650 part 6 - Fix ARM64 implementation of branch32(AbsoluteAddress, Imm32). r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Wed, 27 Mar 2019 18:58:27 +0000 - rev 525236
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1382650 part 6 - Fix ARM64 implementation of branch32(AbsoluteAddress, Imm32). r=nbp 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
0614a9178eeff65e032b6729df6e2f61562a9dc7: Bug 1382650 part 5 - Calculate OSR warm-up threshold difference based on the warm-up threshold instead of hard-coding 100. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Wed, 27 Mar 2019 18:58:13 +0000 - rev 525235
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1382650 part 5 - Calculate OSR warm-up threshold difference based on the warm-up threshold instead of hard-coding 100. r=nbp 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
a812f6daf98e1bb1b746dd8b56e5067c54c37738: Bug 1382650 part 4 - Split Ion warmup threshold JitOption in 'normal' and 'full' options. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Wed, 27 Mar 2019 18:57:58 +0000 - rev 525234
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1382650 part 4 - Split Ion warmup threshold JitOption in 'normal' and 'full' options. r=nbp 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
7ee65d07d83f59534a1b0e797a489bc706d9051c: Bug 1382650 part 3 - Clean up Ion eager compilation code. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Wed, 27 Mar 2019 12:18:59 +0000 - rev 525150
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1382650 part 3 - Clean up Ion eager compilation code. r=nbp 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
30247ab616790977118ebdc0dfd4e6b706f3ea69: Bug 1382650 part 2 - Store Ion warmup threshold only in JitOptions. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Wed, 27 Mar 2019 12:30:10 +0000 - rev 525149
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1382650 part 2 - Store Ion warmup threshold only in JitOptions. r=nbp Storing this also in IonOptimizationLevels.h/cpp is more complicated than necessary. Differential Revision: https://phabricator.services.mozilla.com/D24154
ca8d272b176f9d3d5a2b65a0b86a86696c61c42d: Bug 1382650 part 1 - Remove separate Ion warmup threshold for small functions, as it's equivalent to the normal one. r=nbp
Jan de Mooij <jdemooij@mozilla.com> - Wed, 27 Mar 2019 12:18:22 +0000 - rev 525148
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1382650 part 1 - Remove separate Ion warmup threshold for small functions, as it's equivalent to the normal one. r=nbp 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
78d7e3aaf5042c3d33aaa5540357645eb3afb914: Bug 1538094 - Remove misleading TODO comments. r=nbp
Lars T Hansen <lhansen@mozilla.com> - Tue, 26 Mar 2019 09:02:47 +0100 - rev 524905
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1538094 - Remove misleading TODO comments. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D24862
cb26ae90e781cdde29cfb88303d38157c3f68d7d: Bug 1538191 - Remove stale comments. r=nbp
Lars T Hansen <lhansen@mozilla.com> - Fri, 22 Mar 2019 15:11:52 +0100 - rev 524900
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1538191 - Remove stale comments. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D24505
ddd7029e48269e23a061cf6c559c6ea97a893f4f: Bug 1537733 - Use halt instructions for haltingAlign. r=nbp
Lars T Hansen <lhansen@mozilla.com> - Thu, 21 Mar 2019 13:06:47 +0100 - rev 524899
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1537733 - Use halt instructions for haltingAlign. r=nbp Differential Revision: https://phabricator.services.mozilla.com/D24334
ef947b198f2c861b13b13b66f5b4095c43b4acb8: Bug 1505574 - Remove Unboxed Objects in ScalarReplacement r=nbp
Matthew Gaudet <mgaudet@mozilla.com> - Fri, 22 Mar 2019 15:31:33 +0000 - rev 524526
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1505574 - Remove Unboxed Objects in ScalarReplacement r=nbp A note about the Scalar Replacement Changes: The M{Load,Store}Unboxed* instructions in theory could be used to manipulate and analyze typed arrays. However, according to nbp TypedArrays should already be excluded from elibility because of the potential for cross-thread sharing in a SharedArrayBuffer world, and so the only support in Scalar Replacement here is for Unboxed Objects, and so it can all be removed. Differential Revision: https://phabricator.services.mozilla.com/D24038
c13b55d67ea264ba37de9c52375597e2c73cb164: Bug 1535848 - Define JumpImmediateRange on ARM64. r=nbp
Lars T Hansen <lhansen@mozilla.com> - Mon, 18 Mar 2019 17:52:49 +0100 - rev 523882
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1535848 - Define JumpImmediateRange on ARM64. r=nbp There are comments in the code suggesting that we've made plans at some point to handle very far jumps via patching + indirect jumps, but all of those comments are TODO/FIXME. Absent such a strategy, the furthest jump is 2^27-1 bytes, and we need to define JumpImmediateRange to reflect that. Differential Revision: https://phabricator.services.mozilla.com/D23883
ebf98069b0fbc60e1cfa79ce97f4266c66860bcd: Bug 1536220 - Enable IonMonkey on ARM64 in-browser. r=nbp
Sean Stangl <sean.stangl@gmail.com> - Tue, 19 Mar 2019 15:26:43 +0000 - rev 523862
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1536220 - Enable IonMonkey on ARM64 in-browser. r=nbp Enable IonMonkey on ARM64 in-browser. Differential Revision: https://phabricator.services.mozilla.com/D23929
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 523485
Push 11224 by ryanvm@gmail.com at Fri, 03 May 2019 17:02:17 +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 523188
Push 11094 by ccoroiu@mozilla.com at Tue, 16 Apr 2019 02:24: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 523046
Push 11035 by jdemooij@mozilla.com at Mon, 08 Apr 2019 12:30:43 +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 523045
Push 11035 by jdemooij@mozilla.com at Mon, 08 Apr 2019 12:30:43 +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 523044
Push 11035 by jdemooij@mozilla.com at Mon, 08 Apr 2019 12:30:43 +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 523043
Push 11035 by jdemooij@mozilla.com at Mon, 08 Apr 2019 12:30:43 +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 523042
Push 11035 by jdemooij@mozilla.com at Mon, 08 Apr 2019 12:30:43 +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 523041
Push 11035 by jdemooij@mozilla.com at Mon, 08 Apr 2019 12:30:43 +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 523040
Push 11035 by jdemooij@mozilla.com at Mon, 08 Apr 2019 12:30:43 +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 523039
Push 11035 by jdemooij@mozilla.com at Mon, 08 Apr 2019 12:30:43 +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 523007
Push 11021 by nbeleuzu@mozilla.com at Sun, 07 Apr 2019 14:07:17 +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 523003
Push 11020 by nbeleuzu@mozilla.com at Sun, 07 Apr 2019 13:48:14 +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 523002
Push 11020 by nbeleuzu@mozilla.com at Sun, 07 Apr 2019 13:48:14 +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 523001
Push 11020 by nbeleuzu@mozilla.com at Sun, 07 Apr 2019 13:48:14 +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 523000
Push 11020 by nbeleuzu@mozilla.com at Sun, 07 Apr 2019 13:48:14 +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 522999
Push 11020 by nbeleuzu@mozilla.com at Sun, 07 Apr 2019 13:48:14 +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 522998
Push 11020 by nbeleuzu@mozilla.com at Sun, 07 Apr 2019 13:48:14 +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 522997
Push 11020 by nbeleuzu@mozilla.com at Sun, 07 Apr 2019 13:48:14 +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 522996
Push 11020 by nbeleuzu@mozilla.com at Sun, 07 Apr 2019 13:48:14 +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