searching for reviewer(iain)
9e1110b7f7288e63812c116112e7816323acac39: Bug 1695386 - Clean up BailoutKind::TooManyArgs UPDATE r=iain
sploitem <sploitem@gmail.com> - Fri, 14 May 2021 16:19:38 +0000 - rev 579723
Push 143147 by iireland@mozilla.com at Fri, 14 May 2021 16:22:01 +0000
Bug 1695386 - Clean up BailoutKind::TooManyArgs UPDATE r=iain Differential Revision: https://phabricator.services.mozilla.com/D115058
460cb4efc41ec7f59748848abd8b28b637ade549: Bug 1709139 - Replace JS pageload proportion probes with absolute time measurements and add new probes to measure GC and main thread parsing impact during page load. r=sfink,iain,smaug
Denis Palmeiro <dpalmeiro@mozilla.com> - Wed, 12 May 2021 16:38:40 +0000 - rev 579514
Push 143036 by dpalmeiro@mozilla.com at Wed, 12 May 2021 16:41:05 +0000
Bug 1709139 - Replace JS pageload proportion probes with absolute time measurements and add new probes to measure GC and main thread parsing impact during page load. r=sfink,iain,smaug Replace JS pageload proportion probes with absolute time measurements and add new probes to measure GC and main thread parsing impact during page load. Differential Revision: https://phabricator.services.mozilla.com/D114388
7e483465658a68920ef84083f93c9da27614e7e7: Bug 1682504 part 3 - Shrink ICEntry and ICFallbackStub. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Wed, 12 May 2021 05:33:15 +0000 - rev 579461
Push 143004 by jdemooij@mozilla.com at Wed, 12 May 2021 05:35:45 +0000
Bug 1682504 part 3 - Shrink ICEntry and ICFallbackStub. r=iain This moves the pcOffset field from ICEntry to ICFallbackStub, and removes the ICEntry* pointer from ICFallbackStub. Both of these classes are now one word smaller. Because ICEntry and ICFallbackStubs are now both stored as ICScript arrays, we can go from one to the other with some pointer arithmetic. This is pretty fast and only has to happen on slower paths. Another option would be to merge ICEntry and ICFallbackStub, but that complicates the Baseline Interpreter code, especially on 32-bit platforms where the combined size is not a nice power-of-two. With this patch we can use BaseIndex there. Differential Revision: https://phabricator.services.mozilla.com/D114723
33e0adcebde81e164c322957783319bfcdb53cbb: Bug 1682504 part 2 - Remove ICStubIterator and ICStubConstIterator. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Wed, 12 May 2021 05:33:14 +0000 - rev 579460
Push 143004 by jdemooij@mozilla.com at Wed, 12 May 2021 05:35:45 +0000
Bug 1682504 part 2 - Remove ICStubIterator and ICStubConstIterator. r=iain These iterators are fairly complicated (the patch deletes > 130 lines of code) and they were only used in a few places. This simplifies the next patch a bit. Depends on D114721 Differential Revision: https://phabricator.services.mozilla.com/D114722
969df17a764148b47f489a0dae79e817693bd35e: Bug 1682504 part 1 - Remove maybeICEntryFromPCOffset. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Wed, 12 May 2021 05:33:14 +0000 - rev 579459
Push 143004 by jdemooij@mozilla.com at Wed, 12 May 2021 05:35:45 +0000
Bug 1682504 part 1 - Remove maybeICEntryFromPCOffset. r=iain There was just one caller left, the CacheIR health report code, and it can be changed to iterate over the JitScript's ICEntries instead. Differential Revision: https://phabricator.services.mozilla.com/D114721
ab1fc35f9ba6b6a59a3ede09b810150d43eeb55b: Bug 1710075 part 10 - Rename FallbackICStubSpace to JitScriptICStubSpace. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Tue, 11 May 2021 06:21:57 +0000 - rev 579338
Push 142934 by jdemooij@mozilla.com at Tue, 11 May 2021 06:24:30 +0000
Bug 1710075 part 10 - Rename FallbackICStubSpace to JitScriptICStubSpace. r=iain FallbackICStubSpace is no longer a good name because it isn't used for fallback stubs anymore. Differential Revision: https://phabricator.services.mozilla.com/D114612
d7ca3338e7168b1bb5fcf90af510921be8afdaeb: Bug 1710075 part 9 - Allocate fallback stubs as an array in ICScript. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Tue, 11 May 2021 06:21:56 +0000 - rev 579337
Push 142934 by jdemooij@mozilla.com at Tue, 11 May 2021 06:24:30 +0000
Bug 1710075 part 9 - Allocate fallback stubs as an array in ICScript. r=iain This is more efficient than using the LifoAlloc and lets us make more code infallible. Differential Revision: https://phabricator.services.mozilla.com/D114611
731b329281288160d03984fcd204a50987535bed: Bug 1710075 part 8 - Remove classes and kinds for fallback stubs. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Tue, 11 May 2021 06:21:56 +0000 - rev 579336
Push 142934 by jdemooij@mozilla.com at Tue, 11 May 2021 06:24:30 +0000
Bug 1710075 part 8 - Remove classes and kinds for fallback stubs. r=iain Each fallback stub is now allocated as just ICFallbackStub. Also replaces the switch-statement in initICEntries with a faster table lookup to map from JSOp to fallback kind (to get the trampoline code for the fallback stub). Differential Revision: https://phabricator.services.mozilla.com/D114610
94bc946d5498cebfe0f1ae4fb730584fe41e7b49: Bug 1710075 part 7 - Remove IsInlinableFallback assertion. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Tue, 11 May 2021 06:21:55 +0000 - rev 579335
Push 142934 by jdemooij@mozilla.com at Tue, 11 May 2021 06:24:30 +0000
Bug 1710075 part 7 - Remove IsInlinableFallback assertion. r=iain The next patch wants to remove the derived classes (and kinds) for fallback stubs. This assertion seems redundant with getStubReturnAddress so it should be fine to remove it. Differential Revision: https://phabricator.services.mozilla.com/D114609
398f92aecc65bbb5a6847c45ec4966d7570209c2: Bug 1708053 - Move hazard analysis docs into firefox-source-docs r=iain
Steve Fink <sfink@mozilla.com> - Wed, 28 Apr 2021 23:34:39 +0000 - rev 577928
Push 142155 by sfink@mozilla.com at Wed, 28 Apr 2021 23:37:05 +0000
Bug 1708053 - Move hazard analysis docs into firefox-source-docs r=iain Differential Revision: https://phabricator.services.mozilla.com/D113601
dfe6262a2ada5084b3f91bc14f26ccdfbee8821c: Bug 1708047 - Update spidermonkey build documentation. r=iain DONTBUILD
Ted Campbell <tcampbell@mozilla.com> - Wed, 28 Apr 2021 16:08:16 +0000 - rev 577862
Push 142110 by tcampbell@mozilla.com at Wed, 28 Apr 2021 17:47:18 +0000
Bug 1708047 - Update spidermonkey build documentation. r=iain DONTBUILD - Recommend debug+optimized as starting point to save people a lot of time running the test suites. - Recommend optimized+nodebug for performance testing as the other typical case. - Reference m-unified instead of m-c since that is what bootstrap gives you - Remove links to MDN Depends on D113596 Differential Revision: https://phabricator.services.mozilla.com/D113597
eda8cb9c37eab93c17c69164319854e1ded0da26: Bug 1708047 - Remove outdated spidermonkey qemu instructions. r=iain DONTBUILD
Ted Campbell <tcampbell@mozilla.com> - Wed, 28 Apr 2021 16:08:16 +0000 - rev 577861
Push 142110 by tcampbell@mozilla.com at Wed, 28 Apr 2021 17:47:18 +0000
Bug 1708047 - Remove outdated spidermonkey qemu instructions. r=iain DONTBUILD Differential Revision: https://phabricator.services.mozilla.com/D113596
e3261528439bfb1f5118bcdfd2648df6ef5afd29: Bug 1706190: Simplify the arguments to IRGenerator constructor r=iain
mr.robot <mr.robot> - Thu, 22 Apr 2021 20:38:12 +0000 - rev 577157
Push 141793 by iireland@mozilla.com at Thu, 22 Apr 2021 20:40:37 +0000
Bug 1706190: Simplify the arguments to IRGenerator constructor r=iain Differential Revision: https://phabricator.services.mozilla.com/D112989
b35ee13d7aa5321bdf84a47d0215ca6570589ef7: Bug 1706190: Simplify the arguments to IRGenerator constructor r=iain
mr.robot <mr.robot> - Thu, 22 Apr 2021 18:02:48 +0000 - rev 577137
Push 141775 by iireland@mozilla.com at Thu, 22 Apr 2021 19:08:31 +0000
Bug 1706190: Simplify the arguments to IRGenerator constructor r=iain Differential Revision: https://phabricator.services.mozilla.com/D112989
4f89eb149d04878cc0aa8f25d4de0c36181fac13: Bug 1695396: Moved isFirstStub_ into IRGenerator in CacheIR.h r=iain
mr.robot <mr.robot> - Mon, 19 Apr 2021 21:35:28 +0000 - rev 576654
Push 141462 by iireland@mozilla.com at Mon, 19 Apr 2021 21:59:13 +0000
Bug 1695396: Moved isFirstStub_ into IRGenerator in CacheIR.h r=iain Differential Revision: https://phabricator.services.mozilla.com/D111649
9813615084f622c7be532cacb5a6d050e8032b4d: Bug 1509094 - Add LifoAlloc documentation. r=iain DONTBUILD
Nicolas B. Pierron <nicolas.b.pierron@nbp.name> - Thu, 15 Apr 2021 12:07:30 +0000 - rev 576214
Push 141152 by npierron@mozilla.com at Thu, 15 Apr 2021 12:09:56 +0000
Bug 1509094 - Add LifoAlloc documentation. r=iain DONTBUILD Differential Revision: https://phabricator.services.mozilla.com/D111894
16caa26066634cef9285c3547998ae885a01bf9a: Bug 1703434 - [MIPS64] Add branchTestValue overload to MacroAssembler. r=iain
Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> - Fri, 09 Apr 2021 21:32:02 +0000 - rev 575326
Push 140662 by iireland@mozilla.com at Fri, 09 Apr 2021 22:57:01 +0000
Bug 1703434 - [MIPS64] Add branchTestValue overload to MacroAssembler. r=iain Port D110254 to mips64 platform and fix a typo in an assert. Differential Revision: https://phabricator.services.mozilla.com/D111234
7e3a27b38e56892f1cca2cf6d8eb528a53ff5c4b: Bug 1700052 part 10 - Add support for GetterSetter stub fields. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Tue, 06 Apr 2021 11:06:16 +0000 - rev 574485
Push 140209 by jdemooij@mozilla.com at Tue, 06 Apr 2021 11:08:59 +0000
Bug 1700052 part 10 - Add support for GetterSetter stub fields. r=iain Differential Revision: https://phabricator.services.mozilla.com/D110257
a91c9a837ba61ec10af58ab71ee56cd4a67e29ae: Bug 1700052 part 8 - Add GuardFixedSlotValue and GuardDynamicSlotValue CacheIR instructions. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Tue, 06 Apr 2021 11:06:15 +0000 - rev 574483
Push 140209 by jdemooij@mozilla.com at Tue, 06 Apr 2021 11:08:59 +0000
Bug 1700052 part 8 - Add GuardFixedSlotValue and GuardDynamicSlotValue CacheIR instructions. r=iain These will be used in a later patch to guard `obj[slot] == PrivateGCThingValue(GetterSetter*)`. Depends on D110254 Differential Revision: https://phabricator.services.mozilla.com/D110255
bf62a6aa5aa4408bb01725f1caaed14eeda68ea6: Bug 1700052 part 7 - Add branchTestValue overload to the MacroAssembler. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Tue, 06 Apr 2021 11:06:15 +0000 - rev 574482
Push 140209 by jdemooij@mozilla.com at Tue, 06 Apr 2021 11:08:59 +0000
Bug 1700052 part 7 - Add branchTestValue overload to the MacroAssembler. r=iain This turned out to be a bit more work than expected because we were missing branch32/branchPtr implementations taking a BaseIndex and a Register. Depends on D110253 Differential Revision: https://phabricator.services.mozilla.com/D110254
8540f6f82ab63959b82fb992ae8dd0b35f502eb8: Bug 1700052 part 6 - Pass jsid to ObjectHasGetterSetterPure. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Tue, 06 Apr 2021 11:06:14 +0000 - rev 574481
Push 140209 by jdemooij@mozilla.com at Tue, 06 Apr 2021 11:08:59 +0000
Bug 1700052 part 6 - Pass jsid to ObjectHasGetterSetterPure. r=iain We currently get the jsid from the property's shape, but in a later patch that Shape* argument will be replaced with a GetterSetter* argument. I considered using PropertyKey instead of jsid, but this matches similar code using jsid. Depends on D110252 Differential Revision: https://phabricator.services.mozilla.com/D110253
b3219fb7aa9b3c48b03ab4db71f6ce739dee8686: Bug 1700052 part 5 - Add movePropertyKey to the MacroAssembler. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Mon, 05 Apr 2021 18:16:26 +0000 - rev 574378
Push 140160 by jdemooij@mozilla.com at Mon, 05 Apr 2021 18:19:07 +0000
Bug 1700052 part 5 - Add movePropertyKey to the MacroAssembler. r=iain Also clean up the similar Push method a bit to use PropertyKey instead of jsid. Depends on D110251 Differential Revision: https://phabricator.services.mozilla.com/D110252
c761ae8fdd63e0d5ed08221410c817026a5a094e: Bug 1700771 - Create pref for inlining maximum function size. r=iain
Caroline Cullen <ccullen@mozilla.com> - Wed, 31 Mar 2021 17:18:13 +0000 - rev 573934
Push 139927 by ccullen@mozilla.com at Wed, 31 Mar 2021 18:20:26 +0000
Bug 1700771 - Create pref for inlining maximum function size. r=iain Differential Revision: https://phabricator.services.mozilla.com/D110350
528b3f389dc954861b8a7e498e6aba7318bf12fb: Bug 1701895 - Ensure stub fields are properly aligned on 32-bit. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Wed, 31 Mar 2021 14:51:08 +0000 - rev 573901
Push 139902 by jdemooij@mozilla.com at Wed, 31 Mar 2021 15:02:14 +0000
Bug 1701895 - Ensure stub fields are properly aligned on 32-bit. r=iain * In `CacheIRWriter::copyStubData`, assert stub fields are aligned based on their size. * On 32-bit platforms, add padding to `ICCacheIRStub` and `IonICStub` to ensure stub data is aligned to 8 bytes. * On 32-bit platforms, insert a padding field in `CacheIRWriter::addStubField` if necessary. * Fix alignment assertions in `CacheIRStubInfo` methods to include the offset. Differential Revision: https://phabricator.services.mozilla.com/D110221
24c5b07f893f790321bf1ec034ca2bf920970906: Bug 1696859 part 4 - Remove ObjectGroup.h. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Sat, 27 Mar 2021 07:28:30 +0000 - rev 573377
Push 139638 by jdemooij@mozilla.com at Sat, 27 Mar 2021 07:31:06 +0000
Bug 1696859 part 4 - Remove ObjectGroup.h. r=iain Depends on D109868 Differential Revision: https://phabricator.services.mozilla.com/D109869
71ba47725daf7eec6e9e0589657d59a7247f20ab: Bug 1696859 part 3 - Remove ObjectGroup.cpp. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Sat, 27 Mar 2021 07:28:29 +0000 - rev 573376
Push 139638 by jdemooij@mozilla.com at Sat, 27 Mar 2021 07:31:06 +0000
Bug 1696859 part 3 - Remove ObjectGroup.cpp. r=iain Depends on D109867 Differential Revision: https://phabricator.services.mozilla.com/D109868
869149be62600b4d11e8f8d0821c7c0b49a96132: Bug 1696859 part 2 - Move NewObjectKind from ObjectGroup.h to JSObject.h. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Sat, 27 Mar 2021 07:28:29 +0000 - rev 573375
Push 139638 by jdemooij@mozilla.com at Sat, 27 Mar 2021 07:31:06 +0000
Bug 1696859 part 2 - Move NewObjectKind from ObjectGroup.h to JSObject.h. r=iain Depends on D109866 Differential Revision: https://phabricator.services.mozilla.com/D109867
17c78ccbeffed884061564dedffecc6666b84ef8: Bug 1696859 part 1 - Move NewPlainObjectWithProperties from ObjectGroup.h/cpp to PlainObject.h/cpp. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Sat, 27 Mar 2021 07:28:28 +0000 - rev 573374
Push 139638 by jdemooij@mozilla.com at Sat, 27 Mar 2021 07:31:06 +0000
Bug 1696859 part 1 - Move NewPlainObjectWithProperties from ObjectGroup.h/cpp to PlainObject.h/cpp. r=iain Differential Revision: https://phabricator.services.mozilla.com/D109866
3be60f42358afa252f4e8fba01baba156dbd7ffe: Bug 1700525 - Set object flags on the last property's shape instead of on the property's shape. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Wed, 24 Mar 2021 05:51:01 +0000 - rev 572829
Push 139345 by jdemooij@mozilla.com at Wed, 24 Mar 2021 06:58:30 +0000
Bug 1700525 - Set object flags on the last property's shape instead of on the property's shape. r=iain This fixes a regression from bug 1696178 part 5 with dictionary objects. Object flags on non-last-properties aren't used anywhere, we need to set them on the last property's shape. Differential Revision: https://phabricator.services.mozilla.com/D109579
a96f90afc318aabd6b153de4820c7738f356606f: Bug 1678097 - Deal with SP/PSP. r=iain,lth.
Lars T Hansen <lhansen@mozilla.com> - Tue, 16 Mar 2021 10:58:42 +0000 - rev 571407
Push 138635 by jseward@mozilla.com at Tue, 16 Mar 2021 11:01:13 +0000
Bug 1678097 - Deal with SP/PSP. r=iain,lth. Every operation that updates the SP or PSP must be sure to maintain the required SP-vs-PSP invariants. Various addToStackPtr APIs did not do this. Various other code needs tweaks. This patch documents the existing invariants, and fills in some missing cases for them. The invariants are, in summary: * PSP (x28) is the "primary" stack pointer value. SP is "secondary". * At all times, the invariant SP <= PSP is maintained. * There are no memory accesses below SP, ever. * All stack accesses are based off PSP, not SP. * All function boundaries (calls and returns), SP == PSP. In some places, where stack-manipulation code is not SP-vs-PSP agnostic, it has been made clearer whether we are dealing with SP or PSP. js/src/jit/arm64/Assembler-arm64.h has acquired a large block comment which records the current invariants in more detail, plus results of ongoing investigations. Differential Revision: https://phabricator.services.mozilla.com/D97772
0c14d39bd01baf8c0846e50ba6b7fcf094eb2c15: Bug 1678097 - Deal with SP/PSP. r=iain,lth.
Lars T Hansen <lhansen@mozilla.com> - Mon, 15 Mar 2021 16:44:31 +0000 - rev 571301
Push 138564 by jseward@mozilla.com at Mon, 15 Mar 2021 16:47:26 +0000
Bug 1678097 - Deal with SP/PSP. r=iain,lth. Every operation that updates the SP or PSP must be sure to maintain the required SP-vs-PSP invariants. Various addToStackPtr APIs did not do this. Various other code needs tweaks. This patch documents the existing invariants, and fills in some missing cases for them. The invariants are, in summary: * PSP (x28) is the "primary" stack pointer value. SP is "secondary". * At all times, the invariant SP <= PSP is maintained. * There are no memory accesses below SP, ever. * All stack accesses are based off PSP, not SP. * All function boundaries (calls and returns), SP == PSP. In some places, where stack-manipulation code is not SP-vs-PSP agnostic, it has been made clearer whether we are dealing with SP or PSP. js/src/jit/arm64/Assembler-arm64.h has acquired a large block comment which records the current invariants in more detail, plus results of ongoing investigations. Differential Revision: https://phabricator.services.mozilla.com/D97772
b5b22dbbf9e1eeacbaa28a3c231210ece3f08482: Bug 1697904 - Remove javascript.*.unsafe_eager_compilation prefs. r=iain
Ted Campbell <tcampbell@mozilla.com> - Sat, 13 Mar 2021 16:46:58 +0000 - rev 571007
Push 138498 by tcampbell@mozilla.com at Sat, 13 Mar 2021 16:49:28 +0000
Bug 1697904 - Remove javascript.*.unsafe_eager_compilation prefs. r=iain These prefs are unlisted (eg not in about:config) and seem to hark back to a different era. In practice, setting the appropriate JIT threshold to 0 does the same thing and is much clearer. Differential Revision: https://phabricator.services.mozilla.com/D108102
5497507f3b576145275daa123ed067acf8b00cc3: Bug 1697935 - Remove unused javascript.options.spectre.object_mitigations.barriers pref. r=iain
Ted Campbell <tcampbell@mozilla.com> - Sat, 13 Mar 2021 16:46:57 +0000 - rev 571006
Push 138498 by tcampbell@mozilla.com at Sat, 13 Mar 2021 16:49:28 +0000
Bug 1697935 - Remove unused javascript.options.spectre.object_mitigations.barriers pref. r=iain The "barriers" here refered to type-barriers which no longer exist after IonBuilder was removed so this pref is now dead. Also remove the .misc suffix of the sibling pref. Differential Revision: https://phabricator.services.mozilla.com/D108123
17d4fbbd7a1e54d3fd6f8d1558eaf3b4ad99d307: Bug 1697904 - Remove javascript.*.unsafe_eager_compilation prefs. r=iain
Ted Campbell <tcampbell@mozilla.com> - Sat, 13 Mar 2021 00:33:07 +0000 - rev 570973
Push 138475 by tcampbell@mozilla.com at Sat, 13 Mar 2021 00:35:55 +0000
Bug 1697904 - Remove javascript.*.unsafe_eager_compilation prefs. r=iain These prefs are unlisted (eg not in about:config) and seem to hark back to a different era. In practice, setting the appropriate JIT threshold to 0 does the same thing and is much clearer. Differential Revision: https://phabricator.services.mozilla.com/D108102
ddb46dad760558e21ea74d718afb9624b1d85d0c: Bug 1697935 - Remove unused javascript.options.spectre.object_mitigations.barriers pref. r=iain
Ted Campbell <tcampbell@mozilla.com> - Sat, 13 Mar 2021 00:33:07 +0000 - rev 570972
Push 138475 by tcampbell@mozilla.com at Sat, 13 Mar 2021 00:35:55 +0000
Bug 1697935 - Remove unused javascript.options.spectre.object_mitigations.barriers pref. r=iain The "barriers" here refered to type-barriers which no longer exist after IonBuilder was removed so this pref is now dead. Also remove the .misc suffix of the sibling pref. Differential Revision: https://phabricator.services.mozilla.com/D108123
97565326ca40d150f65bae3acf92178851180ca1: Bug 1696860 - Remove prototype splicing code for the global object. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Wed, 10 Mar 2021 14:06:28 +0000 - rev 570498
Push 138155 by jdemooij@mozilla.com at Wed, 10 Mar 2021 14:08:52 +0000
Bug 1696860 - Remove prototype splicing code for the global object. r=iain After the ObjectGroup removal changes, prototype splicing and SetPrototype are equivalent in that both (only) trigger a shape change for the new proto. Differential Revision: https://phabricator.services.mozilla.com/D107459
df86e60f3b6281090d37e13250523baede97bf5a: Bug 1692972 - Add DoubleValue masking for LBox/LBoxFloatingPoint. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Wed, 10 Mar 2021 12:10:20 +0000 - rev 570472
Push 138137 by jdemooij@mozilla.com at Wed, 10 Mar 2021 12:12:45 +0000
Bug 1692972 - Add DoubleValue masking for LBox/LBoxFloatingPoint. r=iain Differential Revision: https://phabricator.services.mozilla.com/D107042
605278e5ba2583d6c339891cd6c90addbf647d66: Bug 1693958 - Spew information about IC stub fields when all stubs in an chain have equivalent CacheIR. r=iain
Caroline Cullen <ccullen@mozilla.com> - Mon, 01 Mar 2021 19:34:42 +0000 - rev 569136
Push 137436 by ccullen@mozilla.com at Mon, 01 Mar 2021 20:03:04 +0000
Bug 1693958 - Spew information about IC stub fields when all stubs in an chain have equivalent CacheIR. r=iain Differential Revision: https://phabricator.services.mozilla.com/D106313
67d1c5cb8db8f3e80e64591e1a18360e8bfb6d3e: Bug 1693958 - Clean up CacheIRHealth report code. r=iain
Caroline Cullen <ccullen@mozilla.com> - Mon, 01 Mar 2021 19:34:42 +0000 - rev 569135
Push 137436 by ccullen@mozilla.com at Mon, 01 Mar 2021 20:03:04 +0000
Bug 1693958 - Clean up CacheIRHealth report code. r=iain Differential Revision: https://phabricator.services.mozilla.com/D106312
bed377ea722c0dc904c374e2f2f6e76907f884d8: Bug 1695153 part 6 - Remove now unused group code from NewObjectCache. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Sun, 28 Feb 2021 14:24:12 +0000 - rev 569045
Push 137368 by jdemooij@mozilla.com at Sun, 28 Feb 2021 14:26:49 +0000
Bug 1695153 part 6 - Remove now unused group code from NewObjectCache. r=iain Also removes references to object parents from the comment. This was an old SpiderMonkey 'feature'. Differential Revision: https://phabricator.services.mozilla.com/D106599
c57ee11448459d4ac40c3aff1f158e98ccfb6b14: Bug 1695153 part 5 - Remove NewObjectWithGroup. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Sun, 28 Feb 2021 14:24:12 +0000 - rev 569044
Push 137368 by jdemooij@mozilla.com at Sun, 28 Feb 2021 14:26:49 +0000
Bug 1695153 part 5 - Remove NewObjectWithGroup. r=iain Depends on D106597 Differential Revision: https://phabricator.services.mozilla.com/D106598
0a25991255299a33857272cdaf207025740a7022: Bug 1695153 part 4 - Remove other NewObjectWithGroup callers. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Sun, 28 Feb 2021 14:24:11 +0000 - rev 569043
Push 137368 by jdemooij@mozilla.com at Sun, 28 Feb 2021 14:26:49 +0000
Bug 1695153 part 4 - Remove other NewObjectWithGroup callers. r=iain Worst-case this adds an ObjectGroup lookup, but that will go away when ObjectGroups are removed. Furthermore, NewObjectWithGivenTaggedProto can use the NewObjectCache to bypass that lookup. Differential Revision: https://phabricator.services.mozilla.com/D106597
1038b75f635747a9b09304bdd7dd5517b46290ee: Bug 1695153 part 3 - Remove TI-related code in makeInstance. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Sun, 28 Feb 2021 14:24:11 +0000 - rev 569042
Push 137368 by jdemooij@mozilla.com at Sun, 28 Feb 2021 14:26:49 +0000
Bug 1695153 part 3 - Remove TI-related code in makeInstance. r=iain The "more TI optimizations" comment refers to allocation site groups and the ability to use singletons for large typed arrays. Both of these have since been removed. Depends on D106595 Differential Revision: https://phabricator.services.mozilla.com/D106596
f0970b8ad3d027a13ae5d0dbecec660ca41f769c: Bug 1695153 part 2 - Inline makeTypedInstance into the caller. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Sun, 28 Feb 2021 14:24:11 +0000 - rev 569041
Push 137368 by jdemooij@mozilla.com at Sun, 28 Feb 2021 14:26:49 +0000
Bug 1695153 part 2 - Inline makeTypedInstance into the caller. r=iain Depends on D106594 Differential Revision: https://phabricator.services.mozilla.com/D106595
362cb95705e5425552874f75571ea10a3b94640e: Bug 1695153 part 1 - Stop using NewObjectWithGroup in the typed array code. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Sun, 28 Feb 2021 14:24:10 +0000 - rev 569040
Push 137368 by jdemooij@mozilla.com at Sun, 28 Feb 2021 14:26:49 +0000
Bug 1695153 part 1 - Stop using NewObjectWithGroup in the typed array code. r=iain TI used allocation site groups here and passing around the group helped avoid some overhead there. Note that the group was passed only if the group's proto was the default proto for the typed array class. Differential Revision: https://phabricator.services.mozilla.com/D106594
d7917e1acc57ee2b293163524f2d79241c6d4b45: Bug 1531175 - jit-test ARM64: Do not skip crash-tests. r=iain
Nicolas B. Pierron <nicolas.b.pierron@nbp.name> - Fri, 26 Feb 2021 18:12:41 +0000 - rev 568976
Push 137320 by npierron@mozilla.com at Fri, 26 Feb 2021 18:15:02 +0000
Bug 1531175 - jit-test ARM64: Do not skip crash-tests. r=iain Differential Revision: https://phabricator.services.mozilla.com/D105210
bead43912b15ac428d397401bfee13b5c9f7c4b4: Bug 1693483 part 3 - Move TypeDescr from ObjectGroup to TypedObject. r=iain,rhunt
Jan de Mooij <jdemooij@mozilla.com> - Fri, 19 Feb 2021 12:32:57 +0000 - rev 568102
Push 136827 by jdemooij@mozilla.com at Fri, 19 Feb 2021 12:35:25 +0000
Bug 1693483 part 3 - Move TypeDescr from ObjectGroup to TypedObject. r=iain,rhunt To prepare for ObjectGroup removal, this adds the TypeDescr to the TypedObject itself instead of storing it in the group. The OutlineTypedObject AllocKind is changed from OBJECT0 to OBJECT2 to be able to store the extra value. Once we remove the group from JSObject this will be changed back, at that point the TypeDescr* replaces the group so there will be no size increase. Typed objects are currently only used for Wasm GC. Once they're more stable and perf-sensitive, we can consider optimizing them better by potentially moving the TypeDescr into the Shape etc. Short-term this patch makes it much easier for us to change the object representation for all other objects. Differential Revision: https://phabricator.services.mozilla.com/D105608
e9658503446ef4005519700563f8e94117bea8b9: Bug 1693112 - Remove ReceiverGuard and replace iterator guard array with shape array. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Wed, 17 Feb 2021 10:15:42 +0000 - rev 567832
Push 136631 by jdemooij@mozilla.com at Wed, 17 Feb 2021 10:18:06 +0000
Bug 1693112 - Remove ReceiverGuard and replace iterator guard array with shape array. r=iain ReceiverGuard is now only used in the iterator code. There every ReceiverGuard is created for a native object, in which case ReceiverGuard's group is always nullptr. This means we can just store the shape directly instead of using ReceiverGuard. In ExtraStringCount, this removes the |* 2| because we no longer need two words per guard/shape. This means iterators are now a bit more compact. Also renames guardKey to shapesHash and uses HashNumber for this instead of uint32_t. Differential Revision: https://phabricator.services.mozilla.com/D105344
5c4b4ab1e2925a639cbd0445a9e524e83ee2d108: Bug 1692161 part 2 - Remove js_dtostr. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Fri, 12 Feb 2021 07:08:03 +0000 - rev 567204
Push 136323 by jdemooij@mozilla.com at Fri, 12 Feb 2021 07:27:50 +0000
Bug 1692161 part 2 - Remove js_dtostr. r=iain This also deletes some now-dead functions from dtoa.c. It's unlikely we'll update that code again and this prevents unused-function warnings. Depends on D104806 Differential Revision: https://phabricator.services.mozilla.com/D104807
e9f9bdcc779cb685db9626e5eaf607441472ab6f: Bug 1692161 part 1 - Stop using js_dtostr in JSONPrinter::floatProperty. r=iain
Jan de Mooij <jdemooij@mozilla.com> - Fri, 12 Feb 2021 07:08:03 +0000 - rev 567203
Push 136323 by jdemooij@mozilla.com at Fri, 12 Feb 2021 07:27:50 +0000
Bug 1692161 part 1 - Stop using js_dtostr in JSONPrinter::floatProperty. r=iain This is only used for the CacheIR spewer. Spewing doubles still works with this patch. Differential Revision: https://phabricator.services.mozilla.com/D104806