Граф коммитов

76670 Коммитов

Автор SHA1 Сообщение Дата
Dmitry Bezhetskov 446160560b Bug 1599722 - Make Ion address stack arguments from FP r=lth,wingo
Make the WebAssembly ion compiler address incoming stack arguments from the frame pointer instead of from the stack pointer.

We have a plan to allow interstitial trampoline frames to be inserted between callers and callees, but only for cross-instance calls. This will mean offset to incoming stack arguments from SP is no longer a constant. The design has us instead address stack arguments from the frame pointer, as adding an interstitial trampoline frame won't modify the frame pointer.

Differential Revision: https://phabricator.services.mozilla.com/D73030
2020-05-11 05:53:52 +00:00
Sylvestre Ledru 1929dd1ab3 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D73347
2020-05-09 14:51:53 +00:00
Tooru Fujisawa 2ed7096f1c Bug 1621127 - Assert opcode list is in sync between jsparagus and SpiderMonkey, and update jsparagus. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D74254
2020-05-08 22:49:50 +00:00
Tom Schuster 4f64f475f2 Bug 1595046 - Make it possible to inspect every exception value in the web console. r=jonco,baku,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D64437
2020-05-08 20:54:17 +00:00
Logan Smyth 208709890a Bug 1628853 - Expose a feature flag to enable/disable //# sourceXX= parsing. r=arai
These pragmas can be used to influence stack trace filenames, and to affect
how and where files show up in developer tools. In some circumstances, it can
be nice to disable allof that functionality in order to ensure that you get
the stack trace and debug information as SpiderMonkey sees it.

Differential Revision: https://phabricator.services.mozilla.com/D72103
2020-05-08 00:37:21 +00:00
Ted Campbell b0d9530aa8 Bug 1635976 - Add more asserts about FunctionBox ordering. r=mgaudet
Assert that trace list visits children before parents. Make this explicit
instead of relying on existing publishDeferredFunctions checks so that we
check for non-lazy functions as well for more certainty.

Differential Revision: https://phabricator.services.mozilla.com/D74440
2020-05-08 18:56:58 +00:00
Steve Fink 856b780afe Bug 1633625 - Wrap timing code up in a FrameHistory class r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D73985
2020-05-08 16:45:14 +00:00
Steve Fink 72e6a5c89d Bug 1633625 - Redo how load parameters are displayed, and fix invalid inputs for them r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D73984
2020-05-08 16:45:10 +00:00
Steve Fink 0d2e3423c9 Bug 1633625 - Drop default #garbage piles from 8 million to 8. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D73983
2020-05-08 16:45:06 +00:00
Steve Fink 00c6920acf Bug 1633625 - Changed how allocation loads are started/stopped r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D73982
2020-05-08 16:45:02 +00:00
Steve Fink 96e3f93514 Bug 1633625 - Extract out a load cycle manager r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D73981
2020-05-08 16:44:58 +00:00
Steve Fink 72ce28c40f Bug 1633625 - Move load parameters into the appropriate part of the web UI r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D73952
2020-05-08 16:44:55 +00:00
Steve Fink 38c44b0ab3 Bug 1633625 - Complete the renaming of "garbage total" to "garbage piles" r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D73950
2020-05-08 16:44:52 +00:00
Ted Campbell 1d79b56866 Bug 1636306 - Allow existing group in setTypeForScriptedFunction. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D74356
2020-05-08 14:08:06 +00:00
Ted Campbell 271433fe64 Bug 1635976 - Remove FunctionTree from Parser. r=mgaudet
This no longer has a use with the direction that stencil is going so lets
remove it.

Differential Revision: https://phabricator.services.mozilla.com/D74314
2020-05-08 16:34:03 +00:00
Ted Campbell 6effa4082a Bug 1635976 - Use traceList for publishing deferred functions. r=mgaudet
The FunctionBoxes are added to head of the trace-list as they are created in
source order. This means the final list is the reverse of that and inner
functions are seen before their parent. This is exactly what we need for the
publishDeferredFunctions method.

Differential Revision: https://phabricator.services.mozilla.com/D74313
2020-05-08 16:33:55 +00:00
Ted Campbell 7d91374595 Bug 1635976 - Factor out MaybePublishFunction from publishDeferredFunctions. r=mgaudet
The outer loop will be changed in next patches.

Differential Revision: https://phabricator.services.mozilla.com/D74312
2020-05-08 14:57:11 +00:00
Ted Campbell 63586c9845 Bug 1635976 - Move ParserBase::traceListHead to CompilationInfo. r=mgaudet
This also unifies the list between the syntax- and full-parser which is
sensible since the allocations are on a shared LifoAlloc.

Differential Revision: https://phabricator.services.mozilla.com/D74311
2020-05-08 14:54:42 +00:00
Ted Campbell d08c158ecf Bug 1636247 - Remove ParserBase::sourceObject_ field. r=mgaudet
This data can instead be accessed from CompilationInfo. As well, the only use
is to allocate lazy BaseScripts and that code is being moved outside the
Parser.

