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

71928 Коммитов

Автор SHA1 Сообщение Дата
Ted Campbell 815bacd581 Bug 1566607 - Add SelfHostedLazyScript type to hold trampoline pointer. r=jandem
A lazy self-hosted function has neither a JSScript nor a LazyScript.
This patch adds a SelfHostedLazyScript type with a jitCodeRaw that
allows these functions to called directly by JIT via the interpreter
trampoline. Only one instance per Runtime is needed.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 13:37:52 +00:00
Ted Campbell 3bf55d6f0e Bug 1566607 - Add JSFunction::hasLazyScript. r=jandem
This helper distinguishes normal lazy functions from lazy self-hosted
funtions which have a nullptr LazyScript. A function may return true for
hasLazyScript but still return a null lazy-script if it has been
partially initialized and is still being accessed such as by GC.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 13:24:14 +00:00
Ted Campbell 657202b344 Bug 1566607 - Add LazyScript::jitCodeRaw. r=jandem
This is initialized to the same interpreter trampoline as is used for
JSScript::jitCodeRaw. This allows JITs in the future to call scripted
functions that have not been delazified yet.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 16:31:40 +00:00
Ciure Andrei 3ba5c11f47 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-07-18 06:48:24 +03:00
Ciure Andrei d835b44a76 Merge inbound to mozilla-central. a=merge 2019-07-18 06:46:41 +03:00
Jeff Walden 8fe3efdb50 Bug 1566899 - Rename js/src/dbg to js/src/debugger for a clearer name that doesn't conflict with some people's long-standing use of dbg as having "debug build object directory" connotations. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D38372

--HG--
rename : js/src/dbg/Debugger-inl.h => js/src/debugger/Debugger-inl.h
rename : js/src/dbg/Debugger.cpp => js/src/debugger/Debugger.cpp
rename : js/src/dbg/Debugger.h => js/src/debugger/Debugger.h
rename : js/src/dbg/DebuggerMemory.cpp => js/src/debugger/DebuggerMemory.cpp
rename : js/src/dbg/DebuggerMemory.h => js/src/debugger/DebuggerMemory.h
rename : js/src/dbg/Environment-inl.h => js/src/debugger/Environment-inl.h
rename : js/src/dbg/Environment.cpp => js/src/debugger/Environment.cpp
rename : js/src/dbg/Environment.h => js/src/debugger/Environment.h
rename : js/src/dbg/Frame-inl.h => js/src/debugger/Frame-inl.h
rename : js/src/dbg/Frame.cpp => js/src/debugger/Frame.cpp
rename : js/src/dbg/Frame.h => js/src/debugger/Frame.h
rename : js/src/dbg/NoExecute.cpp => js/src/debugger/NoExecute.cpp
rename : js/src/dbg/NoExecute.h => js/src/debugger/NoExecute.h
rename : js/src/dbg/Object-inl.h => js/src/debugger/Object-inl.h
rename : js/src/dbg/Object.cpp => js/src/debugger/Object.cpp
rename : js/src/dbg/Object.h => js/src/debugger/Object.h
rename : js/src/dbg/Script-inl.h => js/src/debugger/Script-inl.h
rename : js/src/dbg/Script.cpp => js/src/debugger/Script.cpp
rename : js/src/dbg/Script.h => js/src/debugger/Script.h
rename : js/src/dbg/moz.build => js/src/debugger/moz.build
extra : moz-landing-system : lando
2019-07-17 22:48:46 +00:00
Paul Bone d0480304ae Bug 1562437 - Call Mutex::Shutdown when the watchdog thread exits r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D38265

--HG--
extra : moz-landing-system : lando
2019-07-17 10:02:12 +00:00
Kris Maglione 0962c2b731 Bug 1566182: Annotate mochitests that fail with Fission enabled. r=mccr8
My preference was to annotate most of the failing tests with `fail-if` so that
if they start passing, the `fail-if` needs to be removed and they need to keep
passing. That doesn't work for tests that timeout, or which trigger failures
from their cleanup functions, however, so those tests need skip-if. And tests
with fail in their cleanup functions likely leave the browser in an
inconsistent state for subsequent tests, anyway, so really should be skipped
regardless.

There are some remaining tests which still fail because of crashes. I chose
not to skip them here, but to fix the crashes in separate bugs instead.

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

--HG--
extra : rebase_source : 39ba8fec2e882cfe577c5f2b58ab7e4b461f1178
2019-07-15 16:19:32 -07:00
Jon Coppeard 1dd2923ea1 Bug 1565275 - Don't call drop() on debugger handler that has never been associated with a frame object r=jimb
The changes made in bug changeset 03e0de747d02 assume that drop() is only called on handlers that have been succesfully set on a DebuggerFrame object, and attempt to remove the memory associated with that object. That logic fails if these are called due to an error during initialisation as is happening here. The patch changes a call to drop() to js_delete() and adds assertions that drop() is only called on handlers that are currently associated.

Differential Revision: https://phabricator.services.mozilla.com/D37874
2019-07-12 15:47:56 +01:00
Ciure Andrei b90bfe8d02 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-07-18 00:52:45 +03:00
Ted Campbell 33ac809939 Bug 1564909 - Test binaries do not need to manually include libatomic. r=chmanchester
These configurations are already taken care of in js/src/build/moz.build
and do not need to duplicated.

Depends on D37567

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

--HG--
extra : moz-landing-system : lando
2019-07-17 19:04:03 +00:00
Ted Campbell fc8d337b67 Bug 1564909 - Add js-standalone.mozbuild. r=bbouvier,chmanchester
Consolidate build settings required by standalone builds into a single
mozbuild script. A full Gecko build does not use these settings and thus
we cannot simply put them in js/src/build/moz.build

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

--HG--
extra : moz-landing-system : lando
2019-07-17 19:09:45 +00:00
Razvan Maries 1c139d77db Backed out 3 changesets (bug 1559659) for perma crashes on test_disallowInheritPrincipal.html and test_table53.html, application crashed [@ js::GlobalHelperThreadState::destroyHelperContexts()]. CLOSED TREE
Backed out changeset 9f68b578bdfc (bug 1559659)
Backed out changeset 6a862204faf4 (bug 1559659)
Backed out changeset 4501af908d40 (bug 1559659)
2019-07-17 21:39:33 +03:00
Kristen Wright 794b917537 Bug 1559659 - 3. Get rid of per-thread jscontext instantiation and use the global pool instead r=jandem
Got rid of the per-thread JSContext created at the start of each thread. Tasks that require JSContext (ParseTasks, IonBuilder, Wasm tier 2 generators, GCParallel) now request an unused context to set to their thread. Tasks which do not use JSContext will not request one.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 13:21:52 +00:00
Kristen Wright a42c715a83 Bug 1559659 - 2. Create, initialize, destroy vector of JSContext* with GlobalHelperThreadState r=jandem
Created a vector of JSContext*, initialized at creation of GlobalHelperThreadState, destroyed when GlobalHelperThreadState.finish() is called. Note that this implementation makes the assumption that the creation and destruction of these objects always happens in the same order (helper thread state created -> main thread context created -> main thread context destroyed -> helper thread state destroyed). In this scenario context checks can clear by each context claiming the main thread during its ctor/dtor but this is only possible if the main thread context is not set at the time.

Also, removed GlobalHelperThreadState::lock() and unlock(), as they are not being used - AutoLockHelperThreadState is used instead.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 16:53:35 +00:00
Kristen Wright ee1a24f7a3 Bug 1559659 - 1. Liberate TlsContext.set() process from JSContext ctor, add thread id ptr, make it possible to clear thread context & id without destroying JSContext r=jandem
Created SetThread/ClearThread functions to handle JSContext/tid setting/clearing & updated existing implementation of JSContext to reflect. CurrentThread is ContextData because JSContext should already have a "claim" on the thread if it's clearing these.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 02:12:18 +00:00
Ted Campbell 6afe6484d0 Bug 1565945 - Fix PrivateScriptData::trace handling of ClearEdgesTracer. r=jonco
When using ClearEdgesTracer on PrivateScriptData, we must erase the
types of the GCCellPtr to avoid a number of internal assertions. This is
needed to be able to release PrivateScriptData outside of the JSScript
finalizer.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 11:42:13 +00:00
André Bargull fdac3e6f91 Bug 1543658: Add missing rounding-mode to Intl.PluralRules. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D37705

--HG--
extra : moz-landing-system : lando
2019-07-16 13:28:15 +00:00
Jim Blandy a8452d5164 Bug 1564164: Move DebuggerScript into its own file, js/src/dbg/Script.cpp. r=jorendorff
This patch should be pure code motion and declaration visibility fixes. There
should be no change in implementation or visible behavior.

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

--HG--
rename : js/src/dbg/Debugger.cpp => js/src/dbg/Script.cpp
rename : js/src/dbg/Debugger.h => js/src/dbg/Script.h
extra : moz-landing-system : lando
2019-07-17 07:13:39 +00:00
Jim Blandy 487f108513 Bug 1564170: Make Debugger.Script referent variant matcher classes into member classes of DebuggerScript. r=jorendorff
No intended change in behavior; just re-scoping and renaming.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 07:13:30 +00:00
Jim Blandy 5e14e582b0 Bug 1564170: Give Debugger.Script instances their own NativeObject subclass, DebuggerScript. r=jorendorff
Define a new class, DebuggerScript, inheriting from NativeObject. Move methods
and utility functions into the class as makes sense. Tighten types where
possible on code that works with DebuggerScript objects.

No intended change in behavior.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 07:13:21 +00:00
Jim Blandy 78c4ac0009 Bug 1564164: Let all DebuggerFoo::initClass methods take their arguments in a consistent order. r=jorendorff
Just mach clang-tidy fixes. No intended change in implementation or visible behavior.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 07:13:05 +00:00
Jim Blandy b8467981fc Bug 1564164: Move DebuggerEnvironment into its own file, js/src/dbg/Environment.cpp. r=jorendorff
This patch should be pure code motion and declaration visibility changes. There
should be no change in behavior.

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

--HG--
rename : js/src/dbg/Debugger-inl.h => js/src/dbg/Environment-inl.h
rename : js/src/dbg/Debugger.cpp => js/src/dbg/Environment.cpp
rename : js/src/dbg/Debugger.h => js/src/dbg/Environment.h
extra : moz-landing-system : lando
2019-07-17 07:12:56 +00:00
Jim Blandy 1e1784264b Bug 1564164: Move DebuggerFrame into its own file, js/src/dbg/Frame.cpp. r=jorendorff
This patch should be pure code motion and declaration visibility fixes, plus
some formatting changes suggested by clang-tidy. There should be no change in
behavior.

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

