searching for reviewer(djvj)
c9834e23330c28ee333fc83dfb8ba1cf1e113688: Bug 1541404 part 33 - Implement emitArgumentTypeChecks. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Wed, 15 May 2019 14:25:19 +0000 - rev 532769
Push 11272 by apavel@mozilla.com at Thu, 16 May 2019 15:28:22 +0000
Bug 1541404 part 33 - Implement emitArgumentTypeChecks. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D31039
ad2eae2743d4ffc3c0771efea055041e13b3954c: Bug 1541404 part 27 - Implement emitInterpreterLoop. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Wed, 15 May 2019 07:42:50 +0000 - rev 532726
Push 11272 by apavel@mozilla.com at Thu, 16 May 2019 15:28:22 +0000
Bug 1541404 part 27 - Implement emitInterpreterLoop. r=djvj This is a basic threaded interpreter design. Performance is pretty good but we can optimize it more in the future when everything else is in place. Differential Revision: https://phabricator.services.mozilla.com/D30370
8c4c1145857040627723cf4913e4d30702bd171c: Bug 1541404 part 25 - Various minor changes. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Fri, 10 May 2019 09:55:51 +0000 - rev 532191
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 25 - Various minor changes. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D29993
8da1d9e605dd7218ced00da67ec09c3e37565147: Bug 1541404 part 23 - Implement more BaselineInterpreterGenerator bits. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Fri, 10 May 2019 09:55:49 +0000 - rev 532190
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 23 - Implement more BaselineInterpreterGenerator bits. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D29989
b84d8c19fdea4022e92173ae3cb8b1ab284cf7af: Bug 1541404 part 22 - Add BaselineInterpreterGenerator::emitDebugTrap. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Fri, 10 May 2019 09:55:47 +0000 - rev 532189
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 22 - Add BaselineInterpreterGenerator::emitDebugTrap. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D29818
16ed123dc40181c309ed40a34b83ae3756136169: Bug 1541404 part 20 - Implement more BaselineInterpreterCodegen bits. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Wed, 08 May 2019 08:18:41 +0000 - rev 531849
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 20 - Implement more BaselineInterpreterCodegen bits. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D29463
e8322e4b5e3cdb01ba1449fad87234ae0ed9e617: Bug 1541404 part 17 - Fix InterpreterFrameInfo::popn to account for sizeof(Value). r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 25 Apr 2019 12:49:34 +0000 - rev 530291
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 17 - Fix InterpreterFrameInfo::popn to account for sizeof(Value). r=djvj Differential Revision: https://phabricator.services.mozilla.com/D28596
ef9c8c88826b9823c01fd8fd4f8441bbde105ea3: Bug 1541404 part 14 - BaselineCompiler changes for JSOP_RESUME. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Wed, 24 Apr 2019 13:32:40 +0000 - rev 529469
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 14 - BaselineCompiler changes for JSOP_RESUME. r=djvj When the Baseline Interpreter is enabled unconditionally we will be able to simplify this a bit more, but for now we support both cases. Differential Revision: https://phabricator.services.mozilla.com/D27665
8d11a480d4ae56576b438cfcf5baf1876db25565: Bug 1541404 part 1 - Move initEnvironmentChain from BaselineCompiler to BaselineCodeGen. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Fri, 12 Apr 2019 14:08:03 +0000 - rev 528288
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1541404 part 1 - Move initEnvironmentChain from BaselineCompiler to BaselineCodeGen. r=djvj Also has some other minor prologue-related changes. The interpreter code here is slightly less optimal than it could be, but that will be easier to address in follow-up changes. Differential Revision: https://phabricator.services.mozilla.com/D25930
eb4c19482386cbb55cdf5b24941fba456fa6b522: Bug 1522837 part 16 - Implement pushUint8BytecodeOperandArg and pushUint16BytecodeOperandArg in BaselineInterpreterCodeGen. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 28 Mar 2019 14:05:50 +0000 - rev 526567
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1522837 part 16 - Implement pushUint8BytecodeOperandArg and pushUint16BytecodeOperandArg in BaselineInterpreterCodeGen. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D23299
9b45c3cf37c678a5436d075fb9b347b53b132f93: Bug 1522837 part 15 - Implement aliased var ops in BaselineInterpreterCodeGen. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Tue, 02 Apr 2019 15:32:28 +0000 - rev 526566
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1522837 part 15 - Implement aliased var ops in BaselineInterpreterCodeGen. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D23298
91117189b7787e2e0ac4d05aa79d4dad65cb3f8f: Bug 1522837 part 14 - Implement JSOP_ENVCALLEE, JSOP_NEWTARGET and JSOP_CHECKLEXICAL in BaselineInterpreterCodeGen. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Wed, 03 Apr 2019 07:32:45 +0000 - rev 526565
Push 11265 by ffxbld-merge at Mon, 13 May 2019 10:53:39 +0000
Bug 1522837 part 14 - Implement JSOP_ENVCALLEE, JSOP_NEWTARGET and JSOP_CHECKLEXICAL in BaselineInterpreterCodeGen. r=djvj The JSOP_NEWTARGET code for non-arrow functions now uses cmov instead of an if-else. This is a bit simpler (especially for the interpreter) and shorter and I didn't see any difference in performance in some Baseline new.target micro-benchmarks. Differential Revision: https://phabricator.services.mozilla.com/D22971
0360f25e31db4b8a9358d13152f3c0b44b0369e4: Bug 1522837 part 13 - Implement emitFormalArgAccess in BaselineCodeGen. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Sun, 10 Mar 2019 19:44:06 +0000 - rev 521300
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1522837 part 13 - Implement emitFormalArgAccess in BaselineCodeGen. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D19174
cbba4888990efd52952797d97b60e06dfddc7aac: Bug 1522837 part 12 - Support JSOP_NEWARRAY and JSOP_INITELEM_ARRAY in BaselineCodeGen. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Sun, 10 Mar 2019 19:43:44 +0000 - rev 521299
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1522837 part 12 - Support JSOP_NEWARRAY and JSOP_INITELEM_ARRAY in BaselineCodeGen. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D19173
7a376bfac6dea0340625911e8bb02ad30c21d5e8: Bug 1522837 part 11 - Implement some simple ops in BaselineInterpreterCodeGen. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Sun, 10 Mar 2019 19:43:26 +0000 - rev 521298
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1522837 part 11 - Implement some simple ops in BaselineInterpreterCodeGen. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D18253
cb6108540cef8f493ec19b75517e8d7c70501a59: Bug 1522837 part 10 - Add interpreter fields to BaselineFrame. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Sun, 10 Mar 2019 19:43:08 +0000 - rev 521297
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1522837 part 10 - Add interpreter fields to BaselineFrame. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D18252
a8bb75678922337675d05ec4c7261ab34dfb995b: Bug 1384808 - Implement a linear cache for searching the shape lineage r=djvj
Denis Palmeiro <dpalmeiro@mozilla.com> - Sun, 03 Feb 2019 00:03:35 +0000 - rev 514525
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1384808 - Implement a linear cache for searching the shape lineage r=djvj Linearly searching the shape lineage can be expensive. It is going to cause branch misses and cache misses since we are traversing a linked list. Since this is done frequently enough, it may be worth while to "cache" results from the linear search. This revision hopes to lazily allocate a small linear cache after the first linear search on a shape. The results from each linear search afterwards will be placed into the cache. If the jsid that is being searched for is frequently looked up then we obtain a "cache hit" from a quick search in the cache. Otherwise, we fall back to a linear search and append the new entry to the cache. Once the cache is full, it will transform into a shape hash table like the previous approach. Differential Revision: https://phabricator.services.mozilla.com/D12155
a9e0cc55d71ad830d58994bc994b7aba1df69ac6: Bug 1522837 part 1 - Implement loadScript, emitInitializeLocals, storeFrameSizeAndPushDescriptor for BaselineInterpreterHandler. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Sun, 03 Feb 2019 10:06:39 +0000 - rev 514465
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1522837 part 1 - Implement loadScript, emitInitializeLocals, storeFrameSizeAndPushDescriptor for BaselineInterpreterHandler. r=djvj This also removes computeFullFrameSize because we don't really need it. Differential Revision: https://phabricator.services.mozilla.com/D17644
3eeb76f0f5d8b02423b0701b8dcf3306c6578178: Bug 1522837 part 1 - Implement loadScript, emitInitializeLocals, storeFrameSizeAndPushDescriptor for BaselineInterpreterHandler. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 31 Jan 2019 20:06:06 +0000 - rev 514265
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1522837 part 1 - Implement loadScript, emitInitializeLocals, storeFrameSizeAndPushDescriptor for BaselineInterpreterHandler. r=djvj This also removes computeFullFrameSize because we don't really need it. Differential Revision: https://phabricator.services.mozilla.com/D17644
e9fb9b21984703366a643e6472cedff5726d7ee4: Bug 1522792 part 3 - Add some offsetOf methods we will need later. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Mon, 28 Jan 2019 20:40:14 +0000 - rev 513753
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1522792 part 3 - Add some offsetOf methods we will need later. r=djvj Depends on D17624 Differential Revision: https://phabricator.services.mozilla.com/D17625
dd40395ed807a09a53b06be1176c6000870f6e68: Bug 1520744 - Move prologue/epilogue methods from BaselineCompiler to BaselineCodeGen. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Sun, 27 Jan 2019 08:55:18 +0000 - rev 512704
Push 10566 by archaeopteryx@coole-files.de at Mon, 28 Jan 2019 12:41:12 +0000
Bug 1520744 - Move prologue/epilogue methods from BaselineCompiler to BaselineCodeGen. r=djvj This will change a bit in the future but I think this is a reasonable initial version. Differential Revision: https://phabricator.services.mozilla.com/D16801
ef038a8b19442250bef744c830b4fecb884ad426: Bug 1520452 part 2 - Move remaining compiler-specific fields from BaselineCodeGen to BaselineCompilerHandler. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Sun, 27 Jan 2019 08:54:48 +0000 - rev 512697
Push 10566 by archaeopteryx@coole-files.de at Mon, 28 Jan 2019 12:41:12 +0000
Bug 1520452 part 2 - Move remaining compiler-specific fields from BaselineCodeGen to BaselineCompilerHandler. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D16690
eff43158adb80f26363c448b52f5d37dbfae7575: Bug 1522075 part 3 - Add MacroAssembler::guardedCallPreBarrierAnyZone for use in trampolines. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 24 Jan 2019 17:36:12 +0000 - rev 512435
Push 10566 by archaeopteryx@coole-files.de at Mon, 28 Jan 2019 12:41:12 +0000
Bug 1522075 part 3 - Add MacroAssembler::guardedCallPreBarrierAnyZone for use in trampolines. r=djvj When generating the interpreter, we assert in guardedCallPreBarrier because JitContext::realm is nullptr. This adds guardedCallPreBarrierAnyZone for that use case: it loads cx->zone dynamically instead of baking it in. Differential Revision: https://phabricator.services.mozilla.com/D17367
59e188c6e83500abb433777237af9ba231901445: Bug 1522075 part 2 - Move prepareVMCall calls into lambdas because prepareVMCall and callVM have to be balanced. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 24 Jan 2019 17:35:47 +0000 - rev 512434
Push 10566 by archaeopteryx@coole-files.de at Mon, 28 Jan 2019 12:41:12 +0000
Bug 1522075 part 2 - Move prepareVMCall calls into lambdas because prepareVMCall and callVM have to be balanced. r=djvj This fixes some assertion failures when generating the interpreter. Differential Revision: https://phabricator.services.mozilla.com/D17366
d42906b3c65e3009761774c8353a5104335ac4c6: Bug 1520452 part 1 - Move script field from BaselineCodeGen to BaselineCompilerHandler. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 24 Jan 2019 12:59:04 +0000 - rev 512393
Push 10566 by archaeopteryx@coole-files.de at Mon, 28 Jan 2019 12:41:12 +0000
Bug 1520452 part 1 - Move script field from BaselineCodeGen to BaselineCompilerHandler. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D16689
d11bb3bd81951e0e5a66bc9e3ae80ca22d2ad13f: Bug 1519880 part 2 - Split Baseline's FrameInfo class in CompilerFrameInfo and InterpreterFrameInfo. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 17 Jan 2019 12:19:06 +0000 - rev 511369
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1519880 part 2 - Split Baseline's FrameInfo class in CompilerFrameInfo and InterpreterFrameInfo. r=djvj InterpreterFrameInfo is just a very simple interface on top of masm. CompilerFrameInfo maintains the virtual stack based on the script it's compiling. Differential Revision: https://phabricator.services.mozilla.com/D16480
f24ec43206d74a563fbd401faf3761dde41707f8: Bug 1519880 part 1 - Stop exposing StackValue* to BaselineCodeGen. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 17 Jan 2019 12:18:35 +0000 - rev 511368
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1519880 part 1 - Stop exposing StackValue* to BaselineCodeGen. r=djvj The interpreter won't use the virtual stack and StackValue, so we need to refactor things a bit so we don't call frame.peek(x) outside the FrameInfo class. StackValue will be just an implementation detail of CompilerFrameInfo in the next patch. Differential Revision: https://phabricator.services.mozilla.com/D16479
cbe224190304b678b8ca0c9647cd5989e3a93609: Bug 1519792 part 2 - Move pc field from BaselineCodeGen to BaselineCompilerHandler. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 17 Jan 2019 09:20:15 +0000 - rev 511352
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1519792 part 2 - Move pc field from BaselineCodeGen to BaselineCompilerHandler. r=djvj JSOPs like JSOP_INT8 that depend on the pc need to be specialized now for the interpreter. I added MOZ_CRASH versions of these that we can implement later. This split is a bit pessimistic: we should actually (partially) share codegen for some of these ops like JSOP_RESUME. However it's easier to revisit this later when we need to implement these ops for the interpreter. Differential Revision: https://phabricator.services.mozilla.com/D16442
1e52ffae5eb49e06edc3ec9701e3365ef7649c78: Bug 1519792 part 1 - Move some BaselineCompiler methods to the end of the file. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 17 Jan 2019 09:19:50 +0000 - rev 511351
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1519792 part 1 - Move some BaselineCompiler methods to the end of the file. r=djvj The next patch will template-specialize some of the emit_JSOP_FOO methods, but the C++ compiler wants that to happen before we call these methods in emitBody. Differential Revision: https://phabricator.services.mozilla.com/D16441
00614ec6e765206c325364b51b8810fddf29234d: Bug 1519779 - Add some helper methods for pushing script/pc or script name/object/scope for VM calls in BaselineCodeGen. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Wed, 16 Jan 2019 21:05:31 +0000 - rev 511347
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1519779 - Add some helper methods for pushing script/pc or script name/object/scope for VM calls in BaselineCodeGen. r=djvj Interpreter and compiler will implement these differently, but this allows sharing codegen for a large number of JSOps. Differential Revision: https://phabricator.services.mozilla.com/D16438
9882be81c9e458ee7db63788f01ac8a85a47df72: Bug 1519700: Add testcase to jit-tests r=djvj
Iain Ireland <iireland@mozilla.com> - Wed, 16 Jan 2019 19:02:05 +0000 - rev 511238
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1519700: Add testcase to jit-tests r=djvj Differential Revision: https://phabricator.services.mozilla.com/D16512
9a76ebcfbe9d5d8ff5731e59aed195a2c9ffb8cd: Bug 1519700: Fix incorrect logic in TryNoteIter::settle r=djvj
Iain Ireland <iireland@mozilla.com> - Mon, 14 Jan 2019 19:41:05 +0000 - rev 510934
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1519700: Fix incorrect logic in TryNoteIter::settle r=djvj Differential Revision: https://phabricator.services.mozilla.com/D16494
b4bda4351a9cb9af39368b83766a3497298a45ad: Bug 1517135: Improve performance of BytecodeEmitter::finishTakingSrcNotes r=djvj
Iain Ireland <iireland@mozilla.com> - Thu, 10 Jan 2019 20:59:11 +0000 - rev 510449
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1517135: Improve performance of BytecodeEmitter::finishTakingSrcNotes r=djvj Differential Revision: https://phabricator.services.mozilla.com/D16106
ec925f7dac88abd54ba19d4b317b7b3699ecce1f: Bug 1503251 - Keep payload values in the dictionary if they are still alive. r=djvj
Denis Palmeiro <dpalmeiro@mozilla.com> - Fri, 07 Dec 2018 17:42:39 +0000 - rev 506071
Push 10304 by csabou@mozilla.com at Mon, 10 Dec 2018 13:40:42 +0000
Bug 1503251 - Keep payload values in the dictionary if they are still alive. r=djvj If the JS::ResetTraceLogger() routine is called, then keep track of existing event payloads and keep their existence alive instead of clearing them. This data can still be referred to in another profiler session and can therefore cause to dangling pointers if we free them. Differential Revision: https://phabricator.services.mozilla.com/D10277
7dc99db92ea4dee6bd7a02b20067fd3b64e1f352: Bug 1497016 - Add an API to extract tracelogger data and use this within the gecko profiler r=mstange,djvj
Denis Palmeiro <dpalmeiro@mozilla.com> - Tue, 04 Dec 2018 21:43:38 +0000 - rev 505802
Push 10301 by archaeopteryx@coole-files.de at Thu, 06 Dec 2018 16:36:14 +0000
Bug 1497016 - Add an API to extract tracelogger data and use this within the gecko profiler r=mstange,djvj Add a new class to extract tracelogger data using chunked buffers and use this to write the data out to the profiler JSON output. Copying the data in chunks lets us minimize our memory overhead when writing out to the profiler so a large array of millions of elements does not need to be allocated ahead of time. Differential Revision: https://phabricator.services.mozilla.com/D11791
863959eb64d1f39ad7c07e44f98263ee10d6ef5a: Bug 1508962 part 4 - Abstract jump opcodes in BaselineCodeGen. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 29 Nov 2018 22:44:50 +0000 - rev 505308
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1508962 part 4 - Abstract jump opcodes in BaselineCodeGen. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D12924
c315f5473734de31c574cb650c67a98916f9f64b: Bug 1508962 part 3 - Eliminate some *pc uses where we know the JSOp statically. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 29 Nov 2018 22:44:48 +0000 - rev 505307
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1508962 part 3 - Eliminate some *pc uses where we know the JSOp statically. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D12922
e0b75c94bc06140a53af4e9bc1a6c738b62d5793: Bug 1508962 part 2 - Implement emitDebugInstrumentation to abstract emitting debugging-specific code. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 29 Nov 2018 22:44:44 +0000 - rev 505306
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1508962 part 2 - Implement emitDebugInstrumentation to abstract emitting debugging-specific code. r=djvj Differential Revision: https://phabricator.services.mozilla.com/D12523
77764799fba3b6f29fb7b5ce15e4ba73f263832f: Bug 1508962 part 1 - Add a BaselineCodeGen<Handler> base class to BaselineCompiler and use it for JSOp compilation. r=djvj
Jan de Mooij <jdemooij@mozilla.com> - Thu, 29 Nov 2018 22:43:00 +0000 - rev 505305
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1508962 part 1 - Add a BaselineCodeGen<Handler> base class to BaselineCompiler and use it for JSOp compilation. r=djvj This is just the first step: the Handler classes are still empty and BaselineCodeGen contains fields/methods that should eventually move out of there. That will happen in follow-up patches. Rooting analysis now reported a hazard in ObjectGroup::getOrFixupCopyOnWriteObject, this patch has the trivial fix for that too. Differential Revision: https://phabricator.services.mozilla.com/D12522
57f8289e1159f57271001c480258598f90305ed1: Bug 1509293: Add test case r=djvj
Matthew Gaudet <mgaudet@mozilla.com> - Thu, 29 Nov 2018 19:21:30 +0000 - rev 505285
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1509293: Add test case r=djvj Differential Revision: https://phabricator.services.mozilla.com/D13436
da3635436bf11b00795861958e251249a8fe005c: Bug 1509293: Add missing lazyProtoCheck to tryAttachArrayPush r=djvj
Matthew Gaudet <mgaudet@mozilla.com> - Wed, 28 Nov 2018 17:52:16 +0000 - rev 504987
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1509293: Add missing lazyProtoCheck to tryAttachArrayPush r=djvj Differential Revision: https://phabricator.services.mozilla.com/D12787
c376952fc91969b904b31cc0da568bb716cc17df: Bug 1501787 - Reset entered counts on stub attachment r=djvj
Matthew Gaudet <mgaudet@mozilla.com> - Mon, 19 Nov 2018 18:56:39 +0000 - rev 503467
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1501787 - Reset entered counts on stub attachment r=djvj Resetting the entered count on an IC stub chain makes interpretation of the counter values easier. For example, if we see an IC chain like this A (1000) -> B(800) -> C (400) -> D (200) -> FB (100) We can say that there have been 100 cases not handled by chain, (and we did not attach new stubs for those cases), and B handled the most (400) queries to the IC chain. Differential Revision: https://phabricator.services.mozilla.com/D11883
fdda51be24d24588b7803ba0c07ffea848bd5e37: Bug 1502051 - Cleanup BaselineScript::nativeCodeForPc. r=djvj
Ted Campbell <tcampbell@mozilla.com> - Fri, 26 Oct 2018 16:01:59 +0000 - rev 499585
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1502051 - Cleanup BaselineScript::nativeCodeForPc. r=djvj Add a maybeNativeCodeForPc that returns nullptr on optimized-out code. This is useful later for generating mappings without having to first determine 'dead code'. Also reorganize the logic a little. Differential Revision: https://phabricator.services.mozilla.com/D9799
5c6343e86e056e982eb754cb8f8e2649ebadea45: Bug 1502051 - Always check slotInfo for BaselineScript::nativeCodeForPc. r=djvj
Ted Campbell <tcampbell@mozilla.com> - Fri, 26 Oct 2018 16:01:41 +0000 - rev 499584
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1502051 - Always check slotInfo for BaselineScript::nativeCodeForPc. r=djvj Make the slotInfo argument required and assert that stack is synchronized. A native code address for baseline is only well-defined if the registers are setup correctly. Existing code was fine, this just asserts some previously un-documented things. Differential Revision: https://phabricator.services.mozilla.com/D9790
1eb75409c3e98371d510ff013905ad06eaa304d0: Bug 1502051 - Cleanup up BaselineScript initializers. r=djvj
Ted Campbell <tcampbell@mozilla.com> - Fri, 26 Oct 2018 15:59:54 +0000 - rev 499582
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1502051 - Cleanup up BaselineScript initializers. r=djvj - Use C++ member initialization to simplify constructors. - Mark class as final since it has trailing allocations. - Make constructor private. Differential Revision: https://phabricator.services.mozilla.com/D9787
c4825f9877365dfd803324a80391d5cda40e554b: Bug 1427774: Fix baseline return address more consistently in JSJitProfilingFrameIterator r=djvj
Iain Ireland <iireland@mozilla.com> - Mon, 22 Oct 2018 18:36:06 +0000 - rev 499578
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1427774: Fix baseline return address more consistently in JSJitProfilingFrameIterator r=djvj Differential Revision: https://phabricator.services.mozilla.com/D9384
1417a92298ff87a3b0f328566ed20b06cbcb1d65: Bug 1499544 - [Part 2] Use ByteCodeLocation and ByteCodeIterator r=djvj
Matthew Gaudet <mgaudet@mozilla.com> - Tue, 16 Oct 2018 15:44:37 -0400 - rev 499403
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1499544 - [Part 2] Use ByteCodeLocation and ByteCodeIterator r=djvj The interface is expanded and refined in this patch, showing a more complicated set of requirements and the answers to those requirements Differential Revision: https://phabricator.services.mozilla.com/D8920
908a0972c1b529a90e9bee5055f83c86b06a0bb2: Bug 1499544 - [Part 1] Foundational implementation of BytecodeIterator r=djvj
Matthew Gaudet <mgaudet@mozilla.com> - Tue, 16 Oct 2018 15:43:37 -0400 - rev 499402
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1499544 - [Part 1] Foundational implementation of BytecodeIterator r=djvj This is an initial skeleton of an inteface for bytecode. There are 6 major portions included in this patch. - RawBytecode: A typedef to expose jsbytecode* in a controlled manner, to allow easy future audits. - BytecodeLocation: This is an immutable view of a single program operation (a bytecode). There is is some basic functionality in here included for experimentation sake. - BytecodeLocationOffset: An immutable view of a source location offset, (and RawBytecodeLocationOffset, another typedef to ease future auditing) - BytecodeIterator: A forward iterator over BytecodeLocations, using program text order. - AllBytecodeIterable: A wrapper class that allows the use of a range-based for-loop over BytecodeLocations in a Script. - Modifications to JSScript to expose BytecodeLocations and answer some queries about containment. The interface is experimentally tested using JSScript::initScriptCounts as a simple playground for demonstrating the use of the interface. Differential Revision: https://phabricator.services.mozilla.com/D8918
eb8f3d8844616dbe6789b10a0fa248a7f9da5693: Bug 1481097 - js: Build Array.cpp and JSAtom.cpp in unified mode. r=djvj
Chris Peterson <cpeterson@mozilla.com> - Sun, 22 Jul 2018 00:09:46 -0700 - rev 491374
Push 9984 by ffxbld-merge at Mon, 15 Oct 2018 21:07:35 +0000
Bug 1481097 - js: Build Array.cpp and JSAtom.cpp in unified mode. r=djvj This gcc 4.8.2 workaround (from bug 942421) is no longer needed because Firefox currently requires gcc 6.1 or later (as of bug 1444274).
d81eb0bdb46afb881262bf2567d9604fe57bd762: Bug 1483030 - Implement basic ARM64 codegen. r=djvj
Sean Stangl <sean.stangl@gmail.com> - Mon, 13 Aug 2018 14:27:00 -0400 - rev 488310
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +0000
Bug 1483030 - Implement basic ARM64 codegen. r=djvj