Commit Graph

71479 Commits

Author SHA1 Message Date
Paul Bone
33a4555ee1 Bug 1562188 - Correct Nursery::clear()'s comment r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D36314

--HG--
extra : moz-landing-system : lando
2019-06-28 13:44:40 +00:00
Jan de Mooij
bfb32ae943 Bug 1561935 - Fix some bugs in HandleDebugTrap + DebugAfterYield interaction. r=jimb
HandleDebugTrap calls DebugAfterYield, which can call the onEnterFrame debugger hook.
This hook can mess with debugger state so HandleDebugTrap needs to be a bit more
careful with its assertions.

Differential Revision: https://phabricator.services.mozilla.com/D36209

--HG--
extra : moz-landing-system : lando
2019-06-28 13:05:32 +00:00
Karan Sapolia
c788111259 Bug 1549265 - Add comment to explain unit of MarkStack::capacity(). r=pbone
Differential Revision: https://phabricator.services.mozilla.com/D35597

--HG--
extra : moz-landing-system : lando
2019-06-28 02:31:37 +00:00
Karan Sapolia
ed6ee44baf Bug 1549263 - Rename sliceTimeBudget() and related symbols to include units. r=pbone
Differential Revision: https://phabricator.services.mozilla.com/D35588

--HG--
extra : moz-landing-system : lando
2019-06-28 12:56:08 +00:00
Mike Hommey
f704e82913 Bug 1562063 - Stop including Char16.h everywhere in js/. r=jwalden
Same as bug 1426898, but for js.

Differential Revision: https://phabricator.services.mozilla.com/D36259

--HG--
extra : moz-landing-system : lando
2019-06-27 22:33:09 +00:00
Ashley Hauck
267711591c Bug 1561381 - Remove TODO(khyperia) from the frontend. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D35837

--HG--
extra : moz-landing-system : lando
2019-06-27 20:57:48 +00:00
Jason Orendorff
5b135c7bdb Bug 1555464 - Part 2: Enable fields by default in the JS shell. r=khyperia
Differential Revision: https://phabricator.services.mozilla.com/D34639

--HG--
extra : moz-landing-system : lando
2019-06-27 14:57:44 +00:00
Jim Blandy
979f0b33e0 Bug 1557343: Gather the code to manage the association between DebuggerFrames and AbstractGeneratorObjects. r=jorendorff
Merge Debugger::addGeneratorFrame into DebuggerFrame::setGenerator, and expand
the role of clearGenerator to fully undo the effect of setGenerator.

The association between a Debugger.Frame referring to a generator or async call
and the underlying generator object must be recorded in five separate places, as
a transaction: either all or present, or none are present. To ensure this is
true, this patch places sole responsibility for emplacing all those relations in
a single function (setGenerator), with another function to tear down those
relations (clearGenerator) as its inverse/antidote/complement/antagonist (in the
anatomical sense)/what-have-you.

Actually, when a Debugger.Frame is GC'd, we cannot reliably undo some of the
connections, and in fact can let the GC take care of those for us, so the
tear-down function clearGenerator is split into two overloads, one which is
suitable for use from a finalizer and the other which takes care of the entire
task.

Differential Revision: https://phabricator.services.mozilla.com/D35607

--HG--
extra : moz-landing-system : lando
2019-06-27 06:18:55 +00:00
Jim Blandy
256d0b172d Bug 1557343: Replace the sole use of DebuggerWeakMap::removeIf with its definition. r=jorendorff
Later in this patch series, we will be gathering up all the code to manage the
association between DebuggerFrame and AbstractGeneratorFrame objects into a pair
of functions, one to establish a relation and the other to tear it down. The
removeif method combines iteration and entry removal, but we would rather have
entry removal live next to the code that tears down the rest of the association.

In preparation for that, this changeset replaces the sole use of removeIf with
its (not very large) definition, so that the entry removal can be more readily
moved into another function.

Differential Revision: https://phabricator.services.mozilla.com/D35606

--HG--
extra : moz-landing-system : lando
2019-06-27 06:18:47 +00:00
Jim Blandy
19b16f67aa Bug 1557343: Move AutoRealm outside addGeneratorFrame. r=jorendorff
Without this patch, addGeneratorFrame may be called from any realm, and enters
the debugger's realm to call DebuggerFrame::setGenerator. However, we would like
to merge addGeneratorFrame and setGenerator, and call the combined from various
points which are already in the debugger's realm, so it would be a little nicer
to simply make the function assume it is called from the debugger's realm.

Differential Revision: https://phabricator.services.mozilla.com/D35605