--HG--
rename : js/src/dbg/Debugger-inl.h => js/src/dbg/Frame-inl.h
rename : js/src/dbg/Debugger.cpp => js/src/dbg/Frame.cpp
rename : js/src/dbg/Debugger.h => js/src/dbg/Frame.h
extra : moz-landing-system : lando
2019-07-17 07:12:47 +00:00
Jim Blandy b331a0ae96 Bug 1564164: Move DebuggerObject into its own file, js/src/dbg/Object.cpp. r=jorendorff
This patch should be pure code motion and declaration visibility changes, with
no changes in behavior.

This moves the implementation of Debugger.Objects from js/src/dbg/Debugger.cpp
out into its own file, Object.cpp, with header and inline headers Object.h and
Object-inl.h.

We give js/src/dbg its own moz.build file to avoid object file name collisions
in non-unified builds; see the comments in js/src/dbg/moz.build.

For now, js/src/dbg/moz.build does not use UNIFIED_SOURCES. We will fix that
with a patch at the end of the series.

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

--HG--
rename : js/src/dbg/Debugger-inl.h => js/src/dbg/Object-inl.h
rename : js/src/dbg/Debugger.cpp => js/src/dbg/Object.cpp
rename : js/src/dbg/Debugger.h => js/src/dbg/Object.h
extra : moz-landing-system : lando
2019-07-17 07:12:33 +00:00
Jim Blandy bbf47821d5 Bug 1564164: Move EnterDebuggeeNoExecute and LeaveDebuggeeNoExecute into their own header, dbg/NoExecute.h. r=jorendorff
This should just be pure code motion, with no changes to behavior.

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

--HG--
rename : js/src/dbg/Debugger.cpp => js/src/dbg/NoExecute.h
extra : moz-landing-system : lando
2019-07-17 07:12:23 +00:00
Jan de Mooij 5dcad0b950 Bug 1564337 - Rename BaselineCompiler.cpp/h to BaselineCodeGen.cpp/h. r=djvj
Now that BaselineInterpreterGenerator is also defined there, it's nicer to use the
name of the shared base class.

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

--HG--
rename : js/src/jit/BaselineCompiler.cpp => js/src/jit/BaselineCodeGen.cpp
rename : js/src/jit/BaselineCompiler.h => js/src/jit/BaselineCodeGen.h
extra : moz-landing-system : lando
2019-07-16 18:29:30 +00:00
Paul Bone 22d5ff3c4e Bug 1565272 - Prevent races with the background decommit task r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D38043

--HG--
extra : moz-landing-system : lando
2019-07-17 01:24:29 +00:00
Paul Bone 047d362780 Bug 1565272 - Fix some comments r=sfink
+ Spelling fixes.
 + Make the meaning of a comment clearer.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 01:24:27 +00:00
Iain Ireland 28a1aa14d3 Bug 1505902: Clean up private Value representation r=djvj
Our previous representation of private values assumed that the private pointer was aligned, and did some bit twiddling to try to disguise it as a double. Since bug 1293313, it has been unnecessary to set the top bit for a double, so that bit twiddling is unnecessary. There are actual use cases where private values are unaligned, so we should fix this.

While cleaning this up, I also removed unboxPrivateValue, because its only use could be better written using loadPrivateValue directly.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 19:10:30 +00:00
Ted Campbell 055227ab44 Bug 1565945 - Make ImmutableFlags consistent between LazyScript and JSScript. r=jandem
When flags are derived from the FunctionBox, we should consistently set
them for both LazyScript and JSScript even if their primary use it
hinting delazification.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 16:51:58 +00:00
Ted Campbell 116be0b900 Bug 1565945 - Remove JSScript HasSingletons flag. r=jandem
This flag is only checked by the eval-cache which currently disallows
*any* inner function/object. If the HasSingletons flag was set, we'd
already have inner objects so the effect is still the same without.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 16:51:58 +00:00
Jan de Mooij c4de5b4eef Bug 1566016 - Simplify CallVM handling in BaselineDebugModeOSR. r=iain
We used the BaselineDebugModeOSRInfo "continuation fixer" mechanism for those
but we don't have to. CallVMs are very similar to ICs and we should treat them
the same way (patch return address based on RetAddrEntry).

This is preparation for removing BaselineDebugModeOSRInfo completely: with this
change it's only used for the optional debug-instrumentation callVMs and those
will just resume in the interpreter where we always have those callVMs.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 13:37:01 +00:00
Tom Ritter 4b3283062c Bug 1566188 - Correct a typo in AllocKind.h that was undef-ing the wrong macro r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D38114

--HG--
extra : moz-landing-system : lando
2019-07-16 06:39:42 +00:00
Sylvestre Ledru 2ff79fb0d5 Bug 1519636 - Ride along: remove trailing whitespaces r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-16 07:34:03 +00:00
Sylvestre Ledru e77bfc655d Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-16 07:33:44 +00:00
Paul Bone e183715540 Bug 1565631 - Add an early return to Nursery::shouldCollect() r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D38030

--HG--
extra : moz-landing-system : lando
2019-07-16 00:52:13 +00:00
Ted Campbell 8df08d5f7d Bug 1564927 - Move off-thread API for BinAST to the right header. r=jwalden
Also reorder functions in OffThreadScriptCompilation to group by
data source type.

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

--HG--
extra : moz-landing-system : lando
2019-07-15 22:43:28 +00:00
Ted Campbell 62f883c040 Bug 1564923 - Remove dead BytecodeCompiler::deoptimizeArgumentsInEnclosingScripts. r=khyperia
The last use of this method was removed in Bug 1538375.

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

--HG--
extra : moz-landing-system : lando
2019-07-15 16:23:50 +00:00
Boris Zbarsky 5062731c15 Bug 1565688. Remove unused IOService arg from NS_NewURI. r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D37968

--HG--
extra : moz-landing-system : lando
2019-07-15 13:39:51 +00:00
Ted Campbell f0774d58e3 Bug 1565945 - Compute LazyScript::TreatAsRunOnce flag the same as JSScript. r=jandem
This has equivalent overall behavior as before, but computes the
precise LazyScript::TreatAsRunOnce flag rather than checking the extra
conditions during delazification. The heuristics can be computed using
just the LazyScript information so the result is the same.

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

--HG--
extra : moz-landing-system : lando
2019-07-15 12:41:39 +00:00
Ted Campbell b4aa417b65 Bug 1565945 - Add JSScript::CreateFromLazy method. r=jandem
Decouple the JSScript creation for delazification from needing
CompileOptions. When JSScript and LazyScript become unified, this
operation will become a no-op.

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

--HG--
extra : moz-landing-system : lando
2019-07-15 12:42:24 +00:00
Ted Campbell f9df373194 Bug 1565556 - Remove JSScript::hasTryNotes/ScopeNotes/ResumeOffsets. r=jandem
With the current design of ImmutableScriptData, even empty arrays have a
legal span so we no longer need to change the hasTryNotes and friends
helpers. In most cases we were performing a range-for afterwards so this
has simpler semantics.

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

--HG--
extra : moz-landing-system : lando
2019-07-15 05:44:14 +00:00
Jan de Mooij d5de1f486e Bug 1564017 part 7 - Enable the Baseline Interpreter in the browser. r=tcampbell
The 50 threshold for Baseline is pretty arbitrary and will likely change later.

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

--HG--
extra : moz-landing-system : lando
2019-07-13 11:21:12 +00:00
Andreea Pavel c8af1a97a0 Merge mozilla-central to autoland on a CLOSED TREE 2019-07-13 00:53:27 +03:00
Andreea Pavel 3fed932eaa Merge mozilla-inbound to mozilla-central a=merge 2019-07-13 00:45:18 +03:00
Jan de Mooij fb7e73ed08 Bug 1564887 - Simplify stack checks in Baseline. r=tcampbell
We no longer need the early-check mechanism if we always do environment chain
initialization + stack check before initializing locals. A comment mentions that
environment initialization can only happen _after_ pushing locals, but that
didn't match the code anyway: if the early stack check failed, we would end up
in initEnvironmentChain _without_ having initialized locals.

Ion prologue bailouts now resume in the prologue after environment chain
initialization, so the bailout code needed some small changes to always
initialize the environment chain instead of relying on the Baseline
prologue doing that.

Overall this is much simpler and deletes about 70 lines of code.

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

--HG--
extra : moz-landing-system : lando
2019-07-12 14:28:54 +00:00
Daniel Varga b1a511fe36 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-07-12 13:07:05 +03:00
Daniel Varga 883bfd385e Merge mozilla-inbound to mozilla-central. a=merge 2019-07-12 12:58:03 +03:00
Jan de Mooij 5ea23033d2 Bug 1565175 - Fix HeapSnapshotHandler to not add nodes to |visited| until they're written to the core dump. r=fitzgen
Because ShouldIncludeEdge considers the |origin| node as well, it was possible for
the old code to 'miss' nodes and never write them to the core dump even though we
also wrote some edges with the node as referent.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 18:41:43 +00:00
Ted Campbell 3274645afe Bug 1564932 - Fix XDRScript handling of lazy scripts. r=jandem
XDR should be a structural clone, so check if we have a lazy script
directly when deciding if it should be coded. Whether relazification
should be supported is a VM decision, not an XDR decision. This gives a
cleaner round-trip of data when using XDR.

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

--HG--
extra : moz-landing-system : lando
2019-07-12 08:20:36 +00:00
Daniel Varga cf2048abd6 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-07-12 13:03:23 +03:00
Paul Bone 73ed10d490 Bug 1564313 - Make some style changes to prose in comments r=sfink
* Remove double spaces after periods.
 * Add periods at the end of sentances.
 * Fix a spelling error.
 * Use a simpler sentance.

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

--HG--
extra : moz-landing-system : lando
2019-07-12 06:03:41 +00:00
Paul Bone 94ced028b9 Bug 1564313 - Update comments to // style in nursery code r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D37365

--HG--
extra : moz-landing-system : lando
2019-07-12 06:03:26 +00:00
Ted Campbell 2fd6509104 Bug 1565556 - Rename SharedScriptData to ImmutableScriptData. r=jandem
After this patch a JSScript will have Private, Runtime, and Immutable
script data type attached to it.

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

--HG--
extra : moz-landing-system : lando
2019-07-12 16:19:32 +00:00
Ted Campbell 79d14f02b0 Bug 1565556 - Cleanup SharedScriptData optional arrays. r=jandem
Add an 'Offset' type-alias to better document as well as fixing up
out-of-date comments. This also moves the optArrayOffset to beginning of
structure.

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

--HG--
extra : moz-landing-system : lando
2019-07-12 15:34:11 +00:00
Paul Bone eb77b16ecc Bug 1562187 - (part 4) Move an assertion to it makes more sense r=jandem
Move this assertion so it's nearer to where its assuption is used.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 08:55:56 +00:00
Paul Bone 492004b6d3 Bug 1562187 - (part 3) Remove ifdefs from around Poison calls in Nursery.cpp r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D37361