Differential Revision: https://phabricator.services.mozilla.com/D74302
2020-05-08 12:54:15 +00:00
Jan de Mooij 9ade539b4a Bug 1635717 follow-up - Don't try to snapshot JSOp::InitElemArray. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D74373
2020-05-08 09:19:55 +00:00
Tom Schuster aee6f9ad93 Bug 1635958 - Remove unused GuardIsNotNullOrUndefined. r=jandem
Depends on D74345

Differential Revision: https://phabricator.services.mozilla.com/D74346
2020-05-08 08:00:45 +00:00
Tom Schuster b142b2123c Bug 1635958 - Warp: Transpile LoadBooleanResult. r=jandem
Depends on D74344

Differential Revision: https://phabricator.services.mozilla.com/D74345
2020-05-08 07:58:30 +00:00
Tom Schuster e11d3555f7 Bug 1635958 - Warp: Transpile GuardIsNullOrUndefined. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D74344
2020-05-08 08:05:38 +00:00
Csoregi Natalia 8ff8af6a82 Backed out changeset 892ab673d138 (bug 1599722) for build bustage on MoveResolver.h:. CLOSED TREE 2020-05-08 12:07:27 +03:00
Dmitry Bezhetskov 55adc0ee65 Bug 1599722 - Make Ion address stack arguments from FP r=lth,wingo
Make the WebAssembly ion compiler address incoming stack arguments from the frame pointer instead of from the stack pointer.

We have a plan to allow interstitial trampoline frames to be inserted between callers and callees, but only for cross-instance calls. This will mean offset to incoming stack arguments from SP is no longer a constant. The design has us instead address stack arguments from the frame pointer, as adding an interstitial trampoline frame won't modify the frame pointer.

Differential Revision: https://phabricator.services.mozilla.com/D73030
2020-05-08 08:45:22 +00:00
Lars T Hansen 3140cd5e25 Bug 1636235 - Fix corner case SIMD bugs. r=wingo
There was a missing guard when freeing the SIMD result register; it
was freed unconditionally, but this would fail for br_table, when only
the int register is needed.

There was a missing case when materializing constants during
popStackResults, we need to handle V128 here.

In both cases the underlying cause was iffy test coverage, though in
the latter case the problem is also that we allow the use of switch
with default for enum class value sets, thus masking problems where a
case that must be covered is not covered.

Differential Revision: https://phabricator.services.mozilla.com/D74380
2020-05-08 07:59:41 +00:00
Jan de Mooij 709d51cfa3 Bug 1636059 part 2 - Use template objects for NewArray and NewObject. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D74219
2020-05-08 07:41:35 +00:00
Jan de Mooij c99b9e79e5 Bug 1636059 part 1 - Use ArrayObject* instead of JSObject* in the NewArray code. r=iain
The use of JSObject* likely goes back to unboxed arrays.

Differential Revision: https://phabricator.services.mozilla.com/D74218
2020-05-08 06:28:01 +00:00
Mike Hommey 8ffeb31e4c Bug 1636342 - Fix configure --cache-file. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D74357
2020-05-08 01:45:56 +00:00
Jeff Walden 75b3b72bb9 Bug 1633598 - Add JSAPI to create an ArrayBuffer with contents and length copied from an existing one. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72909
2020-05-07 23:46:22 +00:00
Jeff Walden a9205a2fc8 Bug 1633598 - Make AllocateArrayBufferContents return a UniquePtr to handle manually freeing memory in case of early error. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D73553
2020-05-07 23:45:49 +00:00
Asumu Takikawa 8a3e4025c9 Bug 1633740 - Add test for BigInt/I64 conversion crash on inlined Ion to Wasm calls r=lth,wingo
This diff adds a test using gczeal to trigger a GC crash caused by the BigInt/I64 conversion path in inlined Ion To Wasm calls.

The actual fixes for the crash are in bug 1633714.

Differential Revision: https://phabricator.services.mozilla.com/D73111
2020-05-07 21:11:37 +00:00
Sonia Singla 48c8659c89 Bug 1620646 - Changes fixed for test failure. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D73436
2020-05-07 21:31:12 +00:00
Asumu Takikawa 0c69c9a1d0 Bug 1608771 - Part 5, BigInt<>I64 conversion for inlined calls r=lth
This is part 5 of implementing the Wasm BigInt<>I64 conversion proposal for inlined Ion to Wasm calls.

This part adds additional Wasm BigInt tests that are aimed specifically to test limits of the inlined calls and
to test more conversion cases that should be covered (e.g., to test ToBigInt instruction cases).

Differential Revision: https://phabricator.services.mozilla.com/D65238
2020-05-07 21:11:06 +00:00
Asumu Takikawa 828513b346 Bug 1608771 - Part 4, BigInt<>I64 conversion for inlined calls r=lth,wingo
This is part 4 of implementing the Wasm BigInt<>I64 conversion proposal for inlined Ion to Wasm calls.