--HG--
extra : moz-landing-system : lando
2019-06-27 06:18:38 +00:00
Nathan Froyd
03e51146b9 Bug 1561088 - emit unwind information for libffi aarch64/win assembly; r=dmajor,gsvelto
The hand-written assembly for libffi on aarch64/windows doesn't emit
unwind information.  If we ever tried to unwind through these functions,
they'd look like leaf functions, which is decidedly not true and would
cause great pain.

For whatever reason, the original aarch64 libffi functions used
x21/x22/x23/x24 as their (callee-saved) scratch registers.  This
convention works on windows as well, but the unwind information on
windows mandates that we start saving callee-saved registers starting
from x19, rather than x21.  Rather than rewriting the assembly to use
x19/x20 instead of x21/x22, which would be a large change, we chose
instead to simply save/restore extra registers in the prolog/epilog.
This change does make the stack frame sizes slightly bigger, but an
extra 16 bytes in libffi stack frames should not matter.

The `-TC` change is necessary to make the compiler play nicely with .asm
file suffixes.

Differential Revision: https://phabricator.services.mozilla.com/D35714

--HG--
extra : moz-landing-system : lando
2019-06-27 13:36:48 +00:00
Andy Wingo
0a3aa2702a Bug 1557655 - Fix size_t/uint64_t mismatch for StringToBigInt on 32-bit r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D35022

--HG--
extra : moz-landing-system : lando
2019-06-25 17:36:07 +00:00
Andy Wingo
1694e85a41 Bug 1556220 - Don't add CacheIR entries for typed bigint array access r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D33459

--HG--
extra : moz-landing-system : lando
2019-06-25 17:37:08 +00:00
Gurzau Raul
ef6c54db66 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-06-27 01:01:13 +03:00
Gurzau Raul
24d0e8e2ba Merge inbound to mozilla-central. a=merge 2019-06-27 00:54:09 +03:00
Ted Campbell
1a7e616897 Bug 1471062 - Avoid storing SharedScriptData metadata for empty arrays. r=jandem
If optional arrays of SharedScriptData are empty, avoid storing their
offset in order to save memory. This is done by deduplicating offsets
and storing this variably-sized set of offsets as a trailing array. A
uint32_t for each non-empty array. These offsets are analogous to the
array length we would naively consider storing but with careful encoding
for performance.

Differential Revision: https://phabricator.services.mozilla.com/D34791

--HG--
extra : moz-landing-system : lando
2019-06-26 21:07:00 +00:00
Ted Campbell
83d19349e9 Bug 1471062 - Add SharedScriptData::flags. r=jandem
Add a flag into the byte array area. It is inserted before code() so it
will be at a fixed offset once atoms are removed. This will be used to
store flags about optional trailing arrays.

Differential Revision: https://phabricator.services.mozilla.com/D34789

--HG--
extra : moz-landing-system : lando
2019-06-26 21:05:19 +00:00
Ted Campbell
e3491853b7 Bug 1471062 - Remove the PrivateScriptData::PackedSpan mechanism. r=jandem
Now that PrivateScriptData contains a single array, the PackedSpan
mechanism for packing multiple trailing arrays can be removed.

Differential Revision: https://phabricator.services.mozilla.com/D35817

--HG--
extra : moz-landing-system : lando
2019-06-26 20:50:17 +00:00
Ted Campbell
1c0cf73eef Bug 1471062 - Move resumeOffsets/scopeNotes/tryNotes to SharedScriptData. r=jandem
These arrays contain only relocatable, cloneable data and should be made
shareable. The API they now expose in SharedScriptData uses Span.

Differential Revision: https://phabricator.services.mozilla.com/D34790

--HG--
extra : moz-landing-system : lando
2019-06-26 20:50:03 +00:00
Ted Campbell
5f5b082297 Bug 1471062 - Pad source notes to target alignment. r=jandem
Pad the source notes with SRC_NULL such that the code and notes arrays
together maintain uint32_t alignment. This is will later be used to add
optional trailing arrays with uint32_t alignment. The allocator would
already be rounding up our allocation so actually memory usage should be
neutral.

Differential Revision: https://phabricator.services.mozilla.com/D34788

--HG--
extra : moz-landing-system : lando
2019-06-26 20:49:43 +00:00
Ted Campbell
04085d857f Bug 1471062 - Add SharedScriptData::offsetToPointer. r=jandem
Make access to trailing arrays more consistent with other data
structures and better encapsulate the reinterpret_casts.

Differential Revision: https://phabricator.services.mozilla.com/D34787

--HG--
extra : moz-landing-system : lando
2019-06-26 18:42:35 +00:00
Narcis Beleuzu
255b52c321 Backed out 2 changesets (bug 1558971, bug 1555464) for SM bustages on ecma262-issue-1461.js . CLOSED TREE
Backed out changeset 8227f5fbbe20 (bug 1555464)
Backed out changeset 36683eb4d0db (bug 1558971)
2019-06-26 19:55:40 +03:00
Ted Campbell
fdabbcfb9a Bug 1471062 - Make heap-analysis/byteSize-of-scripts jit-test more complex r=jandem,arai
As PrivateScriptData contains less data, we need to make this test have
more complicated functions so that the test is not sensistive to
allocator rounding. This also removes the binjs variant of test until
they next time they are regenerated.