--HG--
extra : moz-landing-system : lando
2019-07-10 08:55:53 +00:00
Paul Bone 75a0c9286c Bug 1562187 - (part 2) Use correct ifdef r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D37360

--HG--
extra : moz-landing-system : lando
2019-07-10 08:54:56 +00:00
Paul Bone 972012a873 Bug 1562187 - (part 1) All paths through Poison code make asan/valgrind calls r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D37359

--HG--
extra : moz-landing-system : lando
2019-07-10 08:54:42 +00:00
Csoregi Natalia fcccd2b6b0 Merge mozilla-central to autoland. CLOSED TREE 2019-07-12 02:06:45 +03:00
Csoregi Natalia d7d499fe52 Merge inbound to mozilla-central. a=merge 2019-07-12 02:00:51 +03:00
Brindusan Cristian 73b4ae530d Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-07-11 19:23:36 +03:00
André Bargull 7261a71c7e Bug 1560300: Retrieve "resolve" property only once in PromiseAll, PromiseRace, and PromiseAllSettled. r=arai
This optimisation added to the specification doesn't improve performance for us,
because we're already optimising the lookups in Promise.all & co. So we only
need to perform the initial check for `PromiseLookup::isDefaultPromiseState`
outside of the main loop in `CommonPerformPromiseAllRace` and that's more or
less all what needs to be changed.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 11:20:44 +00:00
Tooru Fujisawa 37f4196a65 Bug 1563489 - Part 1: Add BinASTParserPerTokenizer::finish{Eager,Lazy}Function and remove BinASTParserPerTokenizer::buildFunction. r=Yoric,mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D36931

--HG--
extra : moz-landing-system : lando
2019-07-11 19:20:05 +00:00
Tooru Fujisawa 9bcdd5d23f Bug 1563489 - Part 0: Remove generator related code from BinAST. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D36930

--HG--
extra : moz-landing-system : lando
2019-07-11 19:19:49 +00:00
Brian Hackett fa5392d307 Bug 1448166 Part 2 - Add Debugger.Environment.prototype.scopeKind, r=jimb.
--HG--
extra : rebase_source : ac2346d76b2e78ed052a126481268ccb9452e8bf
2019-07-09 21:15:49 +00:00
Brian Hackett c6f2944343 Bug 1448166 Part 1 - Add a kind for top level function lexical scopes, r=tcampbell.
--HG--
extra : rebase_source : 83971892975c1ced097382e8fcd0c4e73598e457
2019-07-09 21:13:07 +00:00
Andrew Halberstadt 3486ba642c Bug 1563797 - Use 'backports.shutil_which' instead of 'which' across the tree r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D37097

--HG--
extra : moz-landing-system : lando
2019-07-11 14:03:39 +00:00
Jon Coppeard 08d49ccfbf Bug 1563755 - Add tenured heap survival rate telemetry r=pbone data-review=chutten
This records the size of the heap at the start of collection and maintains a count of bytes freed during collection. From this we calcuate a 'survival rate' at the end of collection. The intention is that this is like the nursery's promotion rate so it's the fraction retained rather than the fraction freed.

Differential Revision: https://phabricator.services.mozilla.com/D37452
2019-07-09 18:05:03 +01:00
Jon Coppeard 6a0c5fd4fd Bug 1563755 - Refactor GC telemetry collection r=pbone
Factor out methods to send GC telemetry at the end of a slice and at the end of a collection. Rename heap size fields to indicate that they are for total heap size in bytes as opposed to the size of collected zones.

Differential Revision: https://phabricator.services.mozilla.com/D37451
2019-07-09 18:02:11 +01:00
André Bargull f78523ece3 Bug 1564125 - Part 3: Collapse negative and positive zero for additional operands to avoid possible bailouts. r=nbp
Negative zero can be treated the same way as positive zero for MInArray,
MStoreTypedArrayElementHole, and MPostWriteElementBarrier. This avoids possible negative zero
bailouts for these operations.

Depends on D37260

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

--HG--
extra : moz-landing-system : lando
2019-07-09 13:11:05 +00:00
André Bargull 715da186e5 Bug 1564125 - Part 2: Avoid negative zero bailouts for MStoreElementHole and MFallibleStoreElement. r=nbp
Use the correct index position for MStoreElementHold and MFallibleStoreElement to avoid possible
negative zero bailouts for these operations.

Depends on D37259

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

--HG--
extra : moz-landing-system : lando
2019-07-09 13:11:05 +00:00
André Bargull 4c9d7b096d Bug 1564125 - Part 1: Don't call into the runtime for negative zero in LDoubleToString. r=nbp
The string representation of negative zero is equal to the one for positive zero, so there's no
need to call into the runtime for that case.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 13:11:05 +00:00
André Bargull d8ea37c7c3 Bug 1564330: Update tzdata in ICU data files to 2019b. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D37541

--HG--
extra : moz-landing-system : lando
2019-07-10 15:50:28 +00:00
Paul Bone 4da7b3c453 Bug 1562550 - (part 5) Avoid unnecessary poisoning between GCs r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D36878

--HG--
extra : moz-landing-system : lando
2019-07-11 02:32:43 +00:00
Paul Bone 0559968c6e Bug 1562550 - (part 4) We don't need to poison the start chunk here r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D37349

--HG--
extra : moz-landing-system : lando
2019-07-11 02:26:15 +00:00
Paul Bone b142046e3a Bug 1562550 - (part 3) Poison unused memory when we shrink the nursery r=jonco
When we shrink the nursery below one chunk, poison and mark as inaccessible
the now unused part of that chunk.

This is the only patch in this patch series that adds extra memory poisoning.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 02:32:43 +00:00
Paul Bone 957d91ea53 Bug 1562550 - (part 2) Don't poison memory unnecessarily during Nursery::init r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D36876

--HG--
extra : moz-landing-system : lando
2019-07-11 02:31:51 +00:00
Paul Bone 628a54fb08 Bug 1562550 - (part 1) Add a poisonRange method to NurseryChunk r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D36875

--HG--
extra : moz-landing-system : lando
2019-07-10 08:29:17 +00:00
Cosmin Sabou 60a8cce828 Merge mozilla-central to autoland.
--HG--
rename : gfx/wr/wrench/reftests/filters/filter-flood-ref.yaml => gfx/wr/wrench/reftests/filters/svg-filter-flood-ref.yaml
rename : gfx/wr/wrench/reftests/filters/filter-flood.yaml => gfx/wr/wrench/reftests/filters/svg-filter-flood.yaml
2019-07-11 07:06:41 +03:00
Cosmin Sabou bb9fec28eb Merge mozilla-inbound to mozilla-central. a=merge 2019-07-11 07:04:54 +03:00
Adam Holm d8df575e5d Bug 1546786 - Renames converting guard cacheIR ops. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D37454

--HG--
extra : moz-landing-system : lando
2019-07-10 18:08:21 +00:00
Iain Ireland e0b0c531fb Bug 1561732: Remove ion-sincos from fuzz-flags.txt r=gkw
Differential Revision: https://phabricator.services.mozilla.com/D37671

--HG--
extra : moz-landing-system : lando
2019-07-11 01:12:25 +00:00
Jeff Walden 3b5e9c949f Bug 1564589 - Implement an infallible JS::NumberToString that stores null-terminated ToString(Number value) into a static-length buffer. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D37487

--HG--
extra : moz-landing-system : lando
2019-07-10 23:55:09 +00:00
arthur.iakab fcec9d5243 Merge mozilla-central to mozilla-inbound
--HG--
extra : rebase_source : a169b55c78d3644d678e2f1ce7df2b2576d42e7f
2019-07-11 00:57:20 +03:00
Barret Rennie 6fc21f48e9 Bug 1289211 - Rename InfallibleTArray to nsTArray in js/ r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D36962

--HG--
extra : moz-landing-system : lando
2019-07-10 03:31:42 +00:00
Jon Coppeard 26b5825760 Bug 1564078 - Fix use of invocation kind that was previously lost and refactor malloc threshold updates r=sfink
This restores the use of GC invocation kind that was inadvertantly removed by the patch in bug 1395509 comment 33 from the call to ZoneAllocator::updateAllGCThresholds in GCRuntime::endSweepingSweepGroup.  Also refactors ZoneMallocThreshold::computeZoneTriggerBytes a little.

Differential Revision: https://phabricator.services.mozilla.com/D36924
2019-07-04 16:01:53 +01:00
Jan de Mooij 8cd4db7d20 Bug 1564349 part 2 - Load browser JIT prefs only once, during startup. r=nbp
Updating these process-wide prefs at runtime is racy, it was easy to get
into a weird state and we bake in some of these values in JIT code.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 09:43:53 +00:00
Jan de Mooij 93d6f816f0 Bug 1564349 part 1 - Convert Baseline/Ion/NativeRegExp prefs from ContextOptions to JitOptions. r=nbp,smaug
Using process-wide prefs is consistent with the other JIT options and is simpler
to work with (one place to initialize for all runtimes).

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

--HG--
extra : moz-landing-system : lando
2019-07-10 09:43:39 +00:00
Ciure Andrei 091e6006e5 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-07-10 12:43:32 +03:00
Ciure Andrei f372470e10 Merge inbound to mozilla-central. a=merge 2019-07-10 12:41:47 +03:00
Mu Tao 0989bca2e6 Bug 1562830 - [mips] Baseline Interpreter: keep bytecode pc in a register between VM/IC calls r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D37347

--HG--
extra : moz-landing-system : lando
2019-07-10 09:07:36 +00:00
Jed Davis ffe4e7333c Bug 1562358 - Move fallible.h into MFBT. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D36541

--HG--
rename : memory/fallible/fallible.h => mfbt/fallible.h
extra : moz-landing-system : lando
2019-07-10 01:51:15 +00:00
Gurzau Raul c8fe885244 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
rename : remote/server/WebSocket.jsm => remote/server/WebSocketHandshake.jsm
extra : rebase_source : dd11514cb2e390d00009f986dc00dca27e978216
2019-07-09 18:39:47 +03:00
Nicholas Nethercote 5ee5242716 Bug 1563996 - Make dom.ipc.cpows.log.{enabled,stack} static prefs. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D37199

--HG--
extra : moz-landing-system : lando
2019-07-09 07:58:24 +00:00
Nicholas Nethercote bfcc467859 Bug 1563996 - Make dom.ipc.cpows.forbid-unsafe-from-browser a static pref. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D37198

--HG--
extra : moz-landing-system : lando
2019-07-09 07:58:02 +00:00
Mihai Alexandru Michis 57a64c3906 Backed out 3 changesets (bug 1473229) for causing bustages in ICUStubs.h CLOSED TREE
Backed out changeset 953a2bd4220b (bug 1473229)
Backed out changeset f3a2031bde94 (bug 1473229)
Backed out changeset 5109ce5a4b44 (bug 1473229)
2019-07-09 12:07:22 +03:00
André Bargull 435d94c7fa Bug 1473229 - Part 3: Add support for "formatToParts" to Intl.RelativeTimeFormat. r=jwalden
- The new formatted-value API is still draft-only, so extra U_HIDE_DRAFT_API guards
  are currently needed.
- Also moves steps 4-5 of PartitionRelativeTimePattern to native code to reduce code
  duplication.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 08:45:12 +00:00
André Bargull c35911777d Bug 1473229 - Part 2: Make it possible to reuse the number-formatter parts generator code. r=jwalden
Add js::intl::NumberFormatFields containing the two methods:
- `append`: To append a number format field
- `toArray`: To construct the result Array object

The `unitType` argument for NumberFormatFields::toArray will be used in part 3.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 08:44:47 +00:00
André Bargull cafc533177 Bug 1473229 - Part 1: Bump minimum required ICU version to 64.1. r=jwalden
- Part 3 uses functions added in ICU 64, so we need to bump the version requirement.
- Also remove a version check which is now true be default.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 08:44:28 +00:00
Jan de Mooij e78f06cdc7 Bug 1564017 part 6 - Add prefs to about:config. r=tcampbell
I used 'blinterp' to match the shell flags.

Depends on D37211

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

--HG--
extra : moz-landing-system : lando
2019-07-08 15:50:22 +00:00
Jan de Mooij 1dfc02a62d Bug 1564017 part 5 - Save InterpeterPCReg correctly for the code-coverage-at-prologue call. r=tcampbell
Thinko: I did this for codeCoverageAtPCLabel but codeCoverageAtPrologueLabel
also needs to do this because the pc register has been initialized before that.

This fixes code coverage jit-tests on arm64.

Depends on D37210

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

--HG--
extra : moz-landing-system : lando
2019-07-08 15:50:21 +00:00
Jan de Mooij 061bd08dd6 Bug 1564017 part 4 - Fix testFloat32 Baseline threshold. r=tcampbell
This test lowers the Ion threshold to 50, conflicting with the new Baseline
threshold of 50.

Depends on D37209

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

--HG--
extra : moz-landing-system : lando
2019-07-08 15:50:21 +00:00
Jan de Mooij 8934301d38 Bug 1564017 part 3 - Disable Baseline Interpreter in testChromeBuffer jsapi-test. r=tcampbell
This test needs to run in the C++ interpreter.

Depends on D37208

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

--HG--
extra : moz-landing-system : lando
2019-07-08 15:50:21 +00:00
Jan de Mooij 8c752b21e7 Bug 1564017 part 2 - Avoid touching interpreter code while destroying the runtime. r=jonco
This fixes an xpcshell orange.

Depends on D37207

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

--HG--
extra : moz-landing-system : lando
2019-07-08 15:50:21 +00:00
Jan de Mooij 3fa692828d Bug 1563510 part 4 - Change JSFunction::hasJITCode to JSFunction::hasJitScript. r=iain
This prevents slowdowns when we increase the Baseline JIT threshold and
is more predictable when we move BaselineCompiler off-thread.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 07:22:16 +00:00
Jan de Mooij fb740d0dd3 Bug 1563510 part 3 - Use toggled jumps for more debugger instrumentation. r=djvj
We now have a Vector of offsets instead of a single offset.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 07:23:21 +00:00
Jan de Mooij 2e91c384c5 Bug 1563510 part 2 - Store function environment directly in emitInitFrameFields instead of storing nullptr first. r=djvj
Instead of initializing frame->environmentChain to nullptr first and then setting it to
fun->environment() later, we can store fun->environment immediately. This also means the
interpreter doesn't need to load and untag the callee token a second time.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 07:23:07 +00:00
Jan de Mooij 56298eec18 Bug 1563510 part 1 - Fold emitPreInitEnvironmentChain into emitInitFrameFields. r=djvj
This eliminates some branches and simplifies the code.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 07:22:53 +00:00
Narcis Beleuzu 4b16f12a07 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-07-09 06:51:10 +03:00
Narcis Beleuzu 59c3fccd33 Merge inbound to mozilla-central. a=merge 2019-07-09 06:45:48 +03:00
Sebastian Hengst 654b6e825b merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-07-08 15:11:29 +02:00
Sebastian Hengst 3134e9d91c Backed out 3 changesets (bug 1541557) for failures in SpecialPowersObserverAPI.js. a=backout CLOSED TREE
Backed out changeset 5b91c8869f42 (bug 1541557)
Backed out changeset a636725ad217 (bug 1541557)
Backed out changeset 7e6657f88b76 (bug 1561150)

--HG--
rename : testing/specialpowers/content/MozillaLogger.js => testing/mochitest/tests/SimpleTest/MozillaLogger.js
rename : testing/specialpowers/content/specialpowersAPI.js => testing/specialpowers/content/SpecialPowersAPI.jsm
rename : testing/specialpowers/content/SpecialPowersObserverAPI.js => testing/specialpowers/content/SpecialPowersAPIParent.jsm
rename : testing/specialpowers/content/specialpowers.js => testing/specialpowers/content/SpecialPowersChild.jsm
rename : testing/specialpowers/content/SpecialPowersObserver.jsm => testing/specialpowers/content/SpecialPowersParent.jsm
extra : amend_source : 158c9e896d32778e71f4fd343227f531d693e511
2019-07-08 14:38:45 +02:00
Sebastian Hengst 515d14403f Backed out 34 changesets (bug 1561150, bug 1541557, bug 1561724, bug 1561999, bug 1558298, bug 1561061, bug 1532795, bug 1560400, bug 1561122) for beta simulation failures (bug 1563905, bug 1564001). a=backout
Backed out changeset 210d6d52e8b0 (bug 1541557)
Backed out changeset 3115db154c45 (bug 1561122)
Backed out changeset b42748878b6e (bug 1561122)
Backed out changeset 266160ca8e9d (bug 1561999)
Backed out changeset 00e935828f41 (bug 1561724)
Backed out changeset 4aaf4882780d (bug 1561150)
Backed out changeset 6644e38a6692 (bug 1561150)
Backed out changeset 72cd895b1613 (bug 1561061)
Backed out changeset f0bac27bad8a (bug 1560400)
Backed out changeset 95da39224eab (bug 1560400)
Backed out changeset 3fe4d4942fd2 (bug 1532795)
Backed out changeset 23e90c6fec2b (bug 1532795)
Backed out changeset a7f093fbef06 (bug 1532795)
Backed out changeset c873f0eb94be (bug 1532795)
Backed out changeset cf359a8ec753 (bug 1532795)
Backed out changeset f2c260cae4b5 (bug 1541557)
Backed out changeset 054a0b7aa81d (bug 1541557)
Backed out changeset f808ec45ff9c (bug 1541557)
Backed out changeset 1025eeef0954 (bug 1541557)
Backed out changeset fe88b250e418 (bug 1541557)
Backed out changeset 6680278c231b (bug 1541557)
Backed out changeset 255735c1ff63 (bug 1541557)
Backed out changeset 51969e1c9c44 (bug 1558298)
Backed out changeset d12525990565 (bug 1558298)
Backed out changeset ef4ec8f0f886 (bug 1558298)
Backed out changeset 45a9599d9641 (bug 1558298)
Backed out changeset 4ccecdba1c34 (bug 1558298)
Backed out changeset 0e91fc9541c2 (bug 1558298)
Backed out changeset edd1cc6badf7 (bug 1558298)
Backed out changeset ba24251835fb (bug 1558298)
Backed out changeset ca88016511bb (bug 1558298)
Backed out changeset c95e6e599836 (bug 1558298)
Backed out changeset 9b1a9d802434 (bug 1558298)
Backed out changeset f859e4de0007 (bug 1558298)

--HG--
rename : testing/mochitest/tests/SimpleTest/MozillaLogger.js => testing/specialpowers/content/MozillaLogger.js
rename : testing/specialpowers/content/SpecialPowersParent.jsm => testing/specialpowers/content/SpecialPowersObserver.jsm
rename : testing/specialpowers/content/SpecialPowersAPIParent.jsm => testing/specialpowers/content/SpecialPowersObserverAPI.js
rename : testing/specialpowers/content/SpecialPowersChild.jsm => testing/specialpowers/content/specialpowers.js
rename : testing/specialpowers/content/SpecialPowersAPI.jsm => testing/specialpowers/content/specialpowersAPI.js
extra : rebase_source : 223d2e49710b016c9973765d402c61692004518e
extra : amend_source : ec773fe82334e6da536bb21e83a994a5f2d03091
2019-07-08 10:37:28 +02:00
Jim Blandy 40b709bc47 Bug 1470558: Delete Debugger::{resultToCompletion,newCompletionValue,receiveCompletionValue}. r=jorendorff
All uses of these have been rewritten to use the Completion type.

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

--HG--
extra : moz-landing-system : lando
2019-07-07 09:47:58 +00:00
Jim Blandy 53b25d6db0 Bug 1470558: Use Completion in Debugger.Object 'call' and 'apply' methods. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D33078

--HG--
extra : moz-landing-system : lando
2019-07-07 09:47:51 +00:00
Jim Blandy e97921f538 Bug 1470558: Use Completion type for Debugger eval-related methods. r=jorendorff
DebuggerFrame::eval and DebuggerObject::evalInGlobal are two more invocation
functions that can reasonably use Completion to report the results of the
operation.

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

--HG--
extra : moz-landing-system : lando
2019-07-07 09:47:52 +00:00
Jim Blandy 0db9a27958 Bug 1470558: Use Completion type in Debugger::receiveCompletionValue. r=jorendorff
Replacing more calls to Debugger::resultToCompletion with uses of the newer API.

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

--HG--
extra : moz-landing-system : lando
2019-07-07 09:47:54 +00:00
Jim Blandy bbe5b53e74 Bug 1470558: Use Completion type in DebuggerObject::{set,get}Property. r=jorendorff
Use the `Completion` type to report the result of the
`DebuggerObject::setProperty` and `getProperty` methods.

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

--HG--
extra : moz-landing-system : lando
2019-07-07 09:47:56 +00:00
Jim Blandy 0817e7f8c3 Bug 1470558: Distinguish yields and awaits in completion values. r=jorendorff
This patch introduces a new type to the debugger, `js::Completion`, describing
how a given JavaScript evaluation completed. It's a wrapper around a `Variant`
with alternatives:
- Return
- Throw
- Terminate
- InitialYield (the initial yield of a generator, returning the generator object)
- Yield (subsequent yields of a generator)
- Await (both initial and subsequent)

We can construct a `Completion` in two ways:

- From any JavaScript operation's result (a success value and a context carrying
  an exception value and stack). This only distinguishes between Return, Throw,
  and Terminate.

- From a stack frame that's about to be popped. This allows us to identify
  yields and awaits.

Given a `Completion` we can construct Debugger API 'completion values' to pass
to hooks, as well as the resumption/value/context states that tell the engine
how to continue execution. Within Debugger itself, `Completion` values are a
convenient place to gather up various bits of logic: identifying suspensions,
chaining resumption values from multiple Debugger hooks, and so on.

Although `Completion` should be used throughout Debugger, this patch only uses
it for the `onPop` hook. Subsequent patches in the series will apply it to other
cases where Debugger can invoke JavaScript.

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

--HG--
extra : moz-landing-system : lando
2019-07-07 17:03:57 +00:00
Dorel Luca af558d4b74 Backed out 6 changesets (bug 1470558) for Build bustage in js/src/vm/Debugger.cpp
Backed out changeset 1a18ccfcdc98 (bug 1470558)
Backed out changeset ef67e1b47f9c (bug 1470558)
Backed out changeset 6034237161dc (bug 1470558)
Backed out changeset 6791d671e6cc (bug 1470558)
Backed out changeset abdfe0ed8ea1 (bug 1470558)
Backed out changeset c4bae8a5a111 (bug 1470558)
2019-07-07 12:42:20 +03:00
Jim Blandy a71ae32a0e Bug 1470558: Delete Debugger::{resultToCompletion,newCompletionValue,receiveCompletionValue}. r=jorendorff
All uses of these have been rewritten to use the Completion type.

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

--HG--
extra : moz-landing-system : lando
2019-07-06 21:26:48 +00:00
Jim Blandy 4a891fa5c5 Bug 1470558: Use Completion in Debugger.Object 'call' and 'apply' methods. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D33078

--HG--
extra : moz-landing-system : lando
2019-07-06 21:26:45 +00:00
Jim Blandy 505dee1b5f Bug 1470558: Use Completion type for Debugger eval-related methods. r=jorendorff
DebuggerFrame::eval and DebuggerObject::evalInGlobal are two more invocation
functions that can reasonably use Completion to report the results of the
operation.

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

--HG--
extra : moz-landing-system : lando
2019-07-06 21:26:43 +00:00
Jim Blandy 6d13fe16df Bug 1470558: Use Completion type in Debugger::receiveCompletionValue. r=jorendorff
Replacing more calls to Debugger::resultToCompletion with uses of the newer API.

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

--HG--
extra : moz-landing-system : lando
2019-07-06 21:26:39 +00:00
Jim Blandy 8332025b33 Bug 1470558: Use Completion type in DebuggerObject::{set,get}Property. r=jorendorff
Use the `Completion` type to report the result of the
`DebuggerObject::setProperty` and `getProperty` methods.

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

--HG--
extra : moz-landing-system : lando
2019-07-06 21:25:40 +00:00
Jim Blandy cd561984c9 Bug 1470558: Distinguish yields and awaits in completion values. r=jorendorff
This patch introduces a new type to the debugger, `js::Completion`, describing
how a given JavaScript evaluation completed. It's a wrapper around a `Variant`
with alternatives:
- Return
- Throw
- Terminate
- InitialYield (the initial yield of a generator, returning the generator object)
- Yield (subsequent yields of a generator)
- Await (both initial and subsequent)

We can construct a `Completion` in two ways:

- From any JavaScript operation's result (a success value and a context carrying
  an exception value and stack). This only distinguishes between Return, Throw,
  and Terminate.

- From a stack frame that's about to be popped. This allows us to identify
  yields and awaits.

Given a `Completion` we can construct Debugger API 'completion values' to pass
to hooks, as well as the resumption/value/context states that tell the engine
how to continue execution. Within Debugger itself, `Completion` values are a
convenient place to gather up various bits of logic: identifying suspensions,
chaining resumption values from multiple Debugger hooks, and so on.

Although `Completion` should be used throughout Debugger, this patch only uses
it for the `onPop` hook. Subsequent patches in the series will apply it to other
cases where Debugger can invoke JavaScript.

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

--HG--
extra : moz-landing-system : lando
2019-07-06 21:48:15 +00:00
Kershaw Chang a53a39a584 Bug 1563824 - New error NS_ERROR_TOO_MANY_REQUESTS for 429 response r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D37140

--HG--
extra : moz-landing-system : lando
2019-07-06 21:46:00 +00:00
Jan de Mooij 4165bae74e Bug 1562830 - Keep Baseline Interpreter bytecode pc in a register between VM/IC calls. r=djvj
This is both simpler and faster than the old scheme where the pc was stored in
a register but could be clobbered by R2.

On x64 this wins about 9-10%. On 32-bit x86 we don't have enough registers so
there we load the pc from the frame in more cases. That's about a 2-3%
regression and is a reasonable trade-off.

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

--HG--
extra : moz-landing-system : lando
2019-07-06 12:30:31 +00:00
Sylvestre Ledru 131d0c6a02 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-06 08:18:28 +00:00
Jan de Mooij 676b258268 Bug 1561925 - Implement remaining interpreter-specific BaselineCodeGen methods. r=tcampbell
After the recent script data changes we can now read objects/scopes/bigints and resume offsets
from JIT code.

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

--HG--
extra : moz-landing-system : lando
2019-07-06 10:34:06 +00:00
Emilio Cobos Álvarez 117f562dcb Bug 1563315 - Use cbindgen for fill and stroke r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36807

--HG--
extra : moz-landing-system : lando
2019-07-06 08:31:02 +00:00
Jim Blandy 2487eaaf06 Bug 1560754: Remove DebuggeeFrameGeneratorScript. r=jorendorff
Stop inserting DebuggeeFrameGeneratorScript keys in the cross-compartment
wrapper table for the edges from Debugger.Frames for generator / async calls to
the generators' scripts. The wrappers are unnecessary, and since they're not
unique when multiple Debugger.Frames refer to different calls of the same
generator, we can't easily tell when to remove them.

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

--HG--
extra : moz-landing-system : lando
2019-07-06 00:01:24 +00:00
Jon Coppeard c985bb9d8b Bug 1564072 - Associate more per-zone memory with the zone r=sfink
This replaces SystemAllocPolicy with ZoneAllocPolicy for things related to zones where possible.  There are a few places where this isn't possible at the moment due to header include order.  I'll try and revisit these later after removing the current malloc memory tracking as this simplifies the situation.

Differential Revision: https://phabricator.services.mozilla.com/D36923
2019-07-04 15:49:19 +01:00
Jon Coppeard 2a4d60e5af Bug 1563570 - Replace use of SweepActionRepeatFor with SweepActionForEach r=sfink
If we make the output pointer optional we can use SweepActionForEach in place of SweepAtionRepeatFor and remove the latter.

Differential Revision: https://phabricator.services.mozilla.com/D37226
2019-07-08 10:12:14 +01:00
Jon Coppeard 308441c34c Bug 1563570 - Remove SweepAction template parameters and replace with a fix Args struct r=sfink
This gets rid of all the template parameter packs everywhere now they're all basically the same thing.

Differential Revision: https://phabricator.services.mozilla.com/D37225
2019-07-09 11:15:10 +01:00
Jon Coppeard 7a7331c559 Bug 1563570 - Pass sweep action loop iteration values in GCRuntime state r=sfink
This makes looping constucts take an out parameter to store the loop iteration value in. This gets rid of RemoveLastTemplateParameter which I enjoyed writing but always felt guitly about inflicting on the world.

Differential Revision: https://phabricator.services.mozilla.com/D37224
2019-07-08 10:12:13 +01:00
Paul Bone 546bfbc874 Bug 1561506 - Make startOrRunIfIdle safe when threads are disabled r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D36326

--HG--
extra : moz-landing-system : lando
2019-07-05 13:18:27 +00:00
Paul Bone c31fd2d225 Bug 1506733 - (part 4) Decommit unused portion of Nursery chunks r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D35591

--HG--
extra : moz-landing-system : lando
2019-07-05 13:18:17 +00:00
Paul Bone 08d45f17bc Bug 1506733 - (part 3) Re-initalise memory regions when growing the nursery r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D36863

--HG--
extra : moz-landing-system : lando
2019-07-05 15:56:53 +00:00
Paul Bone 112005db9e Bug 1506733 - (part 2) Refactor how the NurseryDecomitter finishes r=jonco
This refactoring is required for the next change.

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

--HG--
extra : moz-landing-system : lando
2019-07-05 13:18:09 +00:00
Paul Bone 070151d46c Bug 1506733 - (part 1) Rename NurseryDecommitChunkTask r=jonco
This class will not just decommit whole chunks, so rename it to not imply
that as much.

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

--HG--
extra : moz-landing-system : lando
2019-07-05 13:18:05 +00:00
Tom Schuster b636d3b494 Bug 1558914 - Remove BinAST tests with Array generics. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D37273

--HG--
extra : moz-landing-system : lando
2019-07-08 17:45:18 +00:00
Tom Schuster 37d3a7113f Bug 1558914 - Disable Array generics in Nightly. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D35541

--HG--
extra : moz-landing-system : lando
2019-07-08 17:45:07 +00:00
André Bargull 887441681e Bug 1521819: Add numberingSystem support to Intl.RelativeTimeFormat. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D27070

--HG--
extra : moz-landing-system : lando
2019-07-08 16:35:18 +00:00
André Bargull 42c851b033 Bug 1291463: Apply TypedArray sort optimisations to normal Array sort. r=jorendorff
Also change the temporary buffer to a normal Array to ensure the `Merge` helper
is called with the same object class.

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

--HG--
extra : moz-landing-system : lando
2019-07-08 16:33:12 +00:00
Jonathan Kingston 31441f82ea Bug 1560455 - rename CodebasePrincipal to ContentPrincipal. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D35504

--HG--
extra : moz-landing-system : lando
2019-07-08 16:37:45 +00:00
Greg Tatum bb7857b872 Bug 1559486 - Remove scriptFilename from RecordAllocationInfo; r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D36651

--HG--
extra : moz-landing-system : lando
2019-07-04 05:19:58 +00:00
Jan de Mooij ff4b377df4 Bug 1562129 part 3 - Add BaselineInterpreter flags to fuzz-flags.txt. r=tcampbell
Depends on D36307

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

--HG--
extra : moz-landing-system : lando
2019-07-05 16:45:05 +00:00
Jan de Mooij ae0157f590 Bug 1562129 part 2 - Add --blinterp-eager to jit-test 'all' configuration. r=sfink
To not make jstests even slower, this adds --jitflags=jstests and uses it for
jstests in automation. For jstests we can use fewer jit configurations than
for jit-tests.

This also removes the bigint and bigintdebug autospider variants. BigInt is now
enabled by default so we no longer need the configure flag etc.

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

--HG--
extra : moz-landing-system : lando
2019-07-08 11:22:04 +00:00
Jan de Mooij 70b2a0cabd Bug 1562602 part 5 - Add IsBaselineInterpreterEnabled() and use it instead of checking the JitOption directly. r=tcampbell
This is consistent with IsBaselineEnabled/IsIonEnabled and lets us handle the
JS_CODEGEN_NONE and no-floating-point-support cases the same way.

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

--HG--
extra : moz-landing-system : lando
2019-07-08 08:20:04 +00:00
Jan de Mooij 1522eff8b9 Bug 1562602 part 4 - Move jitSupportsFloatingPoint and jitSupportsUnalignedAccesses flags from JSRuntime to JitOptions. r=tcampbell
This is process-wide state and storing it in JSContext/JSRuntime requires
callers to pass a context/runtime for no good reason. This simplifies the
next patch.

Storing this in JitOptions seemed nicer than adding new globals for this and
maybe in the future we will have a testing function/flag to toggle these
flags.

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

--HG--
extra : moz-landing-system : lando
2019-07-08 08:19:45 +00:00
Jan de Mooij fbd123672c Bug 1562602 part 3 - Remove unused JSRuntime::jitSupportsSimd field and JSContext accessor for it. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D36470

--HG--
extra : moz-landing-system : lando
2019-07-08 08:19:31 +00:00
Jan de Mooij 7922e5cf35 Bug 1562602 part 2 - Don't Baseline interpret scripts with a huge number of slots. r=tcampbell
This avoids overrecursion exceptions on testManyVars.js on Windows/Linux
(the C++ interpreter has heap-allocated stack frames so it can handle this
better).

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

--HG--
extra : moz-landing-system : lando
2019-07-08 08:19:17 +00:00
Jan de Mooij c6d0430074 Bug 1562602 part 1 - Fix JSJitProfilingFrameIterator::fixBaselineReturnAddress for interpreter frames. r=djvj
It needs to set resumePCinCurrentFrame_ to an address in the interpreter JitCode
instead of nullptr (or else the profiler's JitCodeMap lookup will assert).

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

--HG--
extra : moz-landing-system : lando
2019-07-08 08:18:58 +00:00
Jan de Mooij 808f2e0384 Bug 1562129 part 1 - Fix GeneratorThrowOrReturn to initialize interpreter fields if necessary. r=tcampbell
The last part of my local interpreter patch stack that's necessary to pass jit-tests.

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

--HG--
extra : moz-landing-system : lando
2019-07-08 08:18:44 +00:00
Jan de Mooij 8d5c5fc6da Bug 1541404 part 32 - Add shell flags for the baseline interpreter. r=tcampbell
This also has some minor changes to allow enabling the Baseline Interpreter without
the Baseline JIT.

After this is enabled by default we want to make the Interpreter a hard dependency
for Baseline (similar to how Ion requires Baseline to be enabled) and then we can
simplify some code, but of course we can't do that yet.

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

--HG--
extra : moz-landing-system : lando
2019-07-08 08:18:30 +00:00
Sylvestre Ledru fc2eb5393c Bug 1562642 - Part 2 - Add missing MPL2 headers r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D37146

--HG--
extra : moz-landing-system : lando
2019-07-08 09:27:47 +00:00
Jon Coppeard ccc5d43ad4 Bug 1564072 - Track memory used by some ctypes data structures r=sfink
The patch switches some ctypes data structures to ZoneAllocPolicy so that their memory use is tracked against the zone. The creation of heapHash in StructType::DefineInternal relies on the ZoneAllocPolicy being movable after having memory accounted to it.

Differential Revision: https://phabricator.services.mozilla.com/D36178
2019-06-27 11:56:37 +01:00
Jon Coppeard 743c7bbddf Bug 1564072 - Allow ZoneAllocPolicy to be moved r=sfink
Patch to allow ZoneAllocPolicy insstance to be moved after having memory accounted to it. This is useful in the situation where a data structure is populated before being attached to a GC thing by moving it. The code will currently assert (in unregisterPolicy()) if a ZoneAllocPolicy is copied after having memory accounted to it. This could be allowed but it seems better to force users to move in this situation.

Differential Revision: https://phabricator.services.mozilla.com/D36177
2019-06-27 11:56:37 +01:00
Ted Campbell 4b6fb00135 Bug 1562272 - Rename js::ScriptDataTable to RuntimeScriptDataTable. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D37564

--HG--
extra : moz-landing-system : lando
2019-07-10 14:49:19 +00:00
André Bargull 34be9300cd Bug 1543675 - Part 2: Change Intl.PluralRules to use UNumberFormatter API. r=jwalden
- Update Intl.PluralRules to use UNumberFormatter, similar to the updates in part 1.
- Cache the UFormattedNumber instance to turn a performance regression into a
  performance improvement.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 14:12:20 +00:00
André Bargull 8767ed1f43 Bug 1543675 - Part 1: Change Intl.NumberFormat to use UNumberFormatter API. r=jwalden
- Add NumberFormatterSkeleton as a helper class to construct a number formatter
  skeleton. When the "Intl.NumberFormat Unified API" proposal gets implemented
  a more feature-rich class may be necessary.
- In addition to a UNumberFormatter instance, NumberFormatObject now also
  stores a UFormattedNumber instance. This avoids a performance regression
  compared to creating a new UFormattedNumber object each time a number gets
  formatted. (In micro-benchmarks 20% regressions were seen, with a cached
  UFormattedNumber the same micro-benchmarks even improved by ~33%.)
- Add accessors for reserved slot values to NumberFormatObject to improve
  readibility.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 14:12:03 +00:00
André Bargull 47e914a820 Bug 1564093: Use hard-coded list of upper-case first locales to reduce main-thread I/O pause on start-up. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D37240

--HG--
extra : moz-landing-system : lando
2019-07-10 11:25:57 +00:00
Jon Coppeard bdc10724c2 Bug 1564072 - Deprecate FreeOp APIs that don't track memory and rename them to make their use obvious r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D35798
2019-06-25 13:11:04 +01:00
Jon Coppeard fd403b01fc Bug 1564072 - Track malloc memory used by debugger objects r=jimb
Add memory tracking for various debugger objects.  Since the Handler class forms an interface I added a virtual allocSize() method to allow subclasses to supply their size.  This is possibly overkill.

Differential Revision: https://phabricator.services.mozilla.com/D35797
2019-06-25 13:11:04 +01:00
Jon Coppeard 823dab1884 Bug 1564072 - Track malloc memory used by Breakpoints r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D35796
2019-06-25 13:11:04 +01:00
Jon Coppeard f4b85608c1 Bug 1564072 - Track malloc memory used by WasmBreakpoingSites r=luke
The memory tracking needs the GC thing so I made WasmBreakpointSite hold a pointer to the Instance rather than just the DebugState. I added DebugState::getBreakpointSite for cases were we already expect this to exist, like JSScript::getBreakpointSite.

Differential Revision: https://phabricator.services.mozilla.com/D35795
2019-06-25 13:11:02 +01:00
Brindusan Cristian 2a052252a7 Backed out 3 changesets (bug 1564072) for build bustages on WasmDebug.cpp. CLOSED TREE
Backed out changeset e7faeed8fec2 (bug 1564072)
Backed out changeset 8e092bce453c (bug 1564072)
Backed out changeset 02fb177c82e8 (bug 1564072)
2019-07-11 13:26:09 +03:00
Jon Coppeard 675d28e98d Bug 1564072 - Deprecate FreeOp APIs that don't track memory and rename them to make their use obvious r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D35798
2019-06-25 13:11:04 +01:00
Jon Coppeard 34c51c542f Bug 1564072 - Track malloc memory used by Breakpoints r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D35796
2019-06-25 13:11:04 +01:00
Jon Coppeard 1e5b6de086 Bug 1564072 - Track malloc memory used by WasmBreakpoingSites r=luke
The memory tracking needs the GC thing so I made WasmBreakpointSite hold a pointer to the Instance rather than just the DebugState. I added DebugState::getBreakpointSite for cases were we already expect this to exist, like JSScript::getBreakpointSite.

Differential Revision: https://phabricator.services.mozilla.com/D35795
2019-06-25 13:11:02 +01:00
Cosmin Sabou e5e7400092 Bug 1562642 - Fix build bustages. r=bustage-fix 2019-07-06 00:59:28 +03:00
Sylvestre Ledru 2bf505b023 Bug 1562642 - Add missing MPL2 headers r=mhoye
Differential Revision: https://phabricator.services.mozilla.com/D37053

--HG--
extra : moz-landing-system : lando
2019-07-05 17:05:57 +00:00
Iain Ireland 6fc0cd28a9 Bug 1561732: Remove sincos optimization r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D36976

--HG--
extra : moz-landing-system : lando
2019-07-04 21:39:40 +00:00
Edwin Gao e8ea0ad451 Bug 1559975 - Fix python3 lint issues on js/src, r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D35243

--HG--
extra : moz-landing-system : lando
2019-07-05 14:34:55 +00:00
Boris Zbarsky 0809eb5853 Bug 1561887 part 1. Add an overload of JS::ObjectIsMarkedGray that works on TenuredHeap. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D36868

--HG--
extra : moz-landing-system : lando
2019-07-08 22:52:51 +00:00
Ted Campbell 9bcbb31b46 Bug 1562272 - Split SharedScriptData::XDR and InitFromElement. r=jandem
Both of these functions are now split into SharedScriptData and
RuntimeScriptData variants.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 16:13:10 +00:00
Ted Campbell 284a8b0ff7 Bug 1562272 - Move script atoms from SharedScriptData to RuntimeScriptData. r=jandem
This results in SharedScriptData having no pointers left and being an
easy candidate for sharing accross procecces.

The XDR and InitFromEmitter functions will be split in follow-up patches
to make the changes easier to follow.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 16:15:26 +00:00
Ted Campbell 91f73ba53a Bug 1562272 - Add js::RuntimeScriptData type. r=jandem
This splits the ref-count off from js::SharedScriptData. The JSScript
points to the RuntimeScriptData which points to the SharedScriptData.

This is precursor work to allowing script data to be shared between
processes.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 16:16:44 +00:00
Jim Blandy 35ecaa60cb Bug 1564164: Move Debugger.cpp, DebuggerMemory.cpp, and related files into js/src/dbg. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D37334

--HG--
rename : js/src/vm/Debugger-inl.h => js/src/dbg/Debugger-inl.h
rename : js/src/vm/Debugger.cpp => js/src/dbg/Debugger.cpp
rename : js/src/vm/Debugger.h => js/src/dbg/Debugger.h
rename : js/src/vm/DebuggerMemory.cpp => js/src/dbg/DebuggerMemory.cpp
rename : js/src/vm/DebuggerMemory.h => js/src/dbg/DebuggerMemory.h
extra : moz-landing-system : lando
2019-07-09 02:43:54 +00:00
André Bargull c052688204 Bug 1564133: Allow inlining String.fromCodePoint when called with double values. r=mgaudet
Relax the allowed input type for `String.fromCodePoint` from Int32 to any Number type, so that a
missed Int32 optimisation for the input argument doesn't prevent inlining the complete function.

MToNumberInt32 triggers a bailout when the input isn't representable as an Int32 value, but since
`String.fromCodePoint` will throw an exception in this case anyway, it's okay when MToNumberInt32
bails out earlier.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 13:10:34 +00:00
André Bargull ae3180c00d Bug 1473229 - Part 3: Add support for "formatToParts" to Intl.RelativeTimeFormat. r=jwalden
- The new formatted-value API is still draft-only, so extra U_HIDE_DRAFT_API guards
  are currently needed.
- Also moves steps 4-5 of PartitionRelativeTimePattern to native code to reduce code
  duplication.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 10:04:45 +00:00
André Bargull 014810afe4 Bug 1473229 - Part 2: Make it possible to reuse the number-formatter parts generator code. r=jwalden
Add js::intl::NumberFormatFields containing the two methods:
- `append`: To append a number format field
- `toArray`: To construct the result Array object

The `unitType` argument for NumberFormatFields::toArray will be used in part 3.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 10:04:20 +00:00
André Bargull 2268647965 Bug 1473229 - Part 1: Bump minimum required ICU version to 64.1. r=jwalden
- Part 3 uses functions added in ICU 64, so we need to bump the version requirement.
- Also remove a version check which is now true be default.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 10:04:06 +00:00
Victor Porof b5a4cb3848 Bug 1558517 - Pre 3.0: Remove conflicting eslint rules, and turn on "curly: all" everywhere, r=standard8
Differential Revision: https://phabricator.services.mozilla.com/D34535

--HG--
extra : source : 74ed7ee773393d305c4e948a57a1b1e32b1f12e8
extra : intermediate-source : 403d0757d61683e0a85d0bb07768eb39fbd0af72
2019-06-28 17:14:01 +02:00
Jorg K 71e34d3108 Bug 1560400 - Follow-up: add include of WindowProxyHolder.h to XrayWrapper.cpp. r=kmag a=Aryx 2019-07-05 00:40:16 +02:00
Razvan Maries daed363fd7 Merge mozilla-inbound to mozilla-central a=merge 2019-07-05 00:40:17 +03:00
Iain Ireland 2270ae3c92 Bug 1535031: Don't force slow path for negative indices in typed arrays r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D36937

--HG--
extra : moz-landing-system : lando
2019-07-04 17:43:17 +00:00
Oana Pop Rus 2ad74ef9f7 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-07-04 06:38:21 +03:00
Benjamin Bouvier 33c16fe2ba Bug 1563241: Make Spidermonkey's testing intrinsic wasmBulkMem dependent on shared memory too; r=lth
Differential Revision: https://phabricator.services.mozilla.com/D36774

--HG--
extra : moz-landing-system : lando
2019-07-04 06:23:27 +00:00
Benjamin Bouvier 2da5b73fca Bug 1563263: Bump Cranelift to 312516a69da03dc06eace32f61412389a8dcadf3; r=lth
Differential Revision: https://phabricator.services.mozilla.com/D36777

--HG--
extra : moz-landing-system : lando
2019-07-04 06:28:01 +00:00
Jan de Mooij e3a4316acf Bug 1563051 - Fix a debugger leak of BaselineDebugModeOSRInfo in DebugEpilogue. r=iain
The other caller of EnsureBareExitFrame is when unwinding in the exception
handler and we already call deleteDebugModeOSRInfo there.

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

--HG--
extra : moz-landing-system : lando
2019-07-04 11:17:36 +00:00
Jan de Mooij 6937395c0b Bug 1537722 - Make bug642772-3.js jit-test faster to avoid time-outs. r=jonco
This test has questionable value but this just makes it
faster by reducing iteration count.

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

--HG--
extra : moz-landing-system : lando
2019-07-04 11:17:36 +00:00
kriswright 81780de567 bug 1562309 - 2. Convert ThreadData in JSContext to ContextData r=jonco
Convert ThreadData to ContextData in JSContext. Removed some old GCHelperState variables that are no longer being used. Removed NativeStackQuota, which is never read. Renamed SetNativeStackQuotaAndLimit to SetNativeStackLimit, as it is never setting a NativeStackQuota.

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

--HG--
extra : moz-landing-system : lando
2019-07-03 14:46:23 +00:00
kriswright 8cdabb80f5 bug 1562309 - add protected data checks to check for context-local thread data r=jonco
Adds CheckContextLocal protected data checks and a data type to check a JSContext against the TlsContext of the thread. Objects must specify the JSContext in which they are created in to check against.

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

--HG--
extra : moz-landing-system : lando
2019-07-03 17:27:08 +00:00
Kris Maglione f180f12646 Bug 1560400: Part 1 - Support remote frames in Window indexed getters. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D35471

--HG--
extra : rebase_source : b326799f8ced75068f7e7fec6edbd39455cdb9b1
extra : source : 84633034590f2d1a4c336f9653e6c542f3a09039
2019-06-20 13:52:55 -07:00
Andreea Pavel 1b18eed531 Backed out changeset ba60dd480690 (bug 1558604) for SM build bustages on a CLOSED TREE 2019-07-03 00:20:18 +03:00
Matthew Gaudet 704cb5ef71 Bug 1558604 - Keep interpreted and interpretedLazy on FunctionBox r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D34587

--HG--
extra : moz-landing-system : lando
2019-07-02 20:04:15 +00:00
Daniel Varga c26cc99f02 Merge mozilla-central to autoland. On a CLOSED TREE
--HG--
extra : rebase_source : 8432641d0fafe5d0d8ad6645815bcf07e65bf320
2019-07-02 19:49:42 +03:00
Lars T Hansen 0b091ec7d3 Bug 1562906 - Test non-booleans with explicit comparisons. r=jseward
The sharedMemoryEnabled attribute of the module environment is not a
boolean, but a true/false enum, and must be tested through an explicit
comparison with one of the enum values.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 16:18:38 +00:00
Karan Sapolia d31233f330 Bug 1534285 - Make spacing between member functions in CacheIR.h consistent. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D35087

--HG--
extra : moz-landing-system : lando
2019-07-02 12:55:33 +00:00
Benjamin Bouvier ac2e309b61 Bug 1562378: Don't leak debugging strings when not using wasm spew; r=luke
Differential Revision: https://phabricator.services.mozilla.com/D36486

--HG--
extra : moz-landing-system : lando
2019-07-01 16:52:55 +00:00
Matthew Gaudet 680c9fdc50 Bug 1560425 - Remove old performance measurement API r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D35522

--HG--
extra : moz-landing-system : lando
2019-07-02 14:37:17 +00:00
Dorel Luca b6e41fe22d Merge mozilla-central to autoland 2019-07-02 12:43:39 +03:00
Dorel Luca 0671407b7b Merge mozilla-inbound to mozilla-central. a=merge 2019-07-02 12:38:01 +03:00
Dorel Luca 4bbd01493b Backed out 43 changesets (bug 1561724, bug 1561150, bug 1541557, bug 1561122, bug 1560400, bug 1558298, bug 1561999, bug 1532795, bug 1561061) for multiple failures. CLOSED TREE
Backed out changeset 1a4fe24a016c (bug 1541557)
Backed out changeset 6fc41e51bcee (bug 1561061)
Backed out changeset d916d89a5c90 (bug 1561122)
Backed out changeset 757d285aafdd (bug 1560400)
Backed out changeset a7eab5ca061d (bug 1541557)
Backed out changeset d972bbdfe039 (bug 1541557)
Backed out changeset 8802daac6779 (bug 1541557)
Backed out changeset 92c01418b96f (bug 1561150)
Backed out changeset fa5e186e1635 (bug 1561061)
Backed out changeset aa2bee0b18c3 (bug 1560400)
Backed out changeset adf832af8e48 (bug 1561150)
Backed out changeset 72630a7c6e67 (bug 1561999)
Backed out changeset c35aff2a9336 (bug 1561724)
Backed out changeset 19e0edc92077 (bug 1561150)
Backed out changeset 0b3e2164f128 (bug 1561150)
Backed out changeset 43211ebfe738 (bug 1561122)
Backed out changeset c2d0956f41d8 (bug 1561061)
Backed out changeset bf0f0e95c61c (bug 1560400)
Backed out changeset 84633034590f (bug 1560400)
Backed out changeset d5415970da5f (bug 1532795)
Backed out changeset 119caddcb066 (bug 1532795)
Backed out changeset fbbe113aeef2 (bug 1532795)
Backed out changeset 8a3d311c7fac (bug 1532795)
Backed out changeset 1471732eca80 (bug 1532795)
Backed out changeset 46ff845a7b0c (bug 1541557)
Backed out changeset c2697f04d38c (bug 1541557)
Backed out changeset 75ebd6fce136 (bug 1541557)
Backed out changeset 189dc8a35981 (bug 1541557)
Backed out changeset b4ed40bea269 (bug 1541557)
Backed out changeset 158a4000c44b (bug 1541557)
Backed out changeset 61fa2745733f (bug 1541557)
Backed out changeset d2ee912c5189 (bug 1558298)
Backed out changeset 7a0aab00327b (bug 1558298)
Backed out changeset fddf2808fedf (bug 1558298)
Backed out changeset 0f6b382f0626 (bug 1558298)
Backed out changeset 6ccaa25367f2 (bug 1558298)
Backed out changeset d27574cfbb0e (bug 1558298)
Backed out changeset 162bc1fc2730 (bug 1558298)
Backed out changeset f94500dd11e3 (bug 1558298)
Backed out changeset fb67ac962bc5 (bug 1558298)
Backed out changeset c634099abb9d (bug 1558298)
Backed out changeset 8d4419c439e1 (bug 1558298)
Backed out changeset d8b7ed5e149f (bug 1558298)

--HG--
rename : testing/mochitest/tests/SimpleTest/MozillaLogger.js => testing/specialpowers/content/MozillaLogger.js
rename : testing/specialpowers/content/SpecialPowersParent.jsm => testing/specialpowers/content/SpecialPowersObserver.jsm
rename : testing/specialpowers/content/SpecialPowersAPIParent.jsm => testing/specialpowers/content/SpecialPowersObserverAPI.js
rename : testing/specialpowers/content/SpecialPowersChild.jsm => testing/specialpowers/content/specialpowers.js
rename : testing/specialpowers/content/SpecialPowersAPI.jsm => testing/specialpowers/content/specialpowersAPI.js
2019-07-02 10:51:56 +03:00
Greg Tatum e84b12e2ee Bug 1545582 - Add a JS runtime level of allocation logging; r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D28142

--HG--
extra : moz-landing-system : lando
2019-07-01 21:52:58 +00:00
Cameron Kaiser 7e32ff5590 Bug 1512162 - A better fix for incorrect code generation on ppc64le. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D36439

--HG--
extra : moz-landing-system : lando
2019-07-01 18:40:59 +00:00
Ross Kirsling 3e9d056826 Bug 1556818 - Throw early SyntaxError instead of ReferenceError for 0 = 0 r=khyperia,jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D35298

--HG--
extra : moz-landing-system : lando
2019-07-01 22:14:47 +00:00
Andrea Marchesini fc60290383 Bug 1557781 - Better life-time management for BodyStream/FetchStream - part 3 - JS::ReadableStreamReleaseCCObject, r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D36466

--HG--
extra : moz-landing-system : lando
2019-07-01 20:01:17 +00:00
Andrea Marchesini 69ac3c7729 Bug 1557781 - Better life-time management for BodyStream/FetchStream - part 1 - JSCLASS_PRIVATE_IS_NSISUPPORTS, r=jonco,jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D35528

--HG--
extra : moz-landing-system : lando
2019-07-01 19:59:33 +00:00
Kris Maglione 527eca99e4 Bug 1560400: Part 1 - Support remote frames in Window indexed getters. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D35471

--HG--
extra : rebase_source : 44c0503f7c9f46f40732a7f3769bfc46cb8fd01b
2019-06-20 13:52:55 -07:00
Karan Sapolia 638fd4ee57 Bug 1557112 - Remove THREAD_TYPE_GCHELPER from the js::ThreadType enum. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D34975

--HG--
extra : moz-landing-system : lando
2019-06-14 20:42:12 +00:00
shindli d8e8b80c16 Backed out 2 changesets (bug 1558914) for SM bustages on Array.slice . CLOSED TREE
Backed out changeset ac7ca81ef7c6 (bug 1558914)
Backed out changeset e7fbcb7b6694 (bug 1558914)
2019-07-01 19:02:49 +03:00
Kris Maglione f70e67ad2d Bug 1541557: Part 4 - Stop relying on synchronous preference getters/setters. r=nika
The SpecialPowers set*Pref/get*Pref APIs currently use synchronous messaging
to set and get preference values from the parent process. Aside from directly
affecting callers of those APIs, it also affects callers of `pushPrefEnv`,
which is meant to be asynchronous, but is in practice usually synchronous due
to the synchronous messaging it uses.

This patch updates the getPref APIs to use the in-process preference service
(which most callers are expecting anyway), and also updates the callers of
the setPref and pushPrefEnv APIs to await the result if they're relying on it
taking effect immediately.

Unfortunately, there are some corner cases in tests that appear to only work
because of the quirks of the current sync messaging approach. The synchronous
setPref APIs, for instance, trigger preference changes in the parent
instantly, but don't update the values in the child until we've returned to
the event loop and had a chance to process the notifications from the parent.
The differnce in timing leads some tests to fail in strange ways, which this
patch works around by just adding timeouts.

There should be follow-ups for test owners to fix the flakiness.

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

--HG--
extra : rebase_source : 941298157e7c82f420cf50ce057154ce9b85301c
extra : source : 189dc8a359815e059a4a217f788d183260bb2bfe
2019-06-13 09:34:39 -07:00
Kris Maglione ce3e12d5dd Bug 1541557: Part 4 - Stop relying on synchronous preference getters/setters. r=nika
The SpecialPowers set*Pref/get*Pref APIs currently use synchronous messaging
to set and get preference values from the parent process. Aside from directly
affecting callers of those APIs, it also affects callers of `pushPrefEnv`,
which is meant to be asynchronous, but is in practice usually synchronous due
to the synchronous messaging it uses.

This patch updates the getPref APIs to use the in-process preference service
(which most callers are expecting anyway), and also updates the callers of
the setPref and pushPrefEnv APIs to await the result if they're relying on it
taking effect immediately.

Unfortunately, there are some corner cases in tests that appear to only work
because of the quirks of the current sync messaging approach. The synchronous
setPref APIs, for instance, trigger preference changes in the parent
instantly, but don't update the values in the child until we've returned to
the event loop and had a chance to process the notifications from the parent.
The differnce in timing leads some tests to fail in strange ways, which this
patch works around by just adding timeouts.

There should be follow-ups for test owners to fix the flakiness.

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

--HG--
extra : rebase_source : 9c7cc853a635b6e94b6c89db0bd045384b58e552
2019-06-13 09:34:39 -07:00
Jon Coppeard f6f9c2a74c Bug 1395509 - Track malloc memory used by FileObject objects r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D34555
2019-06-11 17:03:41 +01:00
Gurzau Raul 4ca4adcdd7 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-07-02 01:21:33 +03:00
Benjamin Bouvier 8a88f445e1 Bug 1562185: Allow to specify Cranelift flags via an env variable; r=lth
This allows using the CRANELIFT_FLAGS environment variable to control some
flags. To start with, this allows selecting the optimization level (opt_level,
which can be set to fastest/default/best as of this date) and
enabling/disabling jump tables.

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

--HG--
extra : rebase_source : 1c61676e891efc21605e45a9f47d01c4837a7430
extra : histedit_source : 9c0fc5bd2167b4d71b390ef1e563ac8bd0c91f18
2019-06-28 12:25:59 +02:00
Benjamin Bouvier 120aeef9e4 Bug 1562185: Reorganize Cranelift target ISA configuration; r=lth
- rename the cpu.rs file to isa.rs;
- create a new function for platform-specific flags, and move x86 flags in
  there;

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

--HG--
rename : js/src/wasm/cranelift/src/cpu.rs => js/src/wasm/cranelift/src/isa.rs
extra : rebase_source : 2611faa2084f82667e73cc264c10ba6f7c97c407
extra : histedit_source : f1db60e45ea7a3178c19153912d2c659c10f7f71
2019-06-27 19:31:32 +02:00
Benjamin Bouvier 79af6afde4 Bug 1562185: Convert Baldrdash to a 2018 Rust edition project; r=lth
Differential Revision: https://phabricator.services.mozilla.com/D36320

--HG--
extra : rebase_source : e02c133a481c4f63e59b35fd9f1323675dcbe1ee
extra : histedit_source : 99beb474793629748a27017b0a5ec5853060757c
2019-06-27 19:22:58 +02:00
Benjamin Bouvier 5058f9a7c1 Bug 1562185: Reorganize code in Cranelift bindings; r=lth
This introduces a bindings module in the cranelift bindings directory, to make
the roles of different files clearer:

- bindings/low_level.rs (formerly known as baldrapi.rs) contains all the
  bindings automatically generated by bindgen.
- bindings/mod.rs (formerly known as baldrdash.rs) contains all the high-level
  bindings, to be used by the rest of baldrdash.

Some code has been moved to match the roles more consistently; in particular,
nothing in bindings/low_level should be directly used from outer the bindings
directory.

Rustfmt has been run too, which explains a few unrelated changes.

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

--HG--
rename : js/src/wasm/cranelift/src/baldrapi.rs => js/src/wasm/cranelift/src/bindings/low_level.rs
rename : js/src/wasm/cranelift/src/baldrdash.rs => js/src/wasm/cranelift/src/bindings/mod.rs
extra : rebase_source : b6a111cb9f8909e7872aa43452228194d81f79cd
extra : histedit_source : c774c2c4ab98e24aca637451bb0d1fd03d0b94f3
2019-06-27 19:18:42 +02:00
Benjamin Bouvier 8d12747d7c Bug 1559099: Don't check metadata for JumpTableEntry instructions; r=lth
Differential Revision: https://phabricator.services.mozilla.com/D36328

--HG--
extra : rebase_source : c28ef7997335faef6a345f7b80f7cd84d9af2672
extra : histedit_source : 1465d948fc88dd12e1f14d1b83211502e5743b54
2019-06-26 18:02:58 +02:00
Csoregi Natalia 4173161363 Merge mozilla-central to autoland. CLOSED TREE 2019-06-29 13:02:56 +03:00
Csoregi Natalia 29f8e6aebd Merge inbound to mozilla-central. a=merge 2019-06-29 12:59:53 +03:00
Kartikaya Gupta 1298b01ce8 Bug 1558598 - Add ignored option for enable-webrender in jit_test harness. r=ahal
WebRender being on or off doesn't affect the JIT code, so the option is
not really useful in this harness. However, it is a downstream harness that
we'll be passing this flag to so for consistency we have it accept the
flag and silently eat it.

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

--HG--
extra : moz-landing-system : lando
2019-06-29 09:50:43 +00:00
Csoregi Natalia 67226aab44 Backed out changeset 789bacca1219 (bug 1556818) for web platform failures on module-error-reporting.html. 2019-06-29 12:11:33 +03:00
Kagami Sascha Rosylight 8e0f5ebfdd Bug 1560658: Add SameValueZero to mfbt/FloatingPoint.h r=jwalden
Add ES-defined SameValueZero and replace existing code.

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

--HG--
extra : moz-landing-system : lando
2019-06-28 23:57:13 +00:00
Ross Kirsling f2daecfc95 Bug 1556818 - Throw early SyntaxError instead of ReferenceError for 0 = 0 r=khyperia
Differential Revision: https://phabricator.services.mozilla.com/D35298

--HG--
extra : moz-landing-system : lando
2019-06-28 03:04:45 +00:00
Narcis Beleuzu a89b67e772 Backed out 15 changesets (bug 1479960, bug 1426526, bug 1534780, bug 1536697) for toolchain bustages on UniquePtrExtensions.h . CLOSED TREE
Backed out changeset a8518ea4b594 (bug 1479960)
Backed out changeset 7172762c4b87 (bug 1536697)
Backed out changeset 2ea5ccb8f3a1 (bug 1426526)
Backed out changeset d892a888fe9c (bug 1426526)
Backed out changeset 2c4d12bdfec3 (bug 1479960)
Backed out changeset 8a322064cf6d (bug 1479960)
Backed out changeset 47d387b6cd4a (bug 1479960)
Backed out changeset 8332565a6943 (bug 1479960)
Backed out changeset 9d7f1835f96f (bug 1479960)
Backed out changeset 0aa8af4965c5 (bug 1479960)
Backed out changeset 036809330a51 (bug 1479960)
Backed out changeset 39e18373e3d3 (bug 1479960)
Backed out changeset 6c2b995a9d30 (bug 1479960)
Backed out changeset 3c2b31744645 (bug 1534780)
Backed out changeset 26bb00a94d5d (bug 1534780)
2019-06-28 22:42:00 +03:00
shindli 67c134b492 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-06-29 02:23:28 +03:00
Christian Holler fa2fa5573f Bug 1435532 - Prevent/crash on large allocations in fuzzing JS shell. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D28973

--HG--
extra : moz-landing-system : lando
2019-06-28 18:59:55 +00:00
Paul Bone 6176ec4f6d Bug 1562190 - Rename poisonAfterSweep r=jonco
The nursery isn't exactly swept, but it is evicted. Name this function to
make it match its context better.

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

--HG--
extra : moz-landing-system : lando
2019-06-28 13:45:57 +00:00
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