searching for reviewer(arai)
2ea9be1f647879977bede1396666c9e4985fd8c6: Bug 1679142: Add fast path for ints below base*base to NumberToStringWithBase. r=arai
André Bargull <andre.bargull@gmail.com> - Wed, 25 Nov 2020 10:17:37 +0000 - rev 558446
Push 37981 by abutkovits@mozilla.com at Wed, 25 Nov 2020 21:49:09 +0000
Bug 1679142: Add fast path for ints below base*base to NumberToStringWithBase. r=arai `StaticStrings::length2StaticTable` holds all possible strings when the input is below `base * base`, so we don't need to go through `Int32ToCString` and `NewStringCopyN`. Differential Revision: https://phabricator.services.mozilla.com/D97918
b00d0302bdccd3c798c04cb75ad3a724e4220404: Bug 1675240 - Stop using CallNonGenericMethod for RegExp.prototype getters. r=arai
Tom Schuster <evilpies@gmail.com> - Tue, 24 Nov 2020 21:50:13 +0000 - rev 558429
Push 37980 by smolnar@mozilla.com at Wed, 25 Nov 2020 09:43:48 +0000
Bug 1675240 - Stop using CallNonGenericMethod for RegExp.prototype getters. r=arai This also implements an improved error message: > TypeError: RegExp.prototype.global getter called on non-RegExp object: Math This is similar to Chromes' message: > RegExp.prototype.global getter called on non-RegExp object Differential Revision: https://phabricator.services.mozilla.com/D95837
7cb103daaa8d249916f8e7c95a380c20434a9d41: Bug 1675240 - Stop using CallNonGenericMethod for RegExp.prototype getters. r=arai
Tom Schuster <evilpies@gmail.com> - Sun, 22 Nov 2020 06:06:05 +0000 - rev 558288
Push 37976 by smolnar@mozilla.com at Mon, 23 Nov 2020 09:53:16 +0000
Bug 1675240 - Stop using CallNonGenericMethod for RegExp.prototype getters. r=arai This also implements an improved error message: > TypeError: RegExp.prototype.global getter called on non-RegExp object: Math This is similar to Chromes' message: > RegExp.prototype.global getter called on non-RegExp object Differential Revision: https://phabricator.services.mozilla.com/D95837
1f70025cf071f51970e8b769c5fb46695a35ed34: Bug 1677177 - Move delazification function-name update to UpdateEmittedInnerFunctions. r=arai
Ted Campbell <tcampbell@mozilla.com> - Mon, 16 Nov 2020 15:37:44 +0000 - rev 557460
Push 37957 by malexandru@mozilla.com at Tue, 17 Nov 2020 09:44:06 +0000
Bug 1677177 - Move delazification function-name update to UpdateEmittedInnerFunctions. r=arai This code was originally moved because ParserAtom -> JSAtom conversion was fallible. Now that we instantiate JSAtoms in bulk, we can move the name update code to the same place as other inner-function updates. Differential Revision: https://phabricator.services.mozilla.com/D97057
7661dae6b85100972d3c4c6dad2f92b14dacea19: Bug 1677177 - Remove ScriptStencil::isStandaloneFunction. r=arai
Ted Campbell <tcampbell@mozilla.com> - Mon, 16 Nov 2020 15:37:36 +0000 - rev 557459
Push 37957 by malexandru@mozilla.com at Tue, 17 Nov 2020 09:44:06 +0000
Bug 1677177 - Remove ScriptStencil::isStandaloneFunction. r=arai Now that we don't need to update ObjectGroup while instantiating stencil, we don't need to worry about the standalone function case. A standalone function also has the name set already so we do not need to worry about that either. Differential Revision: https://phabricator.services.mozilla.com/D97056
9ee3e34ae7fc61d6fd4a9bde558a606676bdff93: Bug 1676688 - Part 4: Use HashSet in ParserAtomTable. r=arai
Ted Campbell <tcampbell@mozilla.com> - Thu, 12 Nov 2020 20:37:31 +0000 - rev 557002
Push 37946 by dluca@mozilla.com at Fri, 13 Nov 2020 09:59:41 +0000
Bug 1676688 - Part 4: Use HashSet in ParserAtomTable. r=arai Differential Revision: https://phabricator.services.mozilla.com/D96897
4c621cc8bad9aa29113a7f7d7f093752cd3c59c1: Bug 1676403 - Remove dead code from js::BaseScript. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 10 Nov 2020 15:00:50 +0000 - rev 556581
Push 37938 by dluca@mozilla.com at Tue, 10 Nov 2020 22:01:09 +0000
Bug 1676403 - Remove dead code from js::BaseScript. r=arai Differential Revision: https://phabricator.services.mozilla.com/D96582
4a31a3179d6b7df11289f5a61d2e1cec5f363c30: Bug 1676219 - Remove unused FunctionBox::isTopLevel_ field. r=arai
Ted Campbell <tcampbell@mozilla.com> - Mon, 09 Nov 2020 18:16:35 +0000 - rev 556461
Push 37936 by smolnar@mozilla.com at Tue, 10 Nov 2020 09:57:49 +0000
Bug 1676219 - Remove unused FunctionBox::isTopLevel_ field. r=arai This field is equivalent to checking that FunctionBox::index() matched CompilationInfo::TopLevelIndex. Depends on D96445 Differential Revision: https://phabricator.services.mozilla.com/D96446
eac6b57a5bf9b0f587b3dcecdd07edc1dd715e71: Bug 1676219 - Remove unused FunctionBox::traceLink field. r=arai
Ted Campbell <tcampbell@mozilla.com> - Mon, 09 Nov 2020 18:16:25 +0000 - rev 556460
Push 37936 by smolnar@mozilla.com at Tue, 10 Nov 2020 09:57:49 +0000
Bug 1676219 - Remove unused FunctionBox::traceLink field. r=arai Differential Revision: https://phabricator.services.mozilla.com/D96445
e83e1fece2dd9f57a16a3e05056781d28cbe5c9d: Bug 1675074 - Use constexpr for all well-known ParserAtoms. r=arai
Ted Campbell <tcampbell@mozilla.com> - Fri, 06 Nov 2020 20:40:20 +0000 - rev 556261
Push 37929 by nbeleuzu@mozilla.com at Sat, 07 Nov 2020 10:01:27 +0000
Bug 1675074 - Use constexpr for all well-known ParserAtoms. r=arai This removes the LifoAlloc from WellKnownParserAtoms and instead using constexpr to store the atom data in WellKnownParserAtoms_ROM so that this is all evaluated at startup time and live in read-only memory. The WellKnownParserAtoms itself still maintains fields and a hash-table that are not in the ROM, but exist once per JSRuntime. Differential Revision: https://phabricator.services.mozilla.com/D96254
2c83acd0d33302966cfb78fd6cc745990e7b4c0f: Bug 1621588 - Reserve stack space for Vectors in frontend. r=arai
Ted Campbell <tcampbell@mozilla.com> - Fri, 06 Nov 2020 13:01:46 +0000 - rev 556205
Push 37928 by ccoroiu@mozilla.com at Fri, 06 Nov 2020 16:04:25 +0000
Bug 1621588 - Reserve stack space for Vectors in frontend. r=arai Add reserved space for the inner-function list during lazy parsing. The various BytecodeSection vectors are quite rare for large JS files so 0 is a reasonable value, but make it explicit anyways. Differential Revision: https://phabricator.services.mozilla.com/D96133
aaedffcfb8a1603aa8469c9254bc44bd0a2c5171: Bug 1671960 - Forward HashNumber from ParserAtom to JSAtom. r=arai
Ted Campbell <tcampbell@mozilla.com> - Fri, 06 Nov 2020 13:01:46 +0000 - rev 556204
Push 37928 by ccoroiu@mozilla.com at Fri, 06 Nov 2020 16:04:25 +0000
Bug 1671960 - Forward HashNumber from ParserAtom to JSAtom. r=arai Since we use the same HashString for both types of atoms, we can save some time while converting between them by reusing the HashNumber. This is beneficial for Stencil-XDR where decoding times are quite fast and handling atoms is a noticeable delay. Differential Revision: https://phabricator.services.mozilla.com/D96112
c6b2d17bda5f7e0827e20c0901f9c6e12d97b241: Bug 1668672 - Use ParserAtom for RegExpStencil. r=arai
Ted Campbell <tcampbell@mozilla.com> - Thu, 05 Nov 2020 14:05:29 +0000 - rev 556034
Push 37924 by apavel@mozilla.com at Thu, 05 Nov 2020 21:37:48 +0000
Bug 1668672 - Use ParserAtom for RegExpStencil. r=arai Instead of using a UniqueTwoByteChars for the strings, switch to using a ParserAtom. This simplifies code, and makes stencil smaller. Instantiating a RegExpStencil has to generate a JSAtom already, so this is sensible. Differential Revision: https://phabricator.services.mozilla.com/D95955
5592ca1320c44485cdeeca76f5d5a83885c86055: Bug 1668672 - Use LifoAlloc for Stencil ParserScopeData. r=arai
Ted Campbell <tcampbell@mozilla.com> - Thu, 05 Nov 2020 04:53:07 +0000 - rev 556011
Push 37924 by apavel@mozilla.com at Thu, 05 Nov 2020 21:37:48 +0000
Bug 1668672 - Use LifoAlloc for Stencil ParserScopeData. r=arai Have the ScopeStencil data be owned by the Stencil LifoAlloc. This reduces cleanup costs for the stencil. Also directly re-use the allocation from the frontend and removing the extra copies (and code that does the copy). Differential Revision: https://phabricator.services.mozilla.com/D95943
19fe77d2b578a1880aa59f9103c53e4a3b768f64: Bug 1668672 - Use the Stencil's LifoAlloc for ParserScopeData in frontend. r=arai
Ted Campbell <tcampbell@mozilla.com> - Thu, 05 Nov 2020 04:53:04 +0000 - rev 556010
Push 37924 by apavel@mozilla.com at Thu, 05 Nov 2020 21:37:48 +0000
Bug 1668672 - Use the Stencil's LifoAlloc for ParserScopeData in frontend. r=arai Instead of allocating temporary ParserScopeData on the JSContext's temporary LifoAlloc, we use the Stencil's LifoAlloc. Will will allow using this allocation directly in the stencil in future. Differential Revision: https://phabricator.services.mozilla.com/D95942
6a8ab1e6c7b2f5f747334c9f6f8b91103b64b5a0: Bug 1668672 - Move XDRParser*ScopeData methods to StencilXDR interface. r=arai
Ted Campbell <tcampbell@mozilla.com> - Thu, 05 Nov 2020 04:52:57 +0000 - rev 556009
Push 37924 by apavel@mozilla.com at Thu, 05 Nov 2020 21:37:48 +0000
Bug 1668672 - Move XDRParser*ScopeData methods to StencilXDR interface. r=arai The StencilXDR interface has access to internals of ScopeStencil so having accessing to the explicit methods is helpful. This also uses the stencil as the argument instead of a UniquePtr& which makes it easier to change types later. Differential Revision: https://phabricator.services.mozilla.com/D95941
00186be8038a0dbef009535705ef10b2b6795e12: Bug 1668672 - Use LifoAlloc for ScriptStencil gcThings list. r=arai
Ted Campbell <tcampbell@mozilla.com> - Wed, 04 Nov 2020 14:43:44 +0000 - rev 555853
Push 37921 by cbrindusan@mozilla.com at Wed, 04 Nov 2020 21:43:52 +0000
Bug 1668672 - Use LifoAlloc for ScriptStencil gcThings list. r=arai To speed up cleanup of CompilationStencil, we now use the LifoAlloc to hold the GC things. The frontend accumulates items on the stack before passing the complete set to the LifoAlloc. This avoids the unique allocations introduced by the stencil work and is generally better all around. We also use stack reservation to cover most gcThings lists without ever allocating. Differential Revision: https://phabricator.services.mozilla.com/D95635
360ff991b0d38b3bf6fa3ba0b66496cdb76c14ca: Bug 1668672 - Store ParserAtomEntry in CompilationStencil::alloc. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 03 Nov 2020 22:09:28 +0000 - rev 555705
Push 37919 by apavel@mozilla.com at Wed, 04 Nov 2020 04:15:21 +0000
Bug 1668672 - Store ParserAtomEntry in CompilationStencil::alloc. r=arai Use the CompilationStencil LifoAlloc to hold ParserAtomEntry data. This speeds up cleanup of the CompilationStencil and avoids individual allocations for each atom. Differential Revision: https://phabricator.services.mozilla.com/D95296
656da7d03e9fe577ae31cbdd2ad33663c390e6a0: Bug 1668672 - Add LifoAlloc to CompilationStencil. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 03 Nov 2020 22:09:21 +0000 - rev 555704
Push 37919 by apavel@mozilla.com at Wed, 04 Nov 2020 04:15:21 +0000
Bug 1668672 - Add LifoAlloc to CompilationStencil. r=arai Later patches will use this to move allocations here to speed up cleanup of stencils. Also remove the ParserAtomsTable argument from XDRStencilDecoder and instead find that value internally. Differential Revision: https://phabricator.services.mozilla.com/D95634
c06546640185fbfacb8c2d5fb48c97fd3a8f8305: Bug 1674674 - Transcode HashNumber for ParserAtoms. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 03 Nov 2020 15:49:00 +0000 - rev 555596
Push 37918 by apavel@mozilla.com at Tue, 03 Nov 2020 21:39:33 +0000
Bug 1674674 - Transcode HashNumber for ParserAtoms. r=arai Include the HashNumber in XDR data so we don't need to recompute it and can speed up interning of these known-to-be-unique ParserAtoms. Differential Revision: https://phabricator.services.mozilla.com/D95466
214b47b0c334b4d521235104a3174b87255bcf75: Bug 1674674 - Use HashSet::putNew when interning ParserAtom for XDR. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 03 Nov 2020 15:48:58 +0000 - rev 555595
Push 37918 by apavel@mozilla.com at Tue, 03 Nov 2020 21:39:33 +0000
Bug 1674674 - Use HashSet::putNew when interning ParserAtom for XDR. r=arai We currently assert that XDR'd ParserAtoms are unique, but still use the slightly slower lookupForAdd APIs. Instead, the patch uses putNew which avoids an extra comparison on hash collisions. Also greatly simplify the Char16LE case which is only used for XDR and can safely assume no static strings or non-wide atoms are passed. Differential Revision: https://phabricator.services.mozilla.com/D95465
3c0d21f3e34475a8e0e3de02b36c6ee0fe904529: Bug 1674674 - Remove ParserAtomsTable::internLatin1Seq. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 03 Nov 2020 15:48:55 +0000 - rev 555594
Push 37918 by apavel@mozilla.com at Tue, 03 Nov 2020 21:39:33 +0000
Bug 1674674 - Remove ParserAtomsTable::internLatin1Seq. r=arai This is the same code as internChar16Seq if we chose the right parameterization, so simplify the code a little. Differential Revision: https://phabricator.services.mozilla.com/D95464
706d08dc9e941d42aebce595c45c2a46853dbb0f: Bug 1674869 - Cleanup XDRScriptStencil to improve perf. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 03 Nov 2020 15:48:53 +0000 - rev 555593
Push 37918 by apavel@mozilla.com at Tue, 03 Nov 2020 21:39:33 +0000
Bug 1674869 - Cleanup XDRScriptStencil to improve perf. r=arai Now that XDR checks for correct endianness, we can use codeBytes for more complex structures. We also move the function to StencilXdr namespace. Differential Revision: https://phabricator.services.mozilla.com/D95587
124f2166945377d87339b99e7c468122caa76052: Bug 1674674 - Transcode HashNumber for ParserAtoms. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 03 Nov 2020 06:04:59 +0000 - rev 555545
Push 37917 by ccoroiu@mozilla.com at Tue, 03 Nov 2020 16:00:38 +0000
Bug 1674674 - Transcode HashNumber for ParserAtoms. r=arai Include the HashNumber in XDR data so we don't need to recompute it and can speed up interning of these known-to-be-unique ParserAtoms. Differential Revision: https://phabricator.services.mozilla.com/D95466
d2ae6815200e29e1602ae0f37075f27e67e02119: Bug 1674674 - Use HashSet::putNew when interning ParserAtom for XDR. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 03 Nov 2020 06:04:52 +0000 - rev 555544
Push 37917 by ccoroiu@mozilla.com at Tue, 03 Nov 2020 16:00:38 +0000
Bug 1674674 - Use HashSet::putNew when interning ParserAtom for XDR. r=arai We currently assert that XDR'd ParserAtoms are unique, but still use the slightly slower lookupForAdd APIs. Instead, the patch uses putNew which avoids an extra comparison on hash collisions. Also greatly simplify the Char16LE case which is only used for XDR and can safely assume no static strings or non-wide atoms are passed. Differential Revision: https://phabricator.services.mozilla.com/D95465
a330801f559c293cccf99cc6a755dd5885f7980f: Bug 1674674 - Remove ParserAtomsTable::internLatin1Seq. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 03 Nov 2020 06:04:44 +0000 - rev 555543
Push 37917 by ccoroiu@mozilla.com at Tue, 03 Nov 2020 16:00:38 +0000
Bug 1674674 - Remove ParserAtomsTable::internLatin1Seq. r=arai This is the same code as internChar16Seq if we chose the right parameterization, so simplify the code a little. Differential Revision: https://phabricator.services.mozilla.com/D95464
8e718fb591e808e9824c9ab2d71a523f8734f613: Bug 1674869 - Cleanup XDRScriptStencil to improve perf. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 03 Nov 2020 12:39:11 +0000 - rev 555542
Push 37917 by ccoroiu@mozilla.com at Tue, 03 Nov 2020 16:00:38 +0000
Bug 1674869 - Cleanup XDRScriptStencil to improve perf. r=arai Now that XDR checks for correct endianness, we can use codeBytes for more complex structures. We also move the function to StencilXdr namespace. Differential Revision: https://phabricator.services.mozilla.com/D95587
6f7804d504b13e471f4b6d1317e3a068ee976f8e: Bug 1674465 - Add CompileOptions::useStencilXDR. r=arai
Ted Campbell <tcampbell@mozilla.com> - Sat, 31 Oct 2020 04:52:15 +0000 - rev 555339
Push 37910 by dluca@mozilla.com at Sat, 31 Oct 2020 21:05:17 +0000
Bug 1674465 - Add CompileOptions::useStencilXDR. r=arai No changes to behaviour. This splits the useOffThreadParseGlobal flag into cases that care about the format and cases that care about the GC. Depends on D95380 Differential Revision: https://phabricator.services.mozilla.com/D95381
0c96eb1d965ad4fa79733552502a6fa5cf7d53b9: Bug 1674465 - Refactor XDR script/stencil switching code. r=arai
Ted Campbell <tcampbell@mozilla.com> - Sat, 31 Oct 2020 04:52:15 +0000 - rev 555338
Push 37910 by dluca@mozilla.com at Sat, 31 Oct 2020 21:05:17 +0000
Bug 1674465 - Refactor XDR script/stencil switching code. r=arai Instead of relying directly on the UseOffThreadParseGlobal() flag to determine the format of the XDR buffer, refactor to add useStencilXDR locals to use. In the future, we can hook this to a different condition that is independant of the parse-global status. Also move the encoding of stencil until after instantiation for simplicity. In the past, instantiation would mess with the stencil, but that has been resolved now. Depends on D95379 Differential Revision: https://phabricator.services.mozilla.com/D95380
f0b90b1cbf4b128d38070a2ce30e75b6cf1cdcf4: Bug 1674465 - Cleanup DecodeMultiScripts handling of off-thread-parse-global. r=arai
Ted Campbell <tcampbell@mozilla.com> - Sat, 31 Oct 2020 04:52:15 +0000 - rev 555337
Push 37910 by dluca@mozilla.com at Sat, 31 Oct 2020 21:05:17 +0000
Bug 1674465 - Cleanup DecodeMultiScripts handling of off-thread-parse-global. r=arai No change to behaviour, but move the exception earlier instead of mutating CompileOptions after they are saved. Differential Revision: https://phabricator.services.mozilla.com/D95379
2a2548dc3dedce27f612367d1214a315adb8296f: Bug 1502355 - Rename |JS::InitAbortSignalHandling| to |JS::InitPipeToHandling|, because this embedder interface is going to get a lot more pipeTo-specific shortly... r=arai
Jeff Walden <jwalden@mit.edu> - Fri, 30 Oct 2020 21:22:04 +0000 - rev 555298
Push 37908 by abutkovits@mozilla.com at Sat, 31 Oct 2020 09:44:45 +0000
Bug 1502355 - Rename |JS::InitAbortSignalHandling| to |JS::InitPipeToHandling|, because this embedder interface is going to get a lot more pipeTo-specific shortly... r=arai Differential Revision: https://phabricator.services.mozilla.com/D92351
394718eef5059ae3cffdb30a8b91b1c2032cd188: Bug 1663365 - Don't include "js/friend/ErrorMessages.h" in jsfriendapi.h. r=arai
Jeff Walden <jwalden@mit.edu> - Fri, 30 Oct 2020 06:33:56 +0000 - rev 555170
Push 37904 by ncsoregi@mozilla.com at Fri, 30 Oct 2020 16:09:44 +0000
Bug 1663365 - Don't include "js/friend/ErrorMessages.h" in jsfriendapi.h. r=arai Differential Revision: https://phabricator.services.mozilla.com/D95208
1bd440c125383eb22270808b094f18f4db51764c: Bug 1670238 - Do not delazify if sourceEnd is definitely before the specified line in findScript. r=arai
Ted Campbell <tcampbell@mozilla.com> - Wed, 28 Oct 2020 16:06:45 +0000 - rev 554948
Push 37900 by csabou@mozilla.com at Thu, 29 Oct 2020 04:07:10 +0000
Bug 1670238 - Do not delazify if sourceEnd is definitely before the specified line in findScript. r=arai Each script for target source has a SourceExtent that represents the source start as both an offset and a line/column value. We use these mappings to compute a lower-bound on the source offset of a target line when performing `findScripts`. This lower bound lets us quickly eliminate candidate scripts without needing to compile their bytecode and inspect SrcNotes. Depends on D93177 Differential Revision: https://phabricator.services.mozilla.com/D95019
40c3783a0adf38ae5a9a2addc8e0a20491690757: Bug 1672172 - Show column numbers in jsshell src-note disassembly. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 27 Oct 2020 02:23:03 +0000 - rev 554758
Push 37898 by abutkovits@mozilla.com at Wed, 28 Oct 2020 09:24:21 +0000
Bug 1672172 - Show column numbers in jsshell src-note disassembly. r=arai Differential Revision: https://phabricator.services.mozilla.com/D94782
e14ca19d32bac256b044cdf97a5a341333f023c6: Bug 1673440 - Report actual illegal character when parsing JS. r=arai
Tom Schuster <evilpies@gmail.com> - Tue, 27 Oct 2020 15:33:27 +0000 - rev 554708
Push 37898 by abutkovits@mozilla.com at Wed, 28 Oct 2020 09:24:21 +0000
Bug 1673440 - Report actual illegal character when parsing JS. r=arai Differential Revision: https://phabricator.services.mozilla.com/D94767
5a0e794b51bf4ad859c1350542577545051ffe5d: Bug 1673440 - Report actual illegal character when parsing JS. r=arai
Tom Schuster <evilpies@gmail.com> - Tue, 27 Oct 2020 13:53:31 +0000 - rev 554657
Push 37897 by ncsoregi@mozilla.com at Tue, 27 Oct 2020 21:20:52 +0000
Bug 1673440 - Report actual illegal character when parsing JS. r=arai Differential Revision: https://phabricator.services.mozilla.com/D94767
9d118cc87d6a7677ebc85611127f40afe3a1e30b: Bug 1672886 - Update js::SourceExtent documentation. r=arai
Ted Campbell <tcampbell@mozilla.com> - Mon, 26 Oct 2020 13:34:08 +0000 - rev 554510
Push 37894 by dluca@mozilla.com at Tue, 27 Oct 2020 04:41:26 +0000
Bug 1672886 - Update js::SourceExtent documentation. r=arai Differential Revision: https://phabricator.services.mozilla.com/D94695
6df41b430313ff78c8825afbc17138755efc03f0: Bug 1672886 - Fix SourceExtent of JS private class methods. r=arai
Ted Campbell <tcampbell@mozilla.com> - Mon, 26 Oct 2020 13:34:00 +0000 - rev 554509
Push 37894 by dluca@mozilla.com at Tue, 27 Oct 2020 04:41:26 +0000
Bug 1672886 - Fix SourceExtent of JS private class methods. r=arai Private class methods define an internal lambda function for the initializer, but it currently uses source coordinates of [0,0) which isn't very helpful. This patch updates it to cover the full field name until end of method body. These distinctions are generally not exposed to users, but having internal consistency is still helpful for defining engine invariants. Differential Revision: https://phabricator.services.mozilla.com/D94612
718fef3b5b280ad00de6e0095d838ec0b4acaea1: Bug 1672886 - Add tests for script source extents. r=arai
Ted Campbell <tcampbell@mozilla.com> - Mon, 26 Oct 2020 13:34:18 +0000 - rev 554508
Push 37894 by dluca@mozilla.com at Tue, 27 Oct 2020 04:41:26 +0000
Bug 1672886 - Add tests for script source extents. r=arai Add tests to document the BaseScripts generated for different parse constructs and track the sourceStart/sourceEnd values. This uses the debugger API to find hidden scripts and access the source values. The details this test checks are arbitrary implementation details, and the test expectations can be updated as necessary. Differential Revision: https://phabricator.services.mozilla.com/D94611
8915b0ea73cf7f467cda0744d34e45625ff89860: Bug 1672729 - Use class field property name as start of initializer. r=arai
Ted Campbell <tcampbell@mozilla.com> - Fri, 23 Oct 2020 01:08:01 +0000 - rev 554235
Push 37889 by btara@mozilla.com at Fri, 23 Oct 2020 21:47:13 +0000
Bug 1672729 - Use class field property name as start of initializer. r=arai For more consistent locations when generating JS field initializer lambdas, set the lambda's location as the property name. This ensures that source notes are inside the function body. When we are generating the initializer code for simple fields without initializers, the Parser pos() points to the field name, so including the name in the lambda's SourceExtent ensures the generated source locations are within the body. Differential Revision: https://phabricator.services.mozilla.com/D94528
d2ab65def6c6e78c09c68026349a00d106344ba7: Bug 1672729 - Add tests for JS field initializer function positions. r=arai
Ted Campbell <tcampbell@mozilla.com> - Fri, 23 Oct 2020 01:07:59 +0000 - rev 554234
Push 37889 by btara@mozilla.com at Fri, 23 Oct 2020 21:47:13 +0000
Bug 1672729 - Add tests for JS field initializer function positions. r=arai Differential Revision: https://phabricator.services.mozilla.com/D94527
ac382cc4a6e069a6121297a6e8952650e8cf0807: Bug 1672268 - Remove CustomAutoRooter from JS Parser. r=arai
Ted Campbell <tcampbell@mozilla.com> - Tue, 20 Oct 2020 21:41:19 +0000 - rev 553712
Push 37880 by rmaries@mozilla.com at Wed, 21 Oct 2020 03:56:30 +0000
Bug 1672268 - Remove CustomAutoRooter from JS Parser. r=arai Differential Revision: https://phabricator.services.mozilla.com/D94193
4c7b8e1f6245f10a98c3bcb4fd46f5a288ed4730: Bug 1672065 - Fix lineno/column for synthesized JS class constructors. r=arai
Ted Campbell <tcampbell@mozilla.com> - Mon, 19 Oct 2020 23:29:54 +0000 - rev 553499
Push 37878 by smolnar@mozilla.com at Tue, 20 Oct 2020 09:40:32 +0000
Bug 1672065 - Fix lineno/column for synthesized JS class constructors. r=arai Ensure that different ways of generating class constructors use a consistent definition of lineno/column that points to the `class` token. For runtime-generated constructors, we ensure the SrcNotes location is synchronized before emitting ClassConstructor/DerivedConstructor opcodes. This ensures the `pc` lookup at runtime computes the right value. For synthesized constructors (that are currently required if fields are used), we now use the class start position instead of the class end position for consistency with the runtime-generated versions. Differential Revision: https://phabricator.services.mozilla.com/D94058
195dfba58e2215d8f57f414d1b306e5240cb1b75: Bug 1502355 - Allocate |PipeToState| as tenured, for perhaps marginally greater efficiency. r=arai
Jeff Walden <jwalden@mit.edu> - Sun, 18 Oct 2020 05:12:44 +0000 - rev 553343
Push 37871 by cbrindusan@mozilla.com at Sun, 18 Oct 2020 09:45:58 +0000
Bug 1502355 - Allocate |PipeToState| as tenured, for perhaps marginally greater efficiency. r=arai Differential Revision: https://phabricator.services.mozilla.com/D92350
9fbaeb54821f0bd512de65c5493a7e10deb1bbdd: Bug 1623766 - Remove js::IterateLazyScripts. r=arai,jonco
Ted Campbell <tcampbell@mozilla.com> - Fri, 09 Oct 2020 13:38:57 +0000 - rev 552459
Push 37849 by apavel@mozilla.com at Fri, 09 Oct 2020 21:45:45 +0000
Bug 1623766 - Remove js::IterateLazyScripts. r=arai,jonco Remove the `IterateLazyScripts` API and have `IterateScripts` fire for all BaseScript whether they have bytecode or not. Update the uses in the debugger to support this change in behaviour. Differential Revision: https://phabricator.services.mozilla.com/D93040
a9287b1855a130223b7ddcb3e117777dd4d5b2b3: Bug 1623763 - Remove Realm::ensureDelazifyScriptsForDebugger() mechanism. r=arai
Ted Campbell <tcampbell@mozilla.com> - Fri, 09 Oct 2020 13:38:55 +0000 - rev 552458
Push 37849 by apavel@mozilla.com at Fri, 09 Oct 2020 21:45:45 +0000
Bug 1623763 - Remove Realm::ensureDelazifyScriptsForDebugger() mechanism. r=arai Differential Revision: https://phabricator.services.mozilla.com/D93039
099a480f50a226eede0b475248a4cdc677fb8fb1: Bug 1623761 - Avoid global delazification for Debugger findScripts "line" queries. r=arai
Ted Campbell <tcampbell@mozilla.com> - Fri, 09 Oct 2020 13:38:52 +0000 - rev 552457
Push 37849 by apavel@mozilla.com at Fri, 09 Oct 2020 21:45:45 +0000
Bug 1623761 - Avoid global delazification for Debugger findScripts "line" queries. r=arai Querying a specific line number in the Debugger requires candidate scripts to have bytecode in order to known the ending line number. Previously we would delazify all scripts in a Realm before performing such queries. In this patch we instead gather partial matches during the CellIter<BaseScript> visit and do post-processing to delazify recursively if it may contain matches. This system does no more compilations than before and since we visit every script in the gc::Zone regardless, there is no additional impact. In this new system we use the CellIter to collect all scripts that have been exposed to script that are partial query matches. This includes scripts with bytecode and lazy scripts with non-lazy parents. This handles cases where enclosing scripts (such as in an eval) are GC'd but inner functions remain live. After the CellIter completes, we take the lazy scripts that are partial matches, delazify them, and check if they still match with full information. There inner lazy functions can then be recursively added to the work queue. This gives the same results as before but without Realm-wide impact. Differential Revision: https://phabricator.services.mozilla.com/D93038
4fdf553cb952fa309ac4b8af662bea21c26c068c: Bug 1623761 - Simplify Debugger::QueryScript::findScripts handling of "innermost". r=arai
Ted Campbell <tcampbell@mozilla.com> - Fri, 09 Oct 2020 13:38:50 +0000 - rev 552456
Push 37849 by apavel@mozilla.com at Fri, 09 Oct 2020 21:45:45 +0000
Bug 1623761 - Simplify Debugger::QueryScript::findScripts handling of "innermost". r=arai Instead of tracking the innermost script under the CellIter, collect the results as though innermost was not specified and then do the filtering at the end. This allows us to modify how line-matching works in later patches. The tradeoff is that enclosing functions get collected in a vector temporarily this is a very small cost compared to everything else that happens in `findScripts`. Note that the "innermost" query is only used in tests now. Differential Revision: https://phabricator.services.mozilla.com/D93037
3bfe5441e543030dec394077530a7169e9faac7b: Bug 1623761 - Use field initializers in Debugger::QueryScript code. r=arai
Ted Campbell <tcampbell@mozilla.com> - Fri, 09 Oct 2020 13:38:48 +0000 - rev 552455
Push 37849 by apavel@mozilla.com at Fri, 09 Oct 2020 21:45:45 +0000
Bug 1623761 - Use field initializers in Debugger::QueryScript code. r=arai Differential Revision: https://phabricator.services.mozilla.com/D93036
3a5a129d7e71b1364af96b9926557ce9f11ce264: Bug 1669847 - Make CompilationStencil instantiation const. r=arai
Ted Campbell <tcampbell@mozilla.com> - Thu, 08 Oct 2020 16:16:05 +0000 - rev 552415
Push 37849 by apavel@mozilla.com at Fri, 09 Oct 2020 21:45:45 +0000
Bug 1669847 - Make CompilationStencil instantiation const. r=arai Depends on D92831 Differential Revision: https://phabricator.services.mozilla.com/D92832