searching for reviewer(jandem)
ce2ec4204fe8517bf7725d162ba55b6d3297966c: Bug 1642593 - Transpile GuardAnyClass. r=jandem
Tom Schuster <evilpies@gmail.com> - Wed, 03 Jun 2020 17:23:46 +0000 - rev 533738
Push 37477 by dluca@mozilla.com at Thu, 04 Jun 2020 04:19:27 +0000
Bug 1642593 - Transpile GuardAnyClass. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D77793
aa20bf181fd0f0dcb9d7f31acadabd69517ff7b3: Bug 1642593 - Support GuardToClass in CacheIR. r=jandem
Tom Schuster <evilpies@gmail.com> - Wed, 03 Jun 2020 17:23:38 +0000 - rev 533737
Push 37477 by dluca@mozilla.com at Thu, 04 Jun 2020 04:19:27 +0000
Bug 1642593 - Support GuardToClass in CacheIR. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D77792
ca5509801aab67bed7c465bc0f22f40d130cc23a: Bug 1642593 - Create a InlinableNativeGuardToClass function to allow for more code sharing. r=jandem
Tom Schuster <evilpies@gmail.com> - Wed, 03 Jun 2020 17:23:23 +0000 - rev 533736
Push 37477 by dluca@mozilla.com at Thu, 04 Jun 2020 04:19:27 +0000
Bug 1642593 - Create a InlinableNativeGuardToClass function to allow for more code sharing. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D77791
4fc6b0a08a293697b99834cd4f19fa10c96f34a7: Bug 1642593 - Transpile GuardAnyClass. r=jandem
Tom Schuster <evilpies@gmail.com> - Tue, 02 Jun 2020 18:57:09 +0000 - rev 533578
Push 37474 by abutkovits@mozilla.com at Wed, 03 Jun 2020 09:29:05 +0000
Bug 1642593 - Transpile GuardAnyClass. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D77793
6f7ef41e1713f27f0648a2dbe0166a334b8d1803: Bug 1642593 - Support GuardToClass in CacheIR. r=jandem
Tom Schuster <evilpies@gmail.com> - Tue, 02 Jun 2020 19:16:09 +0000 - rev 533577
Push 37474 by abutkovits@mozilla.com at Wed, 03 Jun 2020 09:29:05 +0000
Bug 1642593 - Support GuardToClass in CacheIR. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D77792
249b7000aaf87ab223e56f01cc8b6fc06ea5c538: Bug 1642593 - Create a InlinableNativeGuardToClass function to allow for more code sharing. r=jandem
Tom Schuster <evilpies@gmail.com> - Tue, 02 Jun 2020 18:56:50 +0000 - rev 533576
Push 37474 by abutkovits@mozilla.com at Wed, 03 Jun 2020 09:29:05 +0000
Bug 1642593 - Create a InlinableNativeGuardToClass function to allow for more code sharing. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D77791
a049b02d8c985f78da32fef1979d7e4e72636b43: Bug 1596691 - Add a JSParser target to fuzz-tests. r=jandem
Christian Holler <choller@mozilla.com> - Tue, 02 Jun 2020 13:50:23 +0000 - rev 533503
Push 37473 by cbrindusan@mozilla.com at Wed, 03 Jun 2020 04:20:58 +0000
Bug 1596691 - Add a JSParser target to fuzz-tests. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D77006
a8922843785af0cb8cf49e3028320574f6c4cbc7: Bug 1612636: Add test r=jandem
Iain Ireland <iireland@mozilla.com> - Mon, 01 Jun 2020 23:46:46 +0000 - rev 533401
Push 37470 by rmaries@mozilla.com at Tue, 02 Jun 2020 03:24:46 +0000
Bug 1612636: Add test r=jandem Differential Revision: https://phabricator.services.mozilla.com/D61795
4a2b4780c3ff33f2eb2c6b2fd662a3aa3c70b7da: Bug 1596691 - Add a JSParser target to fuzz-tests. r=jandem
Christian Holler <choller@mozilla.com> - Fri, 29 May 2020 06:22:17 +0000 - rev 533150
Push 37465 by btara@mozilla.com at Sun, 31 May 2020 21:42:11 +0000
Bug 1596691 - Add a JSParser target to fuzz-tests. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D77006
ce546d076f5274bb86a7a570fc4096f49a322afa: Bug 1641708 - Transpile IsCallable/IsConstructor r=jandem
Tom Schuster <evilpies@gmail.com> - Fri, 29 May 2020 16:17:51 +0000 - rev 533023
Push 37461 by ccoroiu@mozilla.com at Fri, 29 May 2020 21:46:31 +0000
Bug 1641708 - Transpile IsCallable/IsConstructor r=jandem Differential Revision: https://phabricator.services.mozilla.com/D77383
489bd543dc6f4ee686681e2bdb537f3cdb651f7d: Bug 1641708 - Support IsConstructor in CacheIR r=jandem
Tom Schuster <evilpies@gmail.com> - Fri, 29 May 2020 16:17:44 +0000 - rev 533022
Push 37461 by ccoroiu@mozilla.com at Fri, 29 May 2020 21:46:31 +0000
Bug 1641708 - Support IsConstructor in CacheIR r=jandem Differential Revision: https://phabricator.services.mozilla.com/D77382
a1b906385cfff40825bb71fc0e6bf447efa332c3: Bug 1641708 - Support IsCallable in CacheIR r=jandem
Tom Schuster <evilpies@gmail.com> - Fri, 29 May 2020 16:17:32 +0000 - rev 533021
Push 37461 by ccoroiu@mozilla.com at Fri, 29 May 2020 21:46:31 +0000
Bug 1641708 - Support IsCallable in CacheIR r=jandem Differential Revision: https://phabricator.services.mozilla.com/D77381
b6d02786fcdc9ee79f126318433473195c05d083: Bug 1641708 - Move isCallableOrConstructor to the MacroAssembler r=jandem
Tom Schuster <evilpies@gmail.com> - Fri, 29 May 2020 16:17:14 +0000 - rev 533020
Push 37461 by ccoroiu@mozilla.com at Fri, 29 May 2020 21:46:31 +0000
Bug 1641708 - Move isCallableOrConstructor to the MacroAssembler r=jandem Differential Revision: https://phabricator.services.mozilla.com/D77380
14a902630badfa3c7ddbfe3c95fc959eddd6685d: Bug 1640476 - Warp: Transpile Function.prototype.call. r=jandem
Tom Schuster <evilpies@gmail.com> - Thu, 28 May 2020 10:30:14 +0000 - rev 532743
Push 37458 by nbeleuzu@mozilla.com at Thu, 28 May 2020 21:53:02 +0000
Bug 1640476 - Warp: Transpile Function.prototype.call. r=jandem I changed the CacheIR code to specialize on the actual call target. I think polymorphic targets are actually not totally common, GDocs for example uses hasOwnProperty.call() a lot. When we start supporting guardNotClassConstructor etc. this should just start working as well though. Differential Revision: https://phabricator.services.mozilla.com/D76620
8697046d90f6a9d8534279a32312aa4b254c656e: Bug 1640300 - Transpile scripted calls r=jandem
Tom Schuster <evilpies@gmail.com> - Tue, 26 May 2020 18:25:58 +0000 - rev 532230
Push 37452 by btara@mozilla.com at Wed, 27 May 2020 03:52:55 +0000
Bug 1640300 - Transpile scripted calls r=jandem Differential Revision: https://phabricator.services.mozilla.com/D76559
26347a69e6d5e739e824c21ae11c470a6cf66c8a: Bug 1640300 - Factor out WarpCacheIRTranspiler::emitCallFunction r=jandem
Tom Schuster <evilpies@gmail.com> - Tue, 26 May 2020 18:25:45 +0000 - rev 532229
Push 37452 by btara@mozilla.com at Wed, 27 May 2020 03:52:55 +0000
Bug 1640300 - Factor out WarpCacheIRTranspiler::emitCallFunction r=jandem Differential Revision: https://phabricator.services.mozilla.com/D76558
7ec7ea33770d5ed9694dac6d1808d69b6fde1740: Bug 1640300 - Construct WrappedFunction based on new function metadata stored in CacheIR r=jandem
Tom Schuster <evilpies@gmail.com> - Tue, 26 May 2020 17:45:51 +0000 - rev 532228
Push 37452 by btara@mozilla.com at Wed, 27 May 2020 03:52:55 +0000
Bug 1640300 - Construct WrappedFunction based on new function metadata stored in CacheIR r=jandem Differential Revision: https://phabricator.services.mozilla.com/D76557
67947af6e79bb03a7fcbc9a3fd8d15dcb1a216b5: Bug 1640748 - Warp: Fix LoadArgumentSlot transpilation. r=jandem
Tom Schuster <evilpies@gmail.com> - Tue, 26 May 2020 12:05:09 +0000 - rev 532156
Push 37451 by csabou@mozilla.com at Tue, 26 May 2020 21:37:52 +0000
Bug 1640748 - Warp: Fix LoadArgumentSlot transpilation. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D76758
e1f0deb14cf4e68c79ce3b3b42391e7f23318ed6: Bug 1630607: arm64: check that upper high bits are zero'd when boxing a 32-bit value; r=jandem
Benjamin Bouvier <benj@benj.me> - Mon, 11 May 2020 16:23:06 +0000 - rev 532137
Push 37451 by csabou@mozilla.com at Tue, 26 May 2020 21:37:52 +0000
Bug 1630607: arm64: check that upper high bits are zero'd when boxing a 32-bit value; r=jandem Differential Revision: https://phabricator.services.mozilla.com/D71175
41f104e3eeb168f1383ea0aac276004f6788f2e6: Bug 1639991: Use offsetOf accessors for match result object slots r=jandem
Iain Ireland <iireland@mozilla.com> - Fri, 22 May 2020 07:00:44 +0000 - rev 531689
Push 37442 by ncsoregi@mozilla.com at Sat, 23 May 2020 09:21:24 +0000
Bug 1639991: Use offsetOf accessors for match result object slots r=jandem Also did a drive-by comment clean-up I missed when adding dotAll. Differential Revision: https://phabricator.services.mozilla.com/D76391
9bad8ab13f064e49d2a01d8fe0343712322ba44e: Bug 1362154: Part 6: Fall back to OOL call for named captures in Ion r=jandem
Iain Ireland <iireland@mozilla.com> - Thu, 21 May 2020 06:37:19 +0000 - rev 531651
Push 37441 by apavel@mozilla.com at Fri, 22 May 2020 21:38:53 +0000
Bug 1362154: Part 6: Fall back to OOL call for named captures in Ion r=jandem Named captures add a `groups` property to the match result. The shape of that group depends on the regexp. Allocating an object in masm requires monomorphizing on a particular template object, but all of our existing Ion regexp code is designed to handle arbitrary regexps. This means we can't allocate the `groups` object in jitcode without a lot of work. Given that we have to call into C++ to allocate, we might as well just use the existing OOL fallback. This performs a VM call to RegExpMatcherRaw, which will simply call CreateRegExpMatchResult. Differential Revision: https://phabricator.services.mozilla.com/D76038
15c7977477482783098ffa5f9648c94534e53081: Bug 1639839 - Warp: Transpile JSOp::New. r=jandem
Tom Schuster <evilpies@gmail.com> - Thu, 21 May 2020 16:50:22 +0000 - rev 531485
Push 37440 by abutkovits@mozilla.com at Fri, 22 May 2020 09:43:16 +0000
Bug 1639839 - Warp: Transpile JSOp::New. r=jandem We also need to ignore the template metadata for things like `new Array`. In the future of course we should actually use that for optimizations. Differential Revision: https://phabricator.services.mozilla.com/D76303
6e5ab322dc4d0a68833dbd73e55a4657d0c219c2: Bug 1639159 - Transpile ArrayPush. r=jandem
Tom Schuster <evilpies@gmail.com> - Wed, 20 May 2020 18:18:04 +0000 - rev 531300
Push 37437 by nerli@mozilla.com at Thu, 21 May 2020 02:34:41 +0000
Bug 1639159 - Transpile ArrayPush. r=jandem I tried to compare BaselineCacheIRCompiler::emitArrayPush and CodeGenerator::emitArrayPush to make sure I didn't miss any implicit guards. It seems like the Ion inline path is actually more limited though. MArrayPush is typed in Ion to return Int32, that is however not really true, because array.length can overflow INT32_MAX. Ion currently handles this via TI invalidation. For simplicity I decided to instead add a bailout before we even try to push. In the future we should look into some approach that doesn't require invalidation to handle this. Differential Revision: https://phabricator.services.mozilla.com/D75926
1704b3d9cf33e89fc6c9783596ccfbe8ca134d8f: Bug 1639159 - Transpile LoadProto. r=jandem
Tom Schuster <evilpies@gmail.com> - Wed, 20 May 2020 18:18:01 +0000 - rev 531299
Push 37437 by nerli@mozilla.com at Thu, 21 May 2020 02:34:41 +0000
Bug 1639159 - Transpile LoadProto. r=jandem Due to the previous guards emitted by CacheIR we know that this is always going to load a static prototype. For example using MGetPrototypeOf would also try to handle dynamic prototypes. I added a JIT assertion to make sure this assumption holds. Differential Revision: https://phabricator.services.mozilla.com/D75925
bdaa296c4e6647e0e0e650a53e91c40cef1c13ff: Bug 1639503 - Add folding for MGuardObjectIdentity. r=jandem
Tom Schuster <evilpies@gmail.com> - Wed, 20 May 2020 11:57:32 +0000 - rev 531286
Push 37436 by ncsoregi@mozilla.com at Wed, 20 May 2020 21:30:50 +0000
Bug 1639503 - Add folding for MGuardObjectIdentity. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D76109
017c7c0d6c8dc729a614e2a9d44c42d8fa94ad64: Bug 1638470 - Move script atoms from RuntimeScriptData to PrivateScriptData. r=mgaudet,jandem
Ted Campbell <tcampbell@mozilla.com> - Tue, 19 May 2020 17:24:01 +0000 - rev 530853
Push 37433 by dluca@mozilla.com at Wed, 20 May 2020 03:39:31 +0000
Bug 1638470 - Move script atoms from RuntimeScriptData to PrivateScriptData. r=mgaudet,jandem In practice there is not much saved by sharing these atoms in the runtime these days. Moving this simplifies the script data structures and simplies the Stencil code. Depends on D75643 Differential Revision: https://phabricator.services.mozilla.com/D75644
d052be2448b1f5a3ac95162baeb90bf6843f13ca: Bug 1638460 - Warp: Support transpiling Calls to known natives. r=jandem
Tom Schuster <evilpies@gmail.com> - Mon, 18 May 2020 21:53:27 +0000 - rev 530703
Push 37429 by nbeleuzu@mozilla.com at Tue, 19 May 2020 03:45:31 +0000
Bug 1638460 - Warp: Support transpiling Calls to known natives. r=jandem Depends on D75701 Differential Revision: https://phabricator.services.mozilla.com/D75633
3ec24f39d775136dcf3dd59ad93937d07bfe940c: Bug 1638460 - Factor out the MCall creation logic to makeCall. r=jandem
Tom Schuster <evilpies@gmail.com> - Mon, 18 May 2020 21:53:25 +0000 - rev 530702
Push 37429 by nbeleuzu@mozilla.com at Tue, 19 May 2020 03:45:31 +0000
Bug 1638460 - Factor out the MCall creation logic to makeCall. r=jandem Depends on D75700 Differential Revision: https://phabricator.services.mozilla.com/D75701
0a30a6284ecedd66a932077159d7e2d2e28fbb78: Bug 1638460 - Create a WarpBuilderShared base class. r=jandem
Tom Schuster <evilpies@gmail.com> - Mon, 18 May 2020 21:53:20 +0000 - rev 530701
Push 37429 by nbeleuzu@mozilla.com at Tue, 19 May 2020 03:45:31 +0000
Bug 1638460 - Create a WarpBuilderShared base class. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D75700
a69152ce5537820611365d2a11e7e884cb6950a1: Bug 1638460 - Warp: Support transpiling Calls to known natives. r=jandem
Tom Schuster <evilpies@gmail.com> - Mon, 18 May 2020 20:22:39 +0000 - rev 530684
Push 37429 by nbeleuzu@mozilla.com at Tue, 19 May 2020 03:45:31 +0000
Bug 1638460 - Warp: Support transpiling Calls to known natives. r=jandem Depends on D75701 Differential Revision: https://phabricator.services.mozilla.com/D75633
6159717a9c66f1b9e141c8e2ca3e2b06c7b07c84: Bug 1638460 - Factor out the MCall creation logic to makeCall. r=jandem
Tom Schuster <evilpies@gmail.com> - Mon, 18 May 2020 20:22:32 +0000 - rev 530683
Push 37429 by nbeleuzu@mozilla.com at Tue, 19 May 2020 03:45:31 +0000
Bug 1638460 - Factor out the MCall creation logic to makeCall. r=jandem Depends on D75700 Differential Revision: https://phabricator.services.mozilla.com/D75701
6ba73d568affebedd24424174f257faec2b15b46: Bug 1638460 - Create a WarpBuilderShared base class. r=jandem
Tom Schuster <evilpies@gmail.com> - Mon, 18 May 2020 20:22:16 +0000 - rev 530682
Push 37429 by nbeleuzu@mozilla.com at Tue, 19 May 2020 03:45:31 +0000
Bug 1638460 - Create a WarpBuilderShared base class. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D75700
ecc61cf8798f9f624aedd6ef04595a920212750c: Bug 1638787 - Support return values and timeouts in JSRT fuzzing interface. r=jandem
Christian Holler <choller@mozilla.com> - Mon, 18 May 2020 15:54:18 +0000 - rev 530624
Push 37428 by nbeleuzu@mozilla.com at Mon, 18 May 2020 21:48:24 +0000
Bug 1638787 - Support return values and timeouts in JSRT fuzzing interface. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D75773
8a549beacd6b5435b6ef1ee75da67439567a5336: Bug 1638586 - Introduce and use branchNeg32. r=jandem
Tom Schuster <evilpies@gmail.com> - Sun, 17 May 2020 18:59:20 +0000 - rev 530504
Push 37425 by rmaries@mozilla.com at Mon, 18 May 2020 03:47:38 +0000
Bug 1638586 - Introduce and use branchNeg32. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D75690
c30f74744dda05025af8adb460b509c627a624f7: Bug 1638586 - Cleanup and share more code for double abs in Ion. r=jandem
Tom Schuster <evilpies@gmail.com> - Sun, 17 May 2020 18:59:02 +0000 - rev 530503
Push 37425 by rmaries@mozilla.com at Mon, 18 May 2020 03:47:38 +0000
Bug 1638586 - Cleanup and share more code for double abs in Ion. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D75689
9ba7a0d69b9665bac0eb271b36e0a9530715723f: Bug 1065894 - Part 8: Add test cases. r=jandem
André Bargull <andre.bargull@gmail.com> - Sat, 16 May 2020 13:49:15 +0000 - rev 530482
Push 37422 by btara@mozilla.com at Sat, 16 May 2020 21:39:26 +0000
Bug 1065894 - Part 8: Add test cases. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D74627
e0d13e5b07a6f583190c1f0c4bab9f60ddbc0628: Bug 1065894 - Part 7: Inline 'byteLength' and 'byteOffset' getters for DataViews. r=jandem
André Bargull <andre.bargull@gmail.com> - Sat, 16 May 2020 12:59:22 +0000 - rev 530481
Push 37422 by btara@mozilla.com at Sat, 16 May 2020 21:39:26 +0000
Bug 1065894 - Part 7: Inline 'byteLength' and 'byteOffset' getters for DataViews. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D74625
5bd1d18fe1c236cad3d6480ac031fd5757dc8d11: Bug 1065894 - Part 6: Inline DataView setter functions. r=jandem
André Bargull <andre.bargull@gmail.com> - Sat, 16 May 2020 13:35:32 +0000 - rev 530480
Push 37422 by btara@mozilla.com at Sat, 16 May 2020 21:39:26 +0000
Bug 1065894 - Part 6: Inline DataView setter functions. r=jandem Similar to the previous part, inline the setter functions based on the current `StoreUnboxedScalar` support. Differential Revision: https://phabricator.services.mozilla.com/D74624
d36328fd387de504fe087c411002e04dca56fb1c: Bug 1065894 - Part 5: Inline DataView getter functions. r=jandem
André Bargull <andre.bargull@gmail.com> - Sat, 16 May 2020 13:46:43 +0000 - rev 530479
Push 37422 by btara@mozilla.com at Sat, 16 May 2020 21:39:26 +0000
Bug 1065894 - Part 5: Inline DataView getter functions. r=jandem The implementation of `LoadDataViewElement` follows `LoadUnboxedScalar`, therefore most `LoadDataViewElement` functions were placed next to their counterparts from `LoadUnboxedScalar`. MCallOptimize: - The two single-byte getters `getInt8` and `getUint8` are directly inlined through `LoadUnboxedScalar`. - This let's us avoid duplicating the single byte extra cases in Lowering. - And `MLoadDataViewElement` doesn't need to save the otherwise unused `littleEndian` parameter. Lowering: - Optimises the case when `littleEndian` is a constant value, so we can avoid branching around the byte swap instructions in most cases. - As usual, x86 needs special-casing because there are too few registers available. I didn't bother to implement the following two optimisations for `LoadUnboxedScalar` to `LoadDataViewElement`: - `AnalyzeLoadUnboxedScalar` from EffectiveAddressAnalysis - Constant index optimisation in lowering/codegen Both optimisations are currently unavailable due to Spectre index masking, so it didn't seem worthwhile to spend time to support them for `LoadDataViewElement`. Differential Revision: https://phabricator.services.mozilla.com/D74623
0822e88eb00930f568470be9256dd534940114a2: Bug 1065894 - Part 4: Add LInt64Definition::BogusTemp. r=jandem
André Bargull <andre.bargull@gmail.com> - Sat, 16 May 2020 12:57:50 +0000 - rev 530478
Push 37422 by btara@mozilla.com at Sat, 16 May 2020 21:39:26 +0000
Bug 1065894 - Part 4: Add LInt64Definition::BogusTemp. r=jandem Change LInt64Definition to a proper class and add a `BogusTemp` method to it. This will be used in the next patches. Differential Revision: https://phabricator.services.mozilla.com/D74622
abb6d449fd6a5e93be4ea4c91658f2abea85a6f7: Bug 1065894 - Part 3: Add unaligned load and store functions to the assemblers. r=jandem
André Bargull <andre.bargull@gmail.com> - Sat, 16 May 2020 12:57:30 +0000 - rev 530477
Push 37422 by btara@mozilla.com at Sat, 16 May 2020 21:39:26 +0000
Bug 1065894 - Part 3: Add unaligned load and store functions to the assemblers. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D74621
2b5bf053877ab47b06fe55860d3aeea3754d6a0a: Bug 1065894 - Part 2: Add byte swap instructions to the assemblers. r=jandem
André Bargull <andre.bargull@gmail.com> - Sat, 16 May 2020 13:46:36 +0000 - rev 530476
Push 37422 by btara@mozilla.com at Sat, 16 May 2020 21:39:26 +0000
Bug 1065894 - Part 2: Add byte swap instructions to the assemblers. r=jandem x86/x64: - Implement the 2-byte swap instructions using `rol`, matching the output of Clang for the `__builtin_bswap16` built-in. - 4-byte and 8-byte swaps are implemented through `bswap`. - The actual `rol` and `bswap` functions are derived from upstream. arm32: - Implement 2-byte swap with sign extend using `revsh`. - Implement 2-byte swap with zero extend using `rev16` followed by `uxth`. - 4-byte and 8-byte swaps are implemented through `rev`. arm64: - Implement 2-byte swap using `rev16` followed by either `sxth` or `uxth`. - 4-byte and 8-byte swaps are implemented through `rev`. Differential Revision: https://phabricator.services.mozilla.com/D74620
420e72fb4f834a9a88ba087b78f9465c53a4f34f: Bug 1065894 - Part 1: Rename TypedArray mir nodes to mention ArrayBufferView. r=jandem
André Bargull <andre.bargull@gmail.com> - Sat, 16 May 2020 12:57:20 +0000 - rev 530475
Push 37422 by btara@mozilla.com at Sat, 16 May 2020 21:39:26 +0000
Bug 1065894 - Part 1: Rename TypedArray mir nodes to mention ArrayBufferView. r=jandem Following bug 1496378, update MIR nodes to mention ArrayBufferView instead of TypedArray. Later patches in this stack will make use of them for DataView objects. Differential Revision: https://phabricator.services.mozilla.com/D74619
f1f07001d0c0495c294859edc8162a8c47de0a83: Bug 1637755 - Support transpiling simple (optimized) native calls. r=jandem,iain
Tom Schuster <evilpies@gmail.com> - Fri, 15 May 2020 22:37:21 +0000 - rev 530409
Push 37421 by cbrindusan@mozilla.com at Sat, 16 May 2020 09:34:57 +0000
Bug 1637755 - Support transpiling simple (optimized) native calls. r=jandem,iain I changed GuardSpecificNativeFunction to GuardSpecificFunction (aka Object), which is easier to optimize. With this patch we can transpile calls to str.charCodeAt and str.charAt. Differential Revision: https://phabricator.services.mozilla.com/D75200
c2a97b6be526fe141dc64feddf08a0994d1dfc4d: Bug 1637529 - Rewrite the shell module loader in C++ r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Fri, 15 May 2020 16:51:27 +0000 - rev 530315
Push 37420 by nerli@mozilla.com at Fri, 15 May 2020 21:52:36 +0000
Bug 1637529 - Rewrite the shell module loader in C++ r=jandem Sorry for the big patch. This is a straight rewrite of shell/ModuleLoader.js in C++. It's mostly straigtforward but there were a couple of clunky parts: using promises/closures from C++ was rather verbose and I had to write some string utilities. Differential Revision: https://phabricator.services.mozilla.com/D75271
bd25dceab6202a317782fd1dcc87c85567b53d67: Bug 1637529 - Rewrite the shell module loader in C++ r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Fri, 15 May 2020 15:16:12 +0000 - rev 530297
Push 37420 by nerli@mozilla.com at Fri, 15 May 2020 21:52:36 +0000
Bug 1637529 - Rewrite the shell module loader in C++ r=jandem Sorry for the big patch. This is a straight rewrite of shell/ModuleLoader.js in C++. It's mostly straigtforward but there were a couple of clunky parts: using promises/closures from C++ was rather verbose and I had to write some string utilities. Differential Revision: https://phabricator.services.mozilla.com/D75271
a559275d075cfbe39284476d2281bf6e5bce9b4b: Bug 1638246 - [MIPS] Add branchTestGCThing, unboxGCThingForGCBarrier and fix branchValueIsNurseryCell. r=jandem
Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> - Fri, 15 May 2020 07:36:40 +0000 - rev 530237
Push 37420 by nerli@mozilla.com at Fri, 15 May 2020 21:52:36 +0000
Bug 1638246 - [MIPS] Add branchTestGCThing, unboxGCThingForGCBarrier and fix branchValueIsNurseryCell. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D75479
e0f929077cce95cfa1f2928cb8d4d631cb3e589a: Bug 1634135: Fix look-behind back-references r=jandem
Iain Ireland <iireland@mozilla.com> - Wed, 13 May 2020 16:19:24 +0000 - rev 529647
Push 37412 by cbrindusan@mozilla.com at Wed, 13 May 2020 21:46:27 +0000
Bug 1634135: Fix look-behind back-references r=jandem If a look-behind back-reference succeeds, we have to subtract the length of the capture from the current position (so that the current position points to the beginning of the capture). We don't have the length in a register, so we have to read it from the capture registers, which are stored on the stack. However, we pushed the initial value of the current position, so the stack pointer is offset by one word from where we expect. The fix is to pop the saved value *before* subtracting the length. With this fix, we pass all the test262 tests for look-behind assertions, dotAll, and unicode property escapes. (I will turn them on in a separate bug.) Differential Revision: https://phabricator.services.mozilla.com/D73113
43755f7d387599c26130ec8ea134917e909bd82f: Bug 1637189: Add test case r=jandem
Iain Ireland <iireland@mozilla.com> - Wed, 13 May 2020 07:18:17 +0000 - rev 529620
Push 37412 by cbrindusan@mozilla.com at Wed, 13 May 2020 21:46:27 +0000
Bug 1637189: Add test case r=jandem We don't have great test coverage for two-byte strings. This testcase triggers the bug, but at some point I think we should do something more systematic (like a mode where we force two-byte strings everywhere). Depends on D74900 Differential Revision: https://phabricator.services.mozilla.com/D74901
c289ffcd2510d3121bb4738bb06d4d844a621728: Bug 1637189: Don't clobber current_position_ when it's non-volatile r=jandem
Iain Ireland <iireland@mozilla.com> - Wed, 13 May 2020 07:17:09 +0000 - rev 529619
Push 37412 by cbrindusan@mozilla.com at Wed, 13 May 2020 21:46:27 +0000
Bug 1637189: Don't clobber current_position_ when it's non-volatile r=jandem Unicode case-insensitive backreferences crash on 32-bit x86, but not on 64-bit. The problem is in the code deciding which registers to save before calling CaseInsensitiveCompareUCStrings. We save all the volatile registers, except for a couple that we know we won't need. After we do that, we modify current_position_, with the implicit expectation that it was saved. That's true on x86-64, but not true on x86-32. The old version of this code used the same approach, but assigned its registers in a different order in the NativeRegExpMacroAssembler constructor, so we got away with it. The fix is to ensure we always save/restore current_position, even if it's not volatile. Differential Revision: https://phabricator.services.mozilla.com/D74900