Differential Revision: https://phabricator.services.mozilla.com/D35840

--HG--
extra : moz-landing-system : lando
2019-06-26 15:36:43 +00:00
Jason Orendorff
1c562e6022 Bug 1555464 - Part 2: Enable fields by default in the JS shell. r=khyperia
Differential Revision: https://phabricator.services.mozilla.com/D34639

--HG--
extra : moz-landing-system : lando
2019-06-26 04:43:05 +00:00
Jason Orendorff
e0a435b1bb Bug 1558971 - Enable the await fix by default in the JS shell. r=khyperia
Depends on D35478

Differential Revision: https://phabricator.services.mozilla.com/D35978

--HG--
extra : moz-landing-system : lando
2019-06-26 15:53:43 +00:00
Jan de Mooij
bf66e7b740 Bug 1560432 - Remove unused NSPR header from vm/Time.cpp. r=sfink
Gary noticed we can't build without NSPR on Windows due to this unused #include
inside #ifdef XP_WIN. This patch fixes the build.

Differential Revision: https://phabricator.services.mozilla.com/D35494

--HG--
extra : moz-landing-system : lando
2019-06-26 15:22:27 +00:00
Iain Ireland
3847b9b0b4 Bug 1559072: MIPS fixes r=djvj
Depends on D35549

Differential Revision: https://phabricator.services.mozilla.com/D35550

--HG--
extra : moz-landing-system : lando
2019-06-25 15:58:59 +00:00
Iain Ireland
c55e3c9fab Bug 1559072: Revert GDB python bindings to old boxing format r=sfink
Depends on D35548

Differential Revision: https://phabricator.services.mozilla.com/D35549

--HG--
extra : moz-landing-system : lando
2019-06-25 18:06:41 +00:00
Iain Ireland
29dc9fe2ea Bug 1559072: Revert Rust bindings to old boxing format r=djvj
Depends on D35547

Differential Revision: https://phabricator.services.mozilla.com/D35548

--HG--
extra : moz-landing-system : lando
2019-06-25 17:11:15 +00:00
Iain Ireland
5cd03cc9d2 Bug 1559072: Revert to old boxing format r=djvj
Differential Revision: https://phabricator.services.mozilla.com/D35547

--HG--
extra : moz-landing-system : lando
2019-06-25 17:34:50 +00:00
Csoregi Natalia
2c0114f8c7 Backed out 3 changesets (bug 1557343) for bustages on Debugger.h. CLOSED TREE
Backed out changeset 70040a80a4d7 (bug 1557343)
Backed out changeset a9de28d699a7 (bug 1557343)
Backed out changeset 1663fcb7bfd7 (bug 1557343)
2019-06-26 22:05:21 +03:00
Jim Blandy
4580d11ff7 Bug 1557343: Gather the code to manage the association between DebuggerFrames and AbstractGeneratorObjects. r=jorendorff
Merge Debugger::addGeneratorFrame into DebuggerFrame::setGenerator, and expand
the role of clearGenerator to fully undo the effect of setGenerator.

The association between a Debugger.Frame referring to a generator or async call
and the underlying generator object must be recorded in five separate places, as
a transaction: either all or present, or none are present. To ensure this is
true, this patch places sole responsibility for emplacing all those relations in
a single function (setGenerator), with another function to tear down those
relations (clearGenerator) as its inverse/antidote/complement/antagonist (in the
anatomical sense)/what-have-you.

Actually, when a Debugger.Frame is GC'd, we cannot reliably undo some of the
connections, and in fact can let the GC take care of those for us, so the
tear-down function clearGenerator is split into two overloads, one which is
suitable for use from a finalizer and the other which takes care of the entire
task.

Differential Revision: https://phabricator.services.mozilla.com/D35607

--HG--
extra : moz-landing-system : lando
2019-06-26 18:18:32 +00:00
Jim Blandy
e76592d50e Bug 1557343: Replace the sole use of DebuggerWeakMap::removeIf with its definition. r=jorendorff
Later in this patch series, we will be gathering up all the code to manage the
association between DebuggerFrame and AbstractGeneratorFrame objects into a pair
of functions, one to establish a relation and the other to tear it down. The
removeif method combines iteration and entry removal, but we would rather have
entry removal live next to the code that tears down the rest of the association.

In preparation for that, this changeset replaces the sole use of removeIf with
its (not very large) definition, so that the entry removal can be more readily
moved into another function.

