searching for reviewer(tcampbell)
109cefe117fbdd1764097e06796960082f4fee4e: Bug 1544386 part 1 - Call ElementAccessHasExtraIndexedProperty instead of ArrayPrototypeHasIndexedProperty when inlining array natives. r=tcampbell, a=jcristau
Jan de Mooij <jdemooij@mozilla.com> - Wed, 08 May 2019 17:48:26 +0000 - rev 533735
Push 11410 by jcristau@mozilla.com at Mon, 10 Jun 2019 15:05:14 +0000
Bug 1544386 part 1 - Call ElementAccessHasExtraIndexedProperty instead of ArrayPrototypeHasIndexedProperty when inlining array natives. r=tcampbell, a=jcristau This simplifies the code a bit because ElementAccessHasExtraIndexedProperty checks for length-overflow and sparse-indexes so the callers don't have to do that anymore. Differential Revision: https://phabricator.services.mozilla.com/D29486
9faf24ffeaaf5f1e38fca1c6630716aeca7982bf: Bug 1541404 part 34 - Fix BaselineDebugModeOSR to also recompile interpreter frames. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Thu, 16 May 2019 08:56:53 +0000 - rev 532888
Push 11276 by rgurzau@mozilla.com at Mon, 20 May 2019 13:11:24 +0000
Bug 1541404 part 34 - Fix BaselineDebugModeOSR to also recompile interpreter frames. r=tcampbell This matches what we do for C++-interpreter frames in CollectInterpreterStackScripts and SkipInterpreterFrameEntries. It's necessary for Interpreter => JIT OSR to work correctly. This fixes remaining jit-test failures with --blinterp-eager Differential Revision: https://phabricator.services.mozilla.com/D31050
6c6307b33331b070584d259ddefdc5439d56d759: Bug 1541404 part 30 - Fix some debugger issues. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Wed, 15 May 2019 14:24:26 +0000 - rev 532767
Push 11272 by apavel@mozilla.com at Thu, 16 May 2019 15:28:22 +0000
Bug 1541404 part 30 - Fix some debugger issues. r=tcampbell With this we pass all debugger jit-tests. Differential Revision: https://phabricator.services.mozilla.com/D30901
6eea4e18512a82b11c1f8d49a2c084ffecf325ff: Bug 1541404 part 29 - Perform arguments analysis when creating the TypeScript. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Wed, 15 May 2019 06:36:39 +0000 - rev 532728
Push 11272 by apavel@mozilla.com at Thu, 16 May 2019 15:28:22 +0000
Bug 1541404 part 29 - Perform arguments analysis when creating the TypeScript. r=tcampbell The code in NewArgumentsObject was wrong because the interpreter code calling it also relies on the analysis having been performed. Differential Revision: https://phabricator.services.mozilla.com/D30899
e00d479b6a92650637b9347d9ae18bd8da3b9493: Bug 1541404 part 28 - Fix ARM issues. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Wed, 15 May 2019 07:42:50 +0000 - rev 532727
Push 11272 by apavel@mozilla.com at Thu, 16 May 2019 15:28:22 +0000
Bug 1541404 part 28 - Fix ARM issues. r=tcampbell 1. We can't use loadValue for JSOP_DOUBLE because on ARM that might use LDRD or LDM and these are not guaranteed to support unaligned loads. Fix is to add loadUnalignedValue that always uses plain 32-bit loads. 2. DebugTrapHandler's fast path for the interpreter used "lr" as second scratch register, clobbering the return address. The setSecondScratchRegister mechanism prevents this. Differential Revision: https://phabricator.services.mozilla.com/D30879
c4b0bd61050bb7f3117c2a46ed740fc5d61d0700: Bug 1541404 part 29 - Perform arguments analysis when creating the TypeScript. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Tue, 14 May 2019 10:36:17 +0000 - rev 532577
Push 11270 by rgurzau@mozilla.com at Wed, 15 May 2019 15:07:19 +0000
Bug 1541404 part 29 - Perform arguments analysis when creating the TypeScript. r=tcampbell The code in NewArgumentsObject was wrong because the interpreter code calling it also relies on the analysis having been performed. Differential Revision: https://phabricator.services.mozilla.com/D30899
760cc10c63b0a19b2553560c69d32a91f0472074: Bug 1541404 part 28 - Fix ARM issues. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Tue, 14 May 2019 10:36:17 +0000 - rev 532576
Push 11270 by rgurzau@mozilla.com at Wed, 15 May 2019 15:07:19 +0000
Bug 1541404 part 28 - Fix ARM issues. r=tcampbell 1. We can't use loadValue for JSOP_DOUBLE because on ARM that might use LDRD or LDM and these are not guaranteed to support unaligned loads. Fix is to add loadUnalignedValue that always uses plain 32-bit loads. 2. DebugTrapHandler's fast path for the interpreter used "lr" as second scratch register, clobbering the return address. The setSecondScratchRegister mechanism prevents this. Differential Revision: https://phabricator.services.mozilla.com/D30879
cb00aa26b3484a2fd795facb8d5df24d2249c64f: Bug 1550616 - Don't #include EitherParser.h in BytecodeCompilation.h when a simple forward-declaration will do. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Sun, 12 May 2019 22:15:51 +0000 - rev 532379
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1550616 - Don't #include EitherParser.h in BytecodeCompilation.h when a simple forward-declaration will do. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D30579
0fde18f5d16f490f98190180b30861aced722ccf: Bug 1550616 - Move ModuleBuilder into its own header so that module object-related data structures don't depend on EitherParser.h (and therefore all of parsing and tokenizing). r=tcampbell
Jeff Walden <jwalden@mit.edu> - Sun, 12 May 2019 22:15:49 +0000 - rev 532378
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1550616 - Move ModuleBuilder into its own header so that module object-related data structures don't depend on EitherParser.h (and therefore all of parsing and tokenizing). r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D30578
0e910372a9568d4a0d1070e0f78e787de42cac8e: Bug 1550616 - Move Token-related types to a new frontend/Token.h header so needing something like TokenPos doesn't demand a dependency on TokenStream.h. (ParseNode.h is a notable instance of this.) r=tcampbell
Jeff Walden <jwalden@mit.edu> - Sun, 12 May 2019 22:15:47 +0000 - rev 532377
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1550616 - Move Token-related types to a new frontend/Token.h header so needing something like TokenPos doesn't demand a dependency on TokenStream.h. (ParseNode.h is a notable instance of this.) r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D30577
78749757be96d07200e582ff178b1d1d1686fae6: Bug 1550616 - Make SharedContext.h not #include TokenStream.h now that it doesn't depend on it. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Sun, 12 May 2019 22:14:29 +0000 - rev 532376
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1550616 - Make SharedContext.h not #include TokenStream.h now that it doesn't depend on it. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D30576
c706eab3c639f68720b3f3d634b29424da7f6360: Bug 1550616 - Make FunctionBox::setEnd take the actual uint32_t end, not TokenStreamAnyChars&, and add ParserBase::setFunctionEndFromCurrentToken that calls it passing the correct value, to eliminate another SharedContext.h dependency on... r=tcampbell
Jeff Walden <jwalden@mit.edu> - Sun, 12 May 2019 22:14:11 +0000 - rev 532375
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1550616 - Make FunctionBox::setEnd take the actual uint32_t end, not TokenStreamAnyChars&, and add ParserBase::setFunctionEndFromCurrentToken that calls it passing the correct value, to eliminate another SharedContext.h dependency on... r=tcampbell ...TokenStream.h. r=tcampbell Depends on D30574 Differential Revision: https://phabricator.services.mozilla.com/D30575
703783d5484d173508e8a13d41fde8d121149211: Bug 1550616 - Move GeneralTokenStreamChars::setFunctionStart to GeneralParser::setFunctionStartAtCurrentToken in Parser.cpp, eliminating one reason SharedContext.h depends on TokenStream.h. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Sun, 12 May 2019 22:13:53 +0000 - rev 532374
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1550616 - Move GeneralTokenStreamChars::setFunctionStart to GeneralParser::setFunctionStartAtCurrentToken in Parser.cpp, eliminating one reason SharedContext.h depends on TokenStream.h. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D30574
f1a3220fc10b57240e57bde4bfeba9745013dffe: Bug 1550616 - Don't #include EitherParser.h in BytecodeCompilation.h when a simple forward-declaration will do. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Sun, 12 May 2019 01:39:24 +0000 - rev 532356
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1550616 - Don't #include EitherParser.h in BytecodeCompilation.h when a simple forward-declaration will do. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D30579
b435e9bb58cc70ce432f6f3fc837fa318d35a637: Bug 1550616 - Move ModuleBuilder into its own header so that module object-related data structures don't depend on EitherParser.h (and therefore all of parsing and tokenizing). r=tcampbell
Jeff Walden <jwalden@mit.edu> - Sun, 12 May 2019 01:39:15 +0000 - rev 532355
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1550616 - Move ModuleBuilder into its own header so that module object-related data structures don't depend on EitherParser.h (and therefore all of parsing and tokenizing). r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D30578
1b35028d64e470f26dd1fec14b331194b86fec30: Bug 1550616 - Move Token-related types to a new frontend/Token.h header so needing something like TokenPos doesn't demand a dependency on TokenStream.h. (ParseNode.h is a notable instance of this.) r=tcampbell
Jeff Walden <jwalden@mit.edu> - Sun, 12 May 2019 01:38:54 +0000 - rev 532354
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1550616 - Move Token-related types to a new frontend/Token.h header so needing something like TokenPos doesn't demand a dependency on TokenStream.h. (ParseNode.h is a notable instance of this.) r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D30577
5fd47cd91b82fb4c4711dce0963d3175fbe29375: Bug 1550616 - Make SharedContext.h not #include TokenStream.h now that it doesn't depend on it. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Sun, 12 May 2019 01:38:40 +0000 - rev 532353
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1550616 - Make SharedContext.h not #include TokenStream.h now that it doesn't depend on it. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D30576
59f2744f50c51af18a58bafc9832550be1cac41f: Bug 1550616 - Make FunctionBox::setEnd take the actual uint32_t end, not TokenStreamAnyChars&, and add ParserBase::setFunctionEndFromCurrentToken that calls it passing the correct value, to eliminate another SharedContext.h dependency on... r=tcampbell
Jeff Walden <jwalden@mit.edu> - Sun, 12 May 2019 01:38:24 +0000 - rev 532352
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1550616 - Make FunctionBox::setEnd take the actual uint32_t end, not TokenStreamAnyChars&, and add ParserBase::setFunctionEndFromCurrentToken that calls it passing the correct value, to eliminate another SharedContext.h dependency on... r=tcampbell ...TokenStream.h. r=tcampbell Depends on D30574 Differential Revision: https://phabricator.services.mozilla.com/D30575
dc57399bbbe3f1e526863e4f2467effc16ffedc2: Bug 1550616 - Move GeneralTokenStreamChars::setFunctionStart to GeneralParser::setFunctionStartAtCurrentToken in Parser.cpp, eliminating one reason SharedContext.h depends on TokenStream.h. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Sun, 12 May 2019 01:38:06 +0000 - rev 532351
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1550616 - Move GeneralTokenStreamChars::setFunctionStart to GeneralParser::setFunctionStartAtCurrentToken in Parser.cpp, eliminating one reason SharedContext.h depends on TokenStream.h. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D30574
2ae93b4399fbeb63cb3ba4884e569b56baff1916: Bug 1549758 - Revert column-number counts to counts of code units for release-or-beta, pending perf considerations in column-number counting being fixed. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Fri, 10 May 2019 21:32:31 +0000 - rev 532297
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1549758 - Revert column-number counts to counts of code units for release-or-beta, pending perf considerations in column-number counting being fixed. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D30717
da74be741b81bb930c64a223ae36f63359b3367c: Bug 1541404 part 26 - Some JSOP_FORCEINTERPRETER changes. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Fri, 10 May 2019 09:55:47 +0000 - rev 532192
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 26 - Some JSOP_FORCEINTERPRETER changes. r=tcampbell Initially the plan was for the Baseline Interpreter to "support" JSOP_FORCEINTERPRETER like the C++ interpreter. However this complicated many things: * We needed to do a VM call to allocate a TypeScript when we resumed generators (the only place where it was needed). * This meant our Baseline Interpreter warm-up heuristics didn't apply to generators. * It complicates the profiler work because it assumes all Baseline Interpreter frames have a TypeScript. We've been moving towards making the Baseline Interpreter more like the JITs for now (requiring a TypeScript instead of a BaselineScript) so I think this is the right move until we change that. This also improves things for the Baseline Compiler: we now have a MOZ_CRASH instead of an abort. Differential Revision: https://phabricator.services.mozilla.com/D30331
2bea789487b771c178585c365496b61d51fbaa6e: Bug 1541404 part 24 - Fix JSScript::resetWarmUpCounter() calls to not affect Baseline. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Wed, 08 May 2019 10:04:19 +0000 - rev 531856
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 24 - Fix JSScript::resetWarmUpCounter() calls to not affect Baseline. r=tcampbell Most of the script->resetWarmUpCounter() calls are heuristics to delay Ion compilation. This patch adds resetWarmUpCounterToDelayIonCompilation to make that more explicit. This method does nothing if the script is not warm enough for Baseline compilation, to ensure scripts never get stuck in the (Baseline) interpreter. Differential Revision: https://phabricator.services.mozilla.com/D29990
a40ff03e71e3c80c2305bb13dc575faa153ddaae: Bug 1549035: Remove const string split optimization r=tcampbell
Iain Ireland <iireland@mozilla.com> - Mon, 06 May 2019 19:48:29 +0000 - rev 531587
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1549035: Remove const string split optimization r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D30093
bb5772c7f2f239d9f59e17e8780292808d350a14: Bug 1549363 - Add missing mozilla/Sprintf.h include in GeckoProfiler.cpp to fix beta simulation bustage. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Mon, 06 May 2019 14:51:48 +0000 - rev 531513
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1549363 - Add missing mozilla/Sprintf.h include in GeckoProfiler.cpp to fix beta simulation bustage. r=tcampbell Bug 1548510 part 2 moved some code into this file without including the header for SprintfLiteral. Differential Revision: https://phabricator.services.mozilla.com/D30062
99ad8ab7c1fd93938f5d94f65a1c8e227d80e5b5: Bug 1547478 - XDR BinAST metadata using deduplicated BinAST data so that pointers in the metadata will correctly point into the deduplicated data, not into user-provided data that hasn't been deduplicated yet. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Fri, 03 May 2019 21:49:52 +0000 - rev 531445
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1547478 - XDR BinAST metadata using deduplicated BinAST data so that pointers in the metadata will correctly point into the deduplicated data, not into user-provided data that hasn't been deduplicated yet. r=tcampbell Depends on D29266 Differential Revision: https://phabricator.services.mozilla.com/D29547
87ead560a2690e1358e314c9f46a44d1426afbdb: Bug 1548538: Refactor IsCacheableGetPropCall r=tcampbell
Iain Ireland <iireland@mozilla.com> - Fri, 03 May 2019 19:15:03 +0000 - rev 531423
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1548538: Refactor IsCacheableGetPropCall r=tcampbell Cleaning some stuff up while we're touching this code. Differential Revision: https://phabricator.services.mozilla.com/D29752
f52499501a149497888857d4dc23ec5adca2c352: Bug 1541404 part 19 - Add BaselineInterpreter class and use it in various places. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Fri, 03 May 2019 07:42:31 +0000 - rev 531255
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 19 - Add BaselineInterpreter class and use it in various places. r=tcampbell I considered adding BaselineInterpreter.{h,cpp} files but there are shared helper functions so this might get awkward. Maybe once the rest of the code is in we can experiment with changes in this area. Differential Revision: https://phabricator.services.mozilla.com/D29158
020e530d49b3b177902dad1048c90d7d9b290354: Bug 1546228 - Check for dynamic protos in AddClearDefiniteGetterSetterForPrototypeChain. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Wed, 24 Apr 2019 19:36:17 +0000 - rev 531252
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1546228 - Check for dynamic protos in AddClearDefiniteGetterSetterForPrototypeChain. r=tcampbell This likely was exposed to fuzzing when we added WindowProxy to the shell. Differential Revision: https://phabricator.services.mozilla.com/D28667
ee5f7a9341cc51164ab783836d3e8cdb0a91b70b: Bug 1546300 - Add a runtime check for structured-clone of RegExp flags not producing an invalid value, rather than merely asserting it. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Wed, 01 May 2019 14:56:22 -0700 - rev 531200
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1546300 - Add a runtime check for structured-clone of RegExp flags not producing an invalid value, rather than merely asserting it. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D29579
bc57aed491f5ac85108cb7d459894a37db4d0b47: Bug 1547478 - Flip the sense of a |mode == XDR_ENCODE| so that BinAST source data is properly XDR'd. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Mon, 29 Apr 2019 20:30:39 -0700 - rev 531199
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1547478 - Flip the sense of a |mode == XDR_ENCODE| so that BinAST source data is properly XDR'd. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D29266
878d133f6a4ce580145297fe2fc01b57cf428b82: Bug 1547478 - Add more assertions verifying that ScriptSources contain expected types of data during the XDR process. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Mon, 29 Apr 2019 16:44:16 -0700 - rev 531198
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1547478 - Add more assertions verifying that ScriptSources contain expected types of data during the XDR process. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D29315
e2e8514d344b0f34c0981f1c4aeb6c26984b2107: Bug 1547478 - Root fresh BinAST metadata created during XDR decoding until it's transferred into its ScriptSource. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Mon, 29 Apr 2019 14:33:55 -0700 - rev 531197
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1547478 - Root fresh BinAST metadata created during XDR decoding until it's transferred into its ScriptSource. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D29314
3ce407a093087045f4eab069aecc55c0bbb972b9: Bug 1537908 part 4 - Replace overflow check with a static_assert. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Wed, 01 May 2019 15:40:11 +0000 - rev 531076
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1537908 part 4 - Replace overflow check with a static_assert. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D29470
827f19b7bf2b6586fd2e1876bffe1dbf9bb0482d: Bug 1541404 part 18 - Various minor changes for debugger support. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Thu, 02 May 2019 08:38:06 +0000 - rev 531074
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 18 - Various minor changes for debugger support. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D28993
b96f067ff11790f61449906ecf7f764abfa2a933: Bug 1547478 - Make the |CodeBinASTData| generic lambda inside |ScriptSource::xdrData| instead be a static member function in |ScriptSource|, consistent with the other code-particular-type-of-data functions. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Mon, 29 Apr 2019 13:05:32 -0700 - rev 530705
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1547478 - Make the |CodeBinASTData| generic lambda inside |ScriptSource::xdrData| instead be a static member function in |ScriptSource|, consistent with the other code-particular-type-of-data functions. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D29265
5fe6df92def0d5de136974cc5c3a9183eb9b7041: Bug 1547478 - Make the |CodeCompressedData| generic lambda inside |ScriptSource::xdrData| instead be a static member function in |ScriptSource|, avoiding the need to pass an ignored |Unit| argument to it purely for overload selection. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Mon, 29 Apr 2019 12:51:45 -0700 - rev 530704
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1547478 - Make the |CodeCompressedData| generic lambda inside |ScriptSource::xdrData| instead be a static member function in |ScriptSource|, avoiding the need to pass an ignored |Unit| argument to it purely for overload selection. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D29264
0494a9f3230c58de2120b5a02dca77f11144298d: Bug 1547478 - Make the |CodeUncompressedData| generic lambda inside |ScriptSource::xdrData| instead be a static member function in |ScriptSource|, avoiding the need to pass an ignored |Unit| argument to it purely for overload selection. r=tcampbell
Jeff Walden <jwalden@mit.edu> - Mon, 29 Apr 2019 12:36:35 -0700 - rev 530703
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1547478 - Make the |CodeUncompressedData| generic lambda inside |ScriptSource::xdrData| instead be a static member function in |ScriptSource|, avoiding the need to pass an ignored |Unit| argument to it purely for overload selection. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D29263
c0101502b8b76ad563a3e84b5df203586394f64d: Bug 1547721 - Add an Ion script size limit. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Mon, 29 Apr 2019 15:28:53 +0000 - rev 530584
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1547721 - Add an Ion script size limit. r=tcampbell We had a script size limit (and number of locals/args limit) when off-thread Ion compilation wasn't available, but no hard limit when off-thread compilation is available. This patch addresses that. This patch also converts the main-thread limits from constants to JitOptions because that's what we use for new code. Differential Revision: https://phabricator.services.mozilla.com/D29217
85d43344501fbdca980332154e3d4e5d4bfcdb84: Bug 1542740: Convert SetPropIRGenerator to use AttachDecision r=tcampbell
Iain Ireland <iireland@mozilla.com> - Fri, 26 Apr 2019 14:30:19 +0000 - rev 530336
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1542740: Convert SetPropIRGenerator to use AttachDecision r=tcampbell This is the other patch with non-trivial refactoring. (GetPropIRGenerator was the first.) Differential Revision: https://phabricator.services.mozilla.com/D27312
50967daabdf4ed31cc819b40e6dad09b62f2dccf: Bug 1537908 part 3 - Use SharedScriptData::numICEntries to allocate and initialize ICScript directly. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Fri, 26 Apr 2019 09:16:27 +0000 - rev 530283
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1537908 part 3 - Use SharedScriptData::numICEntries to allocate and initialize ICScript directly. r=tcampbell Because SharedScriptData now contains numICEntries, we can allocate the ICScript up front and fill it in directly. Advantages are: no Vector malloc/free overhead, no ICEntry copying, no more LifoAlloc::steal, better cache locality, fewer moving parts. This also makes it easier to merge ICScript and TypeScript in the future. Differential Revision: https://phabricator.services.mozilla.com/D28451
39133aa95fce7f894c55ace40c778983c8ca26bf: Bug 1537908 part 2 - Store numICEntries in SharedScriptData. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Fri, 26 Apr 2019 09:16:49 +0000 - rev 530282
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1537908 part 2 - Store numICEntries in SharedScriptData. r=tcampbell This also tidies up overflow checks to ensure numICEntries never overflows UINT32_MAX in the emitter. ICScript currently stores numICEntries as uint32_t, but it's not an issue due to BaselineMaxScriptLength. Differential Revision: https://phabricator.services.mozilla.com/D28450
f35cf62b01a185a3cf8120ac340a347bb23dccf0: Bug 1537908 part 1 - Clean up BytecodeEmitter's TypeSet count a bit. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Fri, 26 Apr 2019 09:16:32 +0000 - rev 530281
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1537908 part 1 - Clean up BytecodeEmitter's TypeSet count a bit. r=tcampbell This makes the naming more consistent. Also, instead of checking against JSScript::MaxBytecodeTypeSets at every JOF_TYPESET op, we can move this condition to SharedScriptData creation if we use uint32_t instead of uint16_t. This is more efficient and also nicer because MaxBytecodeTypeSets seems to be more of a JSScript implementation detail the bytecode emitter doesn't need to worry about. Differential Revision: https://phabricator.services.mozilla.com/D28449
c7006cb7cd64067f94de49da1248fe0de3498a4c: Bug 1541404 part 16 - Implement pushScriptNameArg, emit_JSOP_STRING, emit_JSOP_SYMBOL. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Thu, 25 Apr 2019 09:55:20 +0000 - rev 530270
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 16 - Implement pushScriptNameArg, emit_JSOP_STRING, emit_JSOP_SYMBOL. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D28445
1f4a83429dcdf864a6c778f947d1fd60d305c0bd: Bug 1541404 part 15 - Implement emitWarmUpCounterIncrement. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Thu, 25 Apr 2019 12:31:49 +0000 - rev 530269
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 15 - Implement emitWarmUpCounterIncrement. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D28444
e3cd7a936c717b1a5791a78c0fe626f1fe8ee9de: Bug 1544852 - Call scope data destructors from the finalizer r=tcampbell
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 16 Apr 2019 18:40:47 +0100 - rev 528832
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1544852 - Call scope data destructors from the finalizer r=tcampbell The patch casts the base class pointer to the correct type and deletes it. Happily very little code (~20 instructions) is generated in opt builds where these destructors are basically no-ops. Differential Revision: https://phabricator.services.mozilla.com/D27763
6621a71249171778bcdfca58860ab90968ca5bb1: Bug 1541404 part 13 - Add some code to support entering the interpreter and triggering Baseline compilation from the interpreter. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Wed, 17 Apr 2019 17:26:59 +0000 - rev 528797
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 13 - Add some code to support entering the interpreter and triggering Baseline compilation from the interpreter. r=tcampbell The script->incWarmUpCounter() calls are moved out of the CanEnterBaseline functions and into the callers. This makes it easier to reason about and prevents incrementing it multiple times for the different tiers/flags. baselineWarmUpThreshold should be renamed to baseline{Jit,Compiler}WarmUpThreshold, but that will happen later with other prefs-related changes. Differential Revision: https://phabricator.services.mozilla.com/D27321
6dac2e4b4cabc816146963ba12eed56eae059b8d: Bug 1541404 part 12 - Move ensureExecutionObservabilityOfOsrFrame call into CanEnterBaselineJIT. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Wed, 17 Apr 2019 15:33:22 +0000 - rev 528796
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 12 - Move ensureExecutionObservabilityOfOsrFrame call into CanEnterBaselineJIT. r=tcampbell Next patch will call CanEnterBaselineJIT also for BaselineInterpreter => BaselineJIT OSR. Differential Revision: https://phabricator.services.mozilla.com/D27320
32308895e797198af2aad885bd2d6fae1193bf32: Bug 1541404 part 11 - Some OSR-related BaselineFrame changes. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Thu, 18 Apr 2019 10:04:21 +0000 - rev 528795
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 11 - Some OSR-related BaselineFrame changes. r=tcampbell Differential Revision: https://phabricator.services.mozilla.com/D27249
32342cbe673a3fb37e9e9de2e818c379198a292c: Bug 1479970 - Enable building Tracelogger by default; r=tcampbell
Jim Porter <jporter@mozilla.com> - Thu, 11 Apr 2019 23:52:41 +0000 - rev 528078
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1479970 - Enable building Tracelogger by default; r=tcampbell This patch enables compilation of the tracelogger by default on nightly builds as well as providing an environment variable (JS_TRACE_LOGGING) to enable or disable tracelogger instrumentation when compiling Javascript. This helps to reduce the performance impact of the Tracelogger code when not in use. In the future, this could be improved to recompile the JS with/without Tracelogger instrumentation when toggling Tracelogger support. Differential Revision: https://phabricator.services.mozilla.com/D26255
e4b6aa9c2fc4281c677a9f1eb35eb70500cbc64e: Bug 1541404 part 10 - Fix TypeMonitorResult to check for TypeScript instead of BaselineScript. r=tcampbell
Jan de Mooij <jdemooij@mozilla.com> - Thu, 11 Apr 2019 13:22:10 +0000 - rev 528063
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 10 - Fix TypeMonitorResult to check for TypeScript instead of BaselineScript. r=tcampbell The BaselineScript used to contain the bytecode type map but that's now stored in TypeScript. Differential Revision: https://phabricator.services.mozilla.com/D27038