This part adds the support for I64/BigInt arguments for inlined calls in the MCallOptimize.cpp part of
the IonBuilder. With this commit, the I64 arguments will work on 64-bit platforms, except where arguments
are required to be spilled to the stack due to the ABI (this case is more complicated to support).

On 32-bit platforms, this commit disables the BigInt/I64 support for the inlined call as it does not work
without further changes.

Differential Revision: https://phabricator.services.mozilla.com/D65237
2020-05-07 21:10:56 +00:00
Asumu Takikawa cb07476665 Bug 1608771 - Part 3, BigInt<>I64 conversion for inlined calls r=lth,wingo
This is part 3 of implementing the Wasm BigInt<>I64 conversion proposal for inlined Ion to Wasm calls.

This part adds changes needed in code generation and Wasm stubs for supporting the I64 arguments for
inlined Ion to Wasm calls.

Differential Revision: https://phabricator.services.mozilla.com/D65236
2020-05-07 21:10:44 +00:00
Asumu Takikawa 65fbbec928 Bug 1608771 - Part 2, BigInt<>I64 conversion for inlined calls r=lth,wingo
This is part 2 of implementing the Wasm BigInt<>I64 conversion proposal for inlined Ion to Wasm calls.

This part adds an I64 return value case for LIonToWasmCall, which is needed in general because an I64
result may require multiple defs for the instruction.

Differential Revision: https://phabricator.services.mozilla.com/D65234
2020-05-07 21:10:31 +00:00
Asumu Takikawa b8a3b4027b Bug 1608771 - Part 1, BigInt<>I64 conversion for inlined calls r=wingo,lth
This is part 1 of implementing the Wasm BigInt<>I64 conversion proposal for inlined Ion to Wasm calls.

This part implements Ion MIR and LIR instructions that are needed for conversion between BigInts and I64.

Differential Revision: https://phabricator.services.mozilla.com/D65233
2020-05-07 21:10:19 +00:00
Razvan Maries 76e77d8f44 Backed out 3 changesets (bug 1633598) for build bustages. CLOSED TREE
Backed out changeset a2abc7629ec4 (bug 1633598)
Backed out changeset 78ae14106ac7 (bug 1633598)
Backed out changeset 414d909e053a (bug 1633598)
2020-05-08 00:17:47 +03:00
Jeff Walden 1f518b92e4 Bug 1633598 - Add JSAPI to create an ArrayBuffer with contents and length copied from an existing one. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72909
2020-05-07 20:52:47 +00:00
Jeff Walden 6cf2713119 Bug 1633598 - Make AllocateArrayBufferContents return a UniquePtr to handle manually freeing memory in case of early error. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D73553
2020-05-07 20:52:29 +00:00
Razvan Maries da863180d7 Backed out 3 changesets (bug 1633598) for build bustages at ArrayBufferObject.cpp. CLOSED TREE
Backed out changeset db1e6c4924ef (bug 1633598)
Backed out changeset c5804fffaf32 (bug 1633598)
Backed out changeset f2dc493d99fb (bug 1633598)
2020-05-07 23:41:05 +03:00
Jeff Walden fe2c9a3afd Bug 1633598 - Add JSAPI to create an ArrayBuffer with contents and length copied from an existing one. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72909
2020-05-07 20:17:19 +00:00
Jeff Walden 4c3be12e52 Bug 1633598 - Make AllocateArrayBufferContents return a UniquePtr to handle manually freeing memory in case of early error. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D73553
2020-05-07 20:17:17 +00:00
Andreea Pavel b8809d1e54 Backed out 3 changesets (bug 1633598) for build bustages at ArrayBufferObject.cpp on a CLOSED TREE
Backed out changeset 77e7a549cf97 (bug 1633598)
Backed out changeset a662b2c07b3a (bug 1633598)
Backed out changeset 7fe73b300a5e (bug 1633598)
2020-05-07 22:53:26 +03:00
Jeff Walden 8829466b7a Bug 1633598 - Add JSAPI to create an ArrayBuffer with contents and length copied from an existing one. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72909
2020-05-07 19:29:29 +00:00
Jeff Walden 9fabad7cdd Bug 1633598 - Make AllocateArrayBufferContents return a UniquePtr to handle manually freeing memory in case of early error. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D73553
2020-05-07 19:29:17 +00:00
Florian Quèze fa2f59b3f7 Bug 1630982 - Terminate browser-chrome mochitests with an exit(0), r=gbrown,dthayer.
Differential Revision: https://phabricator.services.mozilla.com/D71336
2020-05-07 17:34:30 +00:00
Tom Schuster 1e07ee31d2 Bug 1635958 - Warp: Transpile GuardToBoolean. r=jandem
This gives us comparisons between {int, boolean} x {int, boolean}.

Differential Revision: https://phabricator.services.mozilla.com/D74147
2020-05-07 12:11:24 +00:00
Tom Schuster 711bfaeea8 Bug 1635878 - Transpile LoadTypedArrayLength. r=jandem
Depends on D74138

Differential Revision: https://phabricator.services.mozilla.com/D74140
2020-05-07 12:09:34 +00:00