Differential Revision: https://phabricator.services.mozilla.com/D35606

--HG--
extra : moz-landing-system : lando
2019-06-26 18:18:23 +00:00
Jim Blandy
0349206743 Bug 1557343: Move AutoRealm outside addGeneratorFrame. r=jorendorff
Without this patch, addGeneratorFrame may be called from any realm, and enters
the debugger's realm to call DebuggerFrame::setGenerator. However, we would like
to merge addGeneratorFrame and setGenerator, and call the combined from various
points which are already in the debugger's realm, so it would be a little nicer
to simply make the function assume it is called from the debugger's realm.

Differential Revision: https://phabricator.services.mozilla.com/D35605

--HG--
extra : moz-landing-system : lando
2019-06-26 18:18:20 +00:00
Nicolas B. Pierron
a27dde9915 Bug 1466160 - assertRecoveredOnBailout needs controlled GC environment when expecting compilation results. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D36063

--HG--
extra : moz-landing-system : lando
2019-06-26 17:29:18 +00:00
Jon Coppeard
22952620f8 Bug 1560931 - Set JS engine low memory state based on memory pressure notifications r=smaug
Update the memory pressure observers for main thread and workers to call the new JS API to set/clear the low memory state.

Differential Revision: https://phabricator.services.mozilla.com/D35682
2019-06-24 18:24:47 +01:00
Jon Coppeard
ca04a00e08 Bug 1560931 - Add low memory state API and use it to restrict max nursery size r=sfink
Add a lowMemoryState field to GCRuntime and an API set set it.  Use it to restict the nursery size when resizing the nursery.

Differential Revision: https://phabricator.services.mozilla.com/D35680
2019-06-24 18:23:52 +01:00
Jason Orendorff
8e2b478fcc Bug 1560412 - A jit-test for setImmutablePrototype with scripted proxies. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D35478

--HG--
extra : moz-landing-system : lando
2019-06-26 05:20:40 +00:00
Jason Orendorff
b50452e1f5 Bug 1559269 - Remove preliminary TokenStream support for private fields. r=khyperia
Differential Revision: https://phabricator.services.mozilla.com/D35532

--HG--
extra : moz-landing-system : lando
2019-06-26 04:40:34 +00:00
yulia
de6d72c152 Bug 1515221 - remove GeneralParser::thisForCtor() r=khyperia
Differential Revision: https://phabricator.services.mozilla.com/D35581

--HG--
extra : moz-landing-system : lando
2019-06-24 15:21:43 +00:00
arthur.iakab
785bee02e8 Merge mozilla-central to mozilla-inbound 2019-06-26 01:09:31 +03:00
Nicolas B. Pierron
a1b6779f72 Bug 1559461 - gdb unwinder: Lookup JIT memory using ::execMemory. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D35062

--HG--
extra : moz-landing-system : lando
2019-06-25 16:39:31 +00:00
Mihai Alexandru Michis
8712dcd6e4 Backed out changeset 00b675dfb3de (bug 1559461) for causing linting failures. CLOSED TREE 2019-06-25 17:25:22 +03:00
Nicolas B. Pierron
81b33d5e07 Bug 1559462 - gdb unwinder: Fix lookup of frame name by prefixing with FrameType::. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D35063

--HG--
extra : moz-landing-system : lando
2019-06-25 14:20:16 +00:00
Nicolas B. Pierron
1af27256eb Bug 1559461 - gdb unwinder: Lookup JIT memory using ::execMemory. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D35062

--HG--
extra : moz-landing-system : lando
2019-06-25 13:56:57 +00:00
Jon Coppeard
1a625b6d2a Bug 1561296 - Fix occurences of gray spelled as grey r=allstarschh DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D35804
2019-06-25 15:08:53 +01:00
Ciure Andrei
7e158713cf Merge inbound to mozilla-central. a=merge 2019-06-25 12:39:48 +03:00
Kris Maglione
e9aa7e2899 Bug 1559500: Remove unused async subscriptloader functionality. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D35086

--HG--
extra : rebase_source : ddef79974de06ef8c7646b60fe094bef1b429661
extra : amend_source : 7d39f9c83ccd169fa1d95f7d691bcaa1022d5f18
2019-06-14 14:19:41 -07:00
Jon Coppeard
fb607e89b8 Bug 1395509 - Track malloc memory used by wasm objects, part 1 r=luke
This adds tracking of malloc memory to WasmInstanceObject, WasmGlobalObject, WasmMemoryObject and ResolveResponseClosure (the straightforward cases).

Differential Revision: https://phabricator.services.mozilla.com/D35485
2019-06-20 15:19:18 -07:00
Jon Coppeard
532b9e4484 Bug 1395509 - Add FreeOp methods to deal with releasing RefCounted types r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D35484
2019-06-20 15:17:06 -07:00