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

71690 Коммитов

Автор SHA1 Сообщение Дата
Andreea Pavel 8c09b0389f Merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : mobile/android/base/java/org/mozilla/gecko/util/OnboardingStringUtil.java => mobile/android/base/java/org/mozilla/gecko/util/OnboardingResources.java
rename : toolkit/components/normandy/test/browser/addons/normandydriver-1.0/manifest.json => toolkit/components/normandy/test/browser/addons/normandydriver-a-1.0/manifest.json
rename : toolkit/components/normandy/test/browser/addons/normandydriver-2.0/manifest.json => toolkit/components/normandy/test/browser/addons/normandydriver-a-2.0/manifest.json
rename : toolkit/components/normandy/test/browser/addons/normandydriver-1.0/manifest.json => toolkit/components/normandy/test/browser/addons/normandydriver-b-1.0/manifest.json
2019-06-15 12:54:47 +03:00
Mihai Alexandru Michis cff1990963 Backed out 4 changesets (bug 1545582) for causing build bustages in SavedStacks.cpp CLOSED TREE
Backed out changeset a47c4a44bae0 (bug 1545582)
Backed out changeset c05a5d68d9a8 (bug 1545582)
Backed out changeset 699de45940b1 (bug 1545582)
Backed out changeset 285673afaa99 (bug 1545582)
2019-06-15 02:19:08 +03:00
Greg Tatum 808dfce0d8 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-06-14 20:18:22 +00:00
Dorel Luca bb47ceb7e9 Backed out 2 changesets (bug 1559275) for Mochitest failures in js/xpconnect/tests/chrome/test_discardSystemSource.xul. CLOSED TREE
Backed out changeset 41762079fd4c (bug 1559275)
Backed out changeset 248e294630c1 (bug 1559275)

--HG--
extra : rebase_source : 88e75469d7ad3dda9c969fa2c9ceee47b6d0169a
2019-06-14 23:52:03 +03:00
Kristen Wright 6cb69baf92 Bug 1558556 - swap cx->helperThread() nullchecks to check for js::ContextKind::HelperThread r=tcampbell
Added isHelperThreadContext() to check that cx runs on a helper thread, similar to isMainThreadContext(). Replaced null-checks meant to look for helper threads with isHelperThreadContext(), leaving instances where helperthread() is checked in order to access the actual helper thread.

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

--HG--
extra : moz-landing-system : lando
2019-06-14 17:58:28 +00:00
Jim Blandy 44b4472bb0 Bug 1559062: Don't leak onStep handlers. r=jorendorff
When I wrote my prior patch, I forgot that a DebuggerFrame object's
ONSTEP_HANDLER_SLOT holds, not a JavaScript object, but a private value pointing
to an OnStepHandler, which must be explicitly freed.

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

--HG--
extra : moz-landing-system : lando
2019-06-14 19:26:09 +00:00
Ted Campbell e35a46b5c0 Bug 1559275 - Remove unused CompileOptions::isProbablySystemCode. r=jandem
Depends on D34976

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

--HG--
extra : moz-landing-system : lando
2019-06-14 07:35:17 +00:00
Ted Campbell d91ab6cc88 Bug 1559275 - Add CompileOptions::discardSource. r=jandem
Check realm flags at when creating CompileOptions rather than during
compilation. This is helpful for pre-compiling self-hosting code.

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

--HG--
extra : moz-landing-system : lando
2019-06-14 18:34:32 +00:00
Jon Coppeard cd489feba4 Bug 1395509 - Track malloc memory used by TypedObject trace lists r=sfink
This changes the format of the trace list from using -1 as a delimter to storing the list lengths up front so that we have length information.

Differential Revision: https://phabricator.services.mozilla.com/D34731
2019-06-12 16:23:04 +01:00
Jon Coppeard da44422dfb Bug 1395509 - Track malloc memory used by PerfMesaurement objects r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D34730
2019-06-12 16:22:13 +01:00
Jon Coppeard 0c97e981f1 Bug 1395509 - Track malloc memory used by non-inline TypedArray elements r=sfink
Note that we only track the for typed arrays that are not backed by an ArrayBuffer as the memory is tracked there from then on.

Differential Revision: https://phabricator.services.mozilla.com/D34729
2019-06-12 16:22:03 +01:00
Jon Coppeard 2f2b9fb759 Bug 1395509 - Track malloc memory used by RegExp bytecode r=jandem
I had to store the length as the first word of the bytecode. I also shuffled RegExpShared fields around to make the class a little smaller.

Differential Revision: https://phabricator.services.mozilla.com/D34726
2019-06-12 16:21:18 +01:00
Jon Coppeard e7e5bc5f08 Bug 1395509 - Allow multiple associations for some memory uses r=sfink
Some kinds of memory use (e.g. reg exp byte code) require multiple memory associations for a single cell. This patch adds machinery to let that happen for specific uses.

Differential Revision: https://phabricator.services.mozilla.com/D34723
2019-06-12 16:19:52 +01:00
Jon Coppeard e5408fbd5b Bug 1395509 - Track malloc memory used by RegExpStatics objects r=pbone
I wanted to make VectorMatchPairs use ZoneAllocPolicy but this is also used in a bunch of places where it's not attached to a GC thing, so I left this as a todo.

Differential Revision: https://phabricator.services.mozilla.com/D34556
2019-06-11 17:03:42 +01:00
Jon Coppeard 7a505286bf Bug 1395509 - Track malloc memory used by native iterator objects r=jandem
Use memory tracking APIs to track malloc memory associated with NativeIterator objects. I had to store the initial propery count as propertiesEnd can change during the lifetime of this object.

Differential Revision: https://phabricator.services.mozilla.com/D34554
2019-06-11 17:03:41 +01:00
Jon Coppeard 3930aadd70 Bug 1555936 - Add diagnostic asserts to check the contents of the atoms table r=jandem a=abillings
Differential Revision: https://phabricator.services.mozilla.com/D34515
2019-06-11 15:04:29 +01:00
Ashley Hauck 8b0ff305bb Bug 1559123 - Do not relazify scripts with JSOP_CALLSITEOBJ. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D34916

--HG--
extra : moz-landing-system : lando
2019-06-14 15:10:10 +00:00
Paul Bone 42d58c9bd2 Bug 1476845 - Define the LifoAlloc poison values in jsutil.h r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D33452

--HG--
extra : moz-landing-system : lando
2019-06-14 05:37:17 +00:00
Paul Bone 30f610c54e Bug 1476845 - Add link to mrgiggles' source r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D33451

--HG--
extra : moz-landing-system : lando
2019-06-14 05:36:54 +00:00
Paul Bone 22ecc62435 Bug 1476845 - Collect poison values from around the engine into jsutil.h r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D33450

--HG--
extra : moz-landing-system : lando
2019-06-14 05:36:37 +00:00
Paul Bone 8dfaa246d4 Bug 1476845 - Update IsThingPoisoned r=jonco
Not all the listed poison values were used in IsThingPoisoned

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

--HG--
extra : moz-landing-system : lando
2019-06-14 05:35:43 +00:00
André Bargull a39b233aa1 Bug 1549578: Cache most recently used UDateTimePatternGenerator in SharedIntlData. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D30114

--HG--
extra : moz-landing-system : lando
2019-06-14 03:34:33 +00:00
Noemi Erli 98dd316a59 Backed out 3 changesets (bug 1560206) for causing bustages in non-generic-realm.js CLOSED TREE
Backed out changeset 0dd4ee1df7ef (bug 1560206)
Backed out changeset bce9437c8e50 (bug 1560206)
Backed out changeset b42b51c49598 (bug 1560206)

--HG--
rename : js/src/tests/test262/built-ins/TypedArray/prototype/sort/stability.js => js/src/tests/test262/built-ins/TypedArray/stability.js
rename : js/src/tests/test262/language/module-code/instn-resolve-err-syntax-2_FIXTURE.js => js/src/tests/test262/language/module-code/instn-resolve-err-reference_FIXTURE.js
rename : js/src/tests/test262/language/module-code/instn-resolve-err-syntax-1_FIXTURE.js => js/src/tests/test262/language/module-code/instn-resolve-err-syntax_FIXTURE.js
rename : js/src/tests/test262/language/white-space/string-horizontal-tab.js => js/src/tests/test262/language/white-space/S7.2_A2.1_T1.js
rename : js/src/tests/test262/language/white-space/string-vertical-tab.js => js/src/tests/test262/language/white-space/S7.2_A2.2_T1.js
rename : js/src/tests/test262/language/white-space/string-form-feed.js => js/src/tests/test262/language/white-space/S7.2_A2.3_T1.js
rename : js/src/tests/test262/language/white-space/string-space.js => js/src/tests/test262/language/white-space/S7.2_A2.4_T1.js
rename : js/src/tests/test262/language/white-space/string-nbsp.js => js/src/tests/test262/language/white-space/S7.2_A2.5_T1.js
rename : js/src/tests/test262/language/white-space/comment-single-horizontal-tab.js => js/src/tests/test262/language/white-space/S7.2_A3.1_T1.js
rename : js/src/tests/test262/language/white-space/comment-single-vertical-tab.js => js/src/tests/test262/language/white-space/S7.2_A3.2_T1.js
rename : js/src/tests/test262/language/white-space/comment-single-form-feed.js => js/src/tests/test262/language/white-space/S7.2_A3.3_T1.js
rename : js/src/tests/test262/language/white-space/comment-single-space.js => js/src/tests/test262/language/white-space/S7.2_A3.4_T1.js
rename : js/src/tests/test262/language/white-space/comment-single-nbsp.js => js/src/tests/test262/language/white-space/S7.2_A3.5_T1.js
rename : js/src/tests/test262/language/white-space/comment-multi-horizontal-tab.js => js/src/tests/test262/language/white-space/S7.2_A4.1_T1.js
rename : js/src/tests/test262/language/white-space/comment-multi-vertical-tab.js => js/src/tests/test262/language/white-space/S7.2_A4.2_T1.js
rename : js/src/tests/test262/language/white-space/comment-multi-form-feed.js => js/src/tests/test262/language/white-space/S7.2_A4.3_T1.js
rename : js/src/tests/test262/language/white-space/comment-multi-space.js => js/src/tests/test262/language/white-space/S7.2_A4.4_T1.js
rename : js/src/tests/test262/language/white-space/comment-multi-nbsp.js => js/src/tests/test262/language/white-space/S7.2_A4.5_T1.js
2019-06-20 23:27:43 +03:00
Jason Orendorff 913d5a844c Bug 1560206 - Part 3: Add entries to jstests.list for new failing test262 tests. r=khyperia
Differential Revision: https://phabricator.services.mozilla.com/D35444

--HG--
extra : moz-landing-system : lando
2019-06-20 19:41:52 +00:00
Jason Orendorff 70d8887aa8 Bug 1560206 - Part 2: Update test262. r=khyperia
Depends on D35442

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

--HG--
rename : js/src/tests/test262/built-ins/TypedArray/stability.js => js/src/tests/test262/built-ins/TypedArray/prototype/sort/stability.js
rename : js/src/tests/test262/language/module-code/instn-resolve-err-syntax_FIXTURE.js => js/src/tests/test262/language/module-code/instn-resolve-err-syntax-1_FIXTURE.js
rename : js/src/tests/test262/language/module-code/instn-resolve-err-reference_FIXTURE.js => js/src/tests/test262/language/module-code/instn-resolve-err-syntax-2_FIXTURE.js
rename : js/src/tests/test262/language/white-space/S7.2_A4.3_T1.js => js/src/tests/test262/language/white-space/comment-multi-form-feed.js
rename : js/src/tests/test262/language/white-space/S7.2_A4.1_T1.js => js/src/tests/test262/language/white-space/comment-multi-horizontal-tab.js
rename : js/src/tests/test262/language/white-space/S7.2_A4.5_T1.js => js/src/tests/test262/language/white-space/comment-multi-nbsp.js
rename : js/src/tests/test262/language/white-space/S7.2_A4.4_T1.js => js/src/tests/test262/language/white-space/comment-multi-space.js
rename : js/src/tests/test262/language/white-space/S7.2_A4.2_T1.js => js/src/tests/test262/language/white-space/comment-multi-vertical-tab.js
rename : js/src/tests/test262/language/white-space/S7.2_A3.3_T1.js => js/src/tests/test262/language/white-space/comment-single-form-feed.js
rename : js/src/tests/test262/language/white-space/S7.2_A3.1_T1.js => js/src/tests/test262/language/white-space/comment-single-horizontal-tab.js
rename : js/src/tests/test262/language/white-space/S7.2_A3.5_T1.js => js/src/tests/test262/language/white-space/comment-single-nbsp.js
rename : js/src/tests/test262/language/white-space/S7.2_A3.4_T1.js => js/src/tests/test262/language/white-space/comment-single-space.js
rename : js/src/tests/test262/language/white-space/S7.2_A3.2_T1.js => js/src/tests/test262/language/white-space/comment-single-vertical-tab.js
rename : js/src/tests/test262/language/white-space/S7.2_A2.3_T1.js => js/src/tests/test262/language/white-space/string-form-feed.js
rename : js/src/tests/test262/language/white-space/S7.2_A2.1_T1.js => js/src/tests/test262/language/white-space/string-horizontal-tab.js
rename : js/src/tests/test262/language/white-space/S7.2_A2.5_T1.js => js/src/tests/test262/language/white-space/string-nbsp.js
rename : js/src/tests/test262/language/white-space/S7.2_A2.4_T1.js => js/src/tests/test262/language/white-space/string-space.js
rename : js/src/tests/test262/language/white-space/S7.2_A2.2_T1.js => js/src/tests/test262/language/white-space/string-vertical-tab.js
extra : moz-landing-system : lando
2019-06-20 18:18:39 +00:00
Jason Orendorff 7189e73f8d Bug 1560206 - Part 1: Add new unsupported features to the test262 update script. r=khyperia
Differential Revision: https://phabricator.services.mozilla.com/D35442

--HG--
extra : moz-landing-system : lando
2019-06-20 18:18:08 +00:00
Jason Orendorff 0ba6cd4cf4 Bug 1555037 - Part 2: Support SuperProperty in field initializers. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34608

--HG--
extra : moz-landing-system : lando
2019-06-20 19:22:53 +00:00
Jason Orendorff f2f8ad24f2 Bug 1555037 - Part 1: Refactor code for emitting the .initializers array into ClassEmitter. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34607

--HG--
extra : moz-landing-system : lando
2019-06-20 19:22:40 +00:00
Tom Ritter c52c6af4b1 Bug 1555355 - Enable arena randomization for the Arraybuffer and String arenas r=glandium,jandem
Differential Revision: https://phabricator.services.mozilla.com/D33212

--HG--
extra : moz-landing-system : lando
2019-06-20 17:06:49 +00:00
Noemi Erli 10dff281bf Backed out changeset eb8646af425c (bug 1556818) for bustages in invalid-asssignmenttargettype-reference-error-14-lhs-assignment-operator-assignment-expression.js CLOSED TREE 2019-06-20 21:16:52 +03:00
Ross Kirsling 8eaf7a531e 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-20 04:08:50 +00:00
Brian Hackett 3b879d5295 Bug 1556819 - Prevent AutoDebuggerJobQueueInterruption from doing anything when recording/replaying, r=jimb.
--HG--
extra : rebase_source : e83c092d13fc0e78f41256dcc28fb0000df1e0e1
2019-06-04 10:47:23 -10:00
arthur.iakab a549fe0532 Merge mozilla-central to mozilla-inbound
--HG--
extra : rebase_source : 144e998695db067f1dad805e5263b591ed98e50f
2019-06-28 13:10:08 +03:00
Jon Coppeard afdba4e113 Bug 1561866 - Move alloc policies where possible r=jwalden
Patch to use std::move when passing AllocPolicy instances to constructors. This also fixes HashTable move constuction/assignment that previously PodAssigned the whole object including the AllocPolicy base.

Differential Revision: https://phabricator.services.mozilla.com/D36175
2019-06-27 11:56:26 +01:00
Jon Coppeard fff1668b7a Bug 1558835 - Make Nursery::removeMallocedBuffer assert that its argument is valid and don't call it unless necessary r=allstarschh
Nursery objects can have slots buffers in the nursery or in malloc memory; tenured objects always have their slots buffers in malloc memory. When a nursery object has a pointer to a malloced buffer it is present in the Nursery::mallocedBuffers set. The patch checks whether an object is tenured when freeing its slots buffer because if so this tells us that its buffer is malloced and can't be in the nursery's mallocedBuffers set.

This also gets rid of a call to Nursery::isInside() call (linear in the number of nursery chunks) when we know the object is tenured and hence can't reference nursery memory.

Differential Revision: https://phabricator.services.mozilla.com/D36211
2019-06-27 17:09:40 +01:00
Razvan Maries 968156f90a Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-06-28 06:41:53 +03:00
Razvan Maries 6cd0726ada Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-06-28 00:46:58 +03:00
Noemi Erli fc3db67332 Backed out 2 changesets (bug 1558604) for causing failures in class-declaration-explicit-ctor.js CLOSED TREE
Backed out changeset 2fa5845aab8f (bug 1558604)
Backed out changeset 6accf00aa7cc (bug 1558604)
2019-06-13 16:06:59 +03:00
Matthew Gaudet 18dbab68b3 Bug 1558604 - Keep interpreted and interpretedLazy on FunctionBox r=jorendorff
Depends on D34586

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

--HG--
extra : moz-landing-system : lando
2019-06-12 23:52:08 +00:00
Matthew Gaudet 17696d5b2a Bug 1558604 - Defer initializaton of JSFunction::nargs until after function parsing is done. r=jorendorff
The args count needs to be set before the LazyScript takes hold of the
functionbox, or else some code that references lazy functions can get the wrong
number of arguments (ie, CloneFunctionObjectIfNotSingleton on a lazy function)

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

--HG--
extra : moz-landing-system : lando
2019-06-12 23:49:04 +00:00
Eden Chuang 2e0a3f0ddb Bug 1546306 - Add an optional aFromChromeContext parameter to nsIScriptError::InitWithWindowID for the case the passed in windowId is zero. r=baku
In some cases, the nsIScriptError is initialized with zero innerWindowId, but is from chrome context.

For cases, this patch adds an optional aFromChromeContext parameter to nsIScriptError::InitWithWindowID, which default value is false.

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

--HG--
extra : moz-landing-system : lando
2019-06-13 09:50:49 +00:00
Oana Pop Rus b93335c27f Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-06-13 13:04:19 +03:00
Oana Pop Rus 1133b6716d Merge inbound to mozilla-central. a=merge 2019-06-13 12:55:51 +03:00
Paul Bone 97cbd21e24 Bug 1557928 - Rename the DoNotCare tracer kind r=jonco
Depends on D34675

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

--HG--
extra : moz-landing-system : lando
2019-06-13 01:11:53 +00:00
Paul Bone dfeb403149 Bug 1557928 - Replace several functions with a single general function r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D34675

--HG--
extra : moz-landing-system : lando
2019-06-13 01:11:54 +00:00
Paul Bone 314393ad7b Bug 1557928 - Fix obsolete comments r=jonco
IsMarkingTracer no-longer exists, so remove one comment that refers to it
and fix another comment.

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

--HG--
extra : moz-landing-system : lando
2019-06-13 01:11:56 +00:00
Paul Bone 256fa598e8 Bug 1557928 - Use the UnmarkGray tracekind for AssertNonGrayTracer r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D34673

--HG--
extra : moz-landing-system : lando
2019-06-13 06:06:11 +00:00
Adam Holm 46d3b5f507 Bug 1467191 - Unifies some implementations of CacheIR ops that perform a callVM. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D31702

--HG--
extra : moz-landing-system : lando
2019-06-13 02:28:50 +00:00
Adam Holm f8f9b8becc Bug 1467191 - Unified IonCacheIRCompiler::calledPrepareVMCall_ and BaselineCacheIRCompiler::inStubFrame_ into CacheIRCompiler::preparedForVMCall_. r=mgaudet
Member variables `calledPrepareVMCall_` and `inStubFrame_` served the same purpose for their classes.
Unified them in CacheIRCompiler.

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

--HG--
extra : moz-landing-system : lando
2019-06-13 02:25:36 +00:00
Adam Holm 6e4e4786b3 Bug 1467191 -Unified IonCacheIRCompiler and BaselineCacheIRCompiler's callVM and callVMInternal methods in CacheIRCompiler. r=mgaudet
Base commit for bug 1467191.

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

--HG--
extra : moz-landing-system : lando
2019-06-13 02:23:26 +00:00
Adam Holm c3861ce19d Bug 1467191 - Moving BaselineCacheIRCompiler and IonCacheIRCompiler into their respective headers. r=mgaudet
Base commit for bug 1467191. Moves declarations of BaselineCacheIRCompiler and IonCacheIRCompiler
into their respective header files.

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

--HG--
extra : moz-landing-system : lando
2019-06-13 02:20:35 +00:00
Adam Holm 70dbabb58d Bug 1467191 - Moving BaselineCacheIRCompiler inside js::jit namespace. r=mgaudet
Base commit for patch for bug 1467191 that fixes inconsistencies in
namespace use between BaselineCacheIRCompiler and IonCacheIRCompiler.

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

--HG--
extra : moz-landing-system : lando
2019-06-13 02:06:34 +00:00
Andrea Marchesini bb718d74fc Bug 1490044 - Remove DOMPrefs. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D33510

--HG--
extra : moz-landing-system : lando
2019-06-13 09:02:03 +00:00
Jan de Mooij cf29e09a41 Bug 1558801 - Change PrivateScriptData consts array to BigInt array. r=tcampbell
Since bug 1535137 the consts array only stores `BigIntValues` so we can change
it to a `BigInt` array. This will also make it easier to fix bug 1535154.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 16:18:22 +00:00
Andreea Pavel 9d535a8d72 Backed out 4 changesets (bug 1557928) SM build bustages on a CLOSED TREE
Backed out changeset 5e5b8a770b18 (bug 1557928)
Backed out changeset 6096454af6f1 (bug 1557928)
Backed out changeset 618afaab2634 (bug 1557928)
Backed out changeset ef396dbaecf3 (bug 1557928)
2019-06-13 04:07:17 +03:00
Paul Bone ee87fa7f84 Bug 1557928 - Rename the DoNotCare tracer kind r=jonco
Depends on D34675

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

--HG--
extra : moz-landing-system : lando
2019-06-12 16:23:47 +00:00
Paul Bone f2b96f7abf Bug 1557928 - Replace several functions with a single general function r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D34675

--HG--
extra : moz-landing-system : lando
2019-06-12 12:15:22 +00:00
Paul Bone 6acfc9f675 Bug 1557928 - Fix obsolete comments r=jonco
IsMarkingTracer no-longer exists, so remove one comment that refers to it
and fix another comment.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 12:14:49 +00:00
Paul Bone 109fd59d37 Bug 1557928 - Use the UnmarkGray tracekind for AssertNonGrayTracer r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D34673

--HG--
extra : moz-landing-system : lando
2019-06-12 16:23:08 +00:00
Ehsan Akhgari b3c4267b3c Bug 1557887 - Part 6: Pass a storage principal to the rest of the call sites for createAboutBlankContentViewer(); r=baku
Differential Revision: https://phabricator.services.mozilla.com/D34460

--HG--
extra : moz-landing-system : lando
2019-06-12 09:07:33 +00:00
Mike Hommey 85e29d1e3b Bug 1557583 - Add a --enable-frame-pointers option. r=chmanchester
We've been relying on frame pointers being indirectly enabled via things
like --enable-profiling for some time, but this doesn't scale because
some things may want frame pointers while wanting --disable-profiling.

So we move MOZ_FRAMEPTR_FLAGS to python configure and add a new option
to decide whether to enable frame pointers or not.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 22:30:46 +00:00
Ciure Andrei bfcbe2b9d3 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-06-13 06:53:03 +03:00
Ciure Andrei 6aeedae8c4 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-06-13 00:46:01 +03:00
Ciure Andrei cb5d2852cb Merge inbound to mozilla-central. a=merge 2019-06-13 00:42:10 +03:00
Ciure Andrei f069db250c Merge autoland to mozilla-central. a=merge 2019-06-13 00:40:48 +03:00
Andreea Pavel 8552bec485 Backed out changeset 13c976344b69 (bug 1557254) for causing bug 1558836 and bug 1558852 a=backout
--HG--
extra : histedit_source : 62d780cd7c039cde0eb18472a3edf9c51aa20270
2019-06-12 20:27:00 +03:00
Dorel Luca 75f0f73de5 Merge mozilla-central to mozilla-inbound 2019-06-12 15:17:56 +03:00
Jon Coppeard fc3f75f7f3 Bug 1395509 - Track malloc memory used by IndirectBindingMaps associated with modules r=pbone
Use memory tracking APIs to track malloc memory associated with module IndirectBindingMap. These are attached to ModuleObjects and ModuleNamespaceObjects.

Differential Revision: https://phabricator.services.mozilla.com/D34551
2019-06-11 16:56:59 +01:00
Bogdan Tara bf22857a64 Backed out 14 changesets (bug 1552435) for BinASTTokenReaderContext.h related build bustages CLOSED TREE
Backed out changeset d4e3bdd4e494 (bug 1552435)
Backed out changeset 7fad44e18739 (bug 1552435)
Backed out changeset 8acef5541a11 (bug 1552435)
Backed out changeset 3a42d8bda7d0 (bug 1552435)
Backed out changeset 53a13d1d4f6e (bug 1552435)
Backed out changeset b79f0c113d3e (bug 1552435)
Backed out changeset 7f8c607be8f8 (bug 1552435)
Backed out changeset 5d0670db54ef (bug 1552435)
Backed out changeset 368e2dd6ec38 (bug 1552435)
Backed out changeset 0db441d1c2d8 (bug 1552435)
Backed out changeset 4897449d8397 (bug 1552435)
Backed out changeset 4cd2018dbd8b (bug 1552435)
Backed out changeset fd7f9aa70324 (bug 1552435)
Backed out changeset 36ceb8f15cb9 (bug 1552435)
2019-06-12 04:39:49 +03:00
David Teller 641d20716d Bug 1552435 - Propagating upstream changes;r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34483

--HG--
extra : moz-landing-system : lando
2019-06-11 16:12:12 +00:00
David Teller 6c8df2fc11 Bug 1552435 - Connecting the HuffmanPreludeReader;r=arai
Depends on D33951

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

--HG--
extra : moz-landing-system : lando
2019-06-11 17:38:42 +00:00
David Teller 79c90d1ce9 Bug 1552435 - Attempting to silence spurious warnings;r=arai
Differential Revision: https://phabricator.services.mozilla.com/D33951

--HG--
extra : moz-landing-system : lando
2019-06-11 16:11:20 +00:00
David Teller dc632cc43d Bug 1552435 - Reading Huffman tables of string enums;r=arai
Depends on D33937

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

--HG--
extra : moz-landing-system : lando
2019-06-11 16:10:49 +00:00
David Teller b4447cf54b Bug 1552435 - Reading Huffman tables of strings, optional strings;r=arai
Depends on D33634

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

--HG--
extra : moz-landing-system : lando
2019-06-11 16:10:26 +00:00
David Teller bf4c5736b3 Bug 1552435 - Reading Huffman tables of lists;r=arai
Depends on D33633

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

--HG--
extra : moz-landing-system : lando
2019-06-11 16:09:54 +00:00
David Teller 59a9d2beb2 Bug 1552435 - More data on lists;r=arai
Depends on D33632

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

--HG--
extra : moz-landing-system : lando
2019-06-11 16:09:27 +00:00
David Teller fa6c071597 Bug 1552435 - Adapting to brotli reading API;r=arai
Depends on D33483

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

--HG--
extra : moz-landing-system : lando
2019-06-11 16:08:58 +00:00
David Teller b2bde88539 Bug 1552435 - Reading Huffman tables of optional sums;r=arai
Depends on D33482

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

--HG--
extra : moz-landing-system : lando
2019-06-11 16:08:31 +00:00
David Teller d9360baea0 Bug 1552435 - Reading Huffman tables of sums;r=arai
Depends on D33021

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

--HG--
extra : moz-landing-system : lando
2019-06-11 16:08:03 +00:00
David Teller 90b1f665ad Bug 1552435 - Overhauling indexed symbols;r=arai
Depends on D32807

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

--HG--
extra : moz-landing-system : lando
2019-06-11 16:07:39 +00:00
David Teller 063d63dc55 Bug 1552435 - Reading Huffman tables of interfaces, optional interfaces;r=arai
Depends on D32725

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

--HG--
extra : moz-landing-system : lando
2019-06-11 16:07:37 +00:00
David Teller a88c4dd096 Bug 1552435 - Reading Huffman tables of booleans (the missing bits);r=arai
Depends on D31592

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

--HG--
extra : moz-landing-system : lando
2019-06-11 16:07:35 +00:00
David Teller d8a28be649 Bug 1552435 - Reading Huffman tables of booleans (general structure);r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31592

--HG--
extra : moz-landing-system : lando
2019-06-11 16:06:19 +00:00
Andreea Pavel 9eda2afac1 Backed out 7 changesets (bug 1401624) for build bustages at MacroAssembler-inl.h on a CLOSED TREE
Backed out changeset 46030572ffde (bug 1401624)
Backed out changeset bccc5a509ebe (bug 1401624)
Backed out changeset 1a488ead5ac5 (bug 1401624)
Backed out changeset caac1da9ae80 (bug 1401624)
Backed out changeset 8f02092ab0b4 (bug 1401624)
Backed out changeset 90a104231405 (bug 1401624)
Backed out changeset d5d97222de6f (bug 1401624)
2019-06-12 20:47:42 +03:00
Masatoshi Kimura 55094bccfc Bug 1557254 - Enable char range check on Nightly/DevEdition and make warnings more dire. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D34287

--HG--
extra : moz-landing-system : lando
2019-06-11 13:27:16 +00:00
Jon Coppeard e282bc8b5c Bug 1395509 - Track malloc memory used by shapes r=jandem
Use memory tracking APIs to track malloc memory associated with Shapes.  I had to thread FreeOp and BaseShape through in various places so there's enough context.

Differential Revision: https://phabricator.services.mozilla.com/D34377
2019-06-10 16:11:26 +01:00
Jon Coppeard 938d268746 Bug 1395509 - Track malloc memory associated with WeakMap objects r=pbone
Use memory tracking APIs to track malloc memory associated with weak maps.

Differential Revision: https://phabricator.services.mozilla.com/D34376
2019-06-10 16:11:25 +01:00
Jon Coppeard 94009e206b Bug 1395509 - Track malloc memory associated with ctypes objects r=jandem
Use memory tracking APIs to track malloc memory associated with the different ctypes objects.

I ended up creating new public APIs because ctypes currently mostly uses our public APIs, but I actaully don't know why.  I don't think it can be built standalone.  Maybe this should use the internal APIs instead.

Differential Revision: https://phabricator.services.mozilla.com/D34375
2019-06-10 16:11:25 +01:00
Jon Coppeard 85e75b202a Bug 1395509 - Track malloc memory associated with Scopes r=jandem
Use memory tracking APIs to track malloc memory associated with Scopes.

Differential Revision: https://phabricator.services.mozilla.com/D34374
2019-06-10 16:11:25 +01:00
Jon Coppeard a3bf14aee4 Bug 1395509 - Track malloc memory associated with BigInts r=pbone
Use memory tracking APIs to track malloc memory associated with BigInts.

Differential Revision: https://phabricator.services.mozilla.com/D34373
2019-06-10 16:11:25 +01:00
Jon Coppeard d38d044763 Bug 1395509 - Track malloc memory used by JS Map and Set objects r=sfink
Use memory tracking APIs to track malloc memory associated with Map and Set objects.

Differential Revision: https://phabricator.services.mozilla.com/D34371
2019-06-10 16:11:25 +01:00
Ciure Andrei 916d8a7f73 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-06-13 00:44:53 +03:00
Iain Ireland dd43b90d94 Bug 1558179: Canonicalize all NaNs on hardware that does not generate canonical NaNs natively r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D34403

--HG--
extra : moz-landing-system : lando
2019-06-11 15:16:40 +00:00
Iain Ireland fcf0aa7f56 Bug 1548908: Verify during JS_Init that the hardware NaN is sane r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D33504

--HG--
extra : moz-landing-system : lando
2019-06-11 00:23:41 +00:00
Iain Ireland 98788f0b1c Bug 1401624: Part 8: Convert C-style macros to JS::detail constexprs r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D33503

--HG--
extra : moz-landing-system : lando
2019-06-12 17:49:52 +00:00
Jason Orendorff 69d4dbd679 Bug 1556119 - Fix 64-byte memory leak in evalInWorker() shell builtin. r=fitzgen
Differential Revision: https://phabricator.services.mozilla.com/D34222

--HG--
extra : moz-landing-system : lando
2019-06-07 19:42:34 +00:00
Gurzau Raul 227f5329f7 Merge inbound to mozilla-central. a=merge 2019-06-12 00:34:32 +03:00
Jan de Mooij 7db26e7b68 Bug 1557664 - Add AutoHoldPrincipals RAII class and use it to fix a leak in the JS shell. r=jwalden
Unfortunately JS_DropPrincipals wants the cx so it's hard to use RefPtr<>.

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

--HG--
extra : moz-landing-system : lando
2019-06-11 10:11:21 +00:00
Brindusan Cristian ad63669f20 Backed out 14 changesets (bug 1552435) for build bustages on BinASTTokenReaderContext.h. CLOSED TREE
Backed out changeset 8448b970f048 (bug 1552435)
Backed out changeset eaaa17bd90a9 (bug 1552435)
Backed out changeset daa12d2a51ee (bug 1552435)
Backed out changeset ccb6154c8a13 (bug 1552435)
Backed out changeset 3c6703c6ca2c (bug 1552435)
Backed out changeset 0e5b05913043 (bug 1552435)
Backed out changeset 41513cb59f37 (bug 1552435)
Backed out changeset cf5514fae884 (bug 1552435)
Backed out changeset b59bf910f2e9 (bug 1552435)
Backed out changeset 80fff56c7c49 (bug 1552435)
Backed out changeset 27bf02f8977e (bug 1552435)
Backed out changeset 8e09ad83b99b (bug 1552435)
Backed out changeset 8547fb9394eb (bug 1552435)
Backed out changeset 1e4c1b283ba3 (bug 1552435)
2019-06-11 17:33:06 +03:00
Jon Coppeard 13f5533af3 Bug 1539019 - Disallow simulated OOM testing of worker threads because it's not thread safe r=jandem?
Differential Revision: https://phabricator.services.mozilla.com/D34328

--HG--
extra : moz-landing-system : lando
2019-06-11 09:36:56 +00:00
David Teller 54b2fa12fd Bug 1552435 - Propagating upstream changes;r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34483

--HG--
extra : moz-landing-system : lando
2019-06-11 11:38:44 +00:00
David Teller e3f03b3725 Bug 1552435 - Connecting the HuffmanPreludeReader;r=arai
Depends on D33951

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

--HG--
extra : moz-landing-system : lando
2019-06-11 11:38:44 +00:00
David Teller 588e46bcd0 Bug 1552435 - Attempting to silence spurious warnings;r=arai
Differential Revision: https://phabricator.services.mozilla.com/D33951

--HG--
extra : moz-landing-system : lando
2019-06-11 11:32:24 +00:00
David Teller 193bcbd6d8 Bug 1552435 - Reading Huffman tables of string enums;r=arai
Depends on D33937

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

--HG--
extra : moz-landing-system : lando
2019-06-11 11:38:17 +00:00
David Teller 71a3d896f3 Bug 1552435 - Reading Huffman tables of strings, optional strings;r=arai
Depends on D33634

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

--HG--
extra : moz-landing-system : lando
2019-06-11 10:18:14 +00:00
David Teller 8755fa3419 Bug 1552435 - Reading Huffman tables of lists;r=arai
Depends on D33633

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

--HG--
extra : moz-landing-system : lando
2019-06-11 10:17:52 +00:00
David Teller 3c61f20c98 Bug 1552435 - More data on lists;r=arai
Depends on D33632

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

--HG--
extra : moz-landing-system : lando
2019-06-11 10:17:24 +00:00
David Teller 5d6bd1f335 Bug 1552435 - Adapting to brotli reading API;r=arai
Depends on D33483

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

--HG--
extra : moz-landing-system : lando
2019-06-11 10:17:12 +00:00
David Teller 3a075d9c93 Bug 1552435 - Reading Huffman tables of optional sums;r=arai
Depends on D33482

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

--HG--
extra : moz-landing-system : lando
2019-06-11 10:17:10 +00:00
David Teller 4149bf704b Bug 1552435 - Reading Huffman tables of sums;r=arai
Depends on D33021

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

--HG--
extra : moz-landing-system : lando
2019-06-11 10:16:05 +00:00
David Teller 6fedf3998c Bug 1552435 - Overhauling indexed symbols;r=arai
Depends on D32807

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

--HG--
extra : moz-landing-system : lando
2019-06-11 10:15:37 +00:00
David Teller af2f181932 Bug 1552435 - Reading Huffman tables of interfaces, optional interfaces;r=arai
Depends on D32725

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

--HG--
extra : moz-landing-system : lando
2019-06-11 10:15:15 +00:00
David Teller a32e0dc331 Bug 1552435 - Reading Huffman tables of booleans (the missing bits);r=arai
Depends on D31592

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

--HG--
extra : moz-landing-system : lando
2019-06-11 10:14:47 +00:00
David Teller 775e453fec Bug 1552435 - Reading Huffman tables of booleans (general structure);r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31592

--HG--
extra : moz-landing-system : lando
2019-06-11 10:14:28 +00:00
Jon Coppeard 3291e3d4b5 Bug 1395509 - Add a separate byte count for malloc allocations r=sfink
Previously I rolled the malloc byte count into a total byte count for each zone but this may adversely affect GC scheduling (e.g. by triggering more non-incremental GCs because allocation volumes appear higher with this change). So that we can land this machinery without disturbing benchmarks too much, this patch splits out the new malloc memory accounting into a separate counter and uses the maxMallocBytes setting as the threshold (default value is 128MB vs 30MB for the GC heap threshold) and a growth factor of 2. This should make the behaviour closer to the original behaviour for now. We can go back and adjust the parameters later to obtain the desired behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D34181
2019-06-07 17:03:08 +01:00
Jon Coppeard 8ade7a6dab Bug 1395509 - Move HeapSize class to gc/Scheduling.h where it belongs r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D34180
2019-06-07 16:58:50 +01:00
Karl Tomlinson c606cdd6d0 Bug 1558131 permit PersistentRooted::init() with RootingContext r=sfink
https://hg.mozilla.org/mozilla-central/rev/79d18ff4fe2853abadab372bc3bc00872f52403e#l1.143
added support for PersistentRooted initialization from a RootingContext.
https://hg.mozilla.org/mozilla-central/rev/d2758f635f72f779f712bf9c6e838868ed53c9f7#l5.97
changed the init() methods to require JSContext but continued to support
RootingContext for constructors.

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

--HG--
extra : moz-landing-system : lando
2019-06-11 00:41:32 +00:00
Cosmin Sabou 7658be0902 Backed out 6 changesets (bug 1556321, bug 1556430, bug 1167452) for causing multiple regressions.
Backed out changeset 667da63fb2b1 (bug 1556430)
Backed out changeset 5ec3133f6457 (bug 1556321)
Backed out changeset 585157ab153a (bug 1556321)
Backed out changeset 72fc109fe0f2 (bug 1167452)
Backed out changeset 11d3f2265b35 (bug 1167452)
Backed out changeset 37f9bd277c34 (bug 1167452)
2019-06-11 07:04:16 +03:00
Jon Coppeard 7df0d631fd Bug 1395509 - Fix assertions that all tracked memory is removed when a zone is collected r=sfink
The change to split out ZoneAllocator messed up the MemoryTracker code that prints out what failed to be removed by making it run after the Zone destructor which will already assert in the case (but without printing useful information first).

Differential Revision: https://phabricator.services.mozilla.com/D33974
2019-06-06 16:00:17 +01:00
Brindusan Cristian d957131916 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-06-11 12:44:12 +03:00
Yoshi Cheng-Hao Huang 7282e461be Bug 1556762 - Part 3: Use gcReason to distinguish pretenureObj|Str. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D33654
2019-06-11 11:37:01 +02:00
Yoshi Cheng-Hao Huang 44881abeb7 Bug 1556762 - Part 2 : move code to doPretenuring(). r=sfink
This simply separates pretenuring code to another function
doPretenuring(), it doesn't change any logic.

Differential Revision: https://phabricator.services.mozilla.com/D33653
2019-06-11 11:36:44 +02:00
Yoshi Cheng-Hao Huang f606c5e9fd Bug 1556762 - Part 1: move FullBufferReason to each instance, and add a new GCReason. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D33652
2019-06-11 11:36:27 +02:00
Noemi Erli 3b770b4690 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-06-11 06:22:00 +03:00
Jim Blandy 4ff64f4001 Bug 1470558: js/src/vm/Debugger.h: Move forward declarations to top. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25096

--HG--
extra : moz-landing-system : lando
2019-06-10 20:21:33 +00:00
Jim Blandy a4fc1b9c4f Bug 1470558: Debugger::slowPathOnLeaveFrame: move 'suspending' block a little later. r=jorendorff
Our ultimate goal in this bug is to include information about yields and awaits
in the completion value passed to the `onPop` handler. This means that detecting
when a frame is being suspended becomes just another step in building a
completion value. That change becomes a little clearer if those two steps happen
next to each other.

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

--HG--
extra : moz-landing-system : lando
2019-06-10 20:21:10 +00:00
Jim Blandy fc95c2347d Bug 1470558: js::Debugger::slowPathOnLeaveFrame should always get a pc for non-WASM frames. r=jorendorff
Add an assertion.

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

--HG--
extra : moz-landing-system : lando
2019-06-10 20:19:34 +00:00
Jim Blandy f6fc9fdcc0 Bug 1539654: Ensure generator scripts observed by Debugger.Frames are marked as debuggees. r=jorendorff
When a Debugger.Frame refers to a generator/async call, the generator's script
must be marked as a debuggee, so that if the call is resumed, the
JSOP_AFTERYIELD bytecode is compiled to the instrumentation that re-associates
the extant Debugger.Frame with the new concrete frame.

This extends DebugScript with a new field `generatorObserverCount`, akin to
`stepperCount`, which tracks the number of Debugger.Frames referring to the
script if it is a generator script. This count is adjusted when the
`GeneratorInfo` structure is attached to a `DebuggerFrame`, cleared, and
finalized.

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

--HG--
extra : moz-landing-system : lando
2019-06-10 20:06:34 +00:00
Jim Blandy e49025602e Bug 1539654: Add all-and-only object property patterns to SpiderMonkey's Match.js test library. r=jorendorff
The new export Pattern.OBJECT_WITH_EXACTLY is like the ordinary Pattern
constructor, but also fails to match if the actual value has any extra
properties.

The default behavior of object matching (to ignore additional properties) is
left unchanged, since there are too many extant tests that rely on this behavior
to be worth fixing.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 00:35:33 +00:00
Jim Blandy 1c4edbdc73 Bug 1539654: Improve error messages from SpiderMonkey test Match library. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D32393

--HG--
extra : moz-landing-system : lando
2019-06-10 18:51:30 +00:00
Jim Blandy 626777ab35 Bug 1551176: Drop a generator script's stepper count when its Debugger.Frame is GC'd. r=jorendorff
A Debugger.Frame for a generator or async call continues to refer to the same
call across suspensions (awaits and yields). This means that, even as the
underlying concrete frames (InterpreterFrame, BaselineFrame) come and go, the
Debugger.Frame retains its relationship with a particular
AbstractGeneratorObject. When that generator is resumed, the Debugger.Frame
acquires the new concrete frame as its new referent.

Normally, when a stack frame is popped, if it had a Debugger.Frame with an
onStep handler, we decrement the frame's script's stepper count, since that
Debugger.Frame's onStep handler is obviously not going to fire any more; the
frame is dead. But in the case of a generator or async frame, the generator call
may be resumed at some point, so for such frames, we leave the script's stepper
count incremented until the generator call returns, throws, or otherwise exits
permanently.

This means that if a Debugger.Frame and its AbstractGeneratorObject are GC'd, we
must decrement the generator's script's stepper count. Of course, the script
itself may also be being GC'd, in which case we need not do anything.

This patch makes DebuggerFrame::clearGenerator solely responsible for dropping
the stepper count on generator frames. Since DebuggerFrame::finalize already
clears the frame's generator, this takes care of the stepper count automatically.

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

--HG--
extra : moz-landing-system : lando
2019-06-10 20:17:00 +00:00
Jim Blandy 3518a7f809 Bug 1551176: Make DebuggerFrame::GeneratorInfo retain a pointer to the generator script. r=jorendorff
In later patches in the series, DebuggerFrame needs to be able to access a
generator's script even when the generator object itself is being finalized, so
it's simpler to just hold a reference to it directly.

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

--HG--
extra : moz-landing-system : lando
2019-06-10 23:42:40 +00:00
Jim Blandy 6a4f411cd7 Bug 1551176: Use DebuggerFrame::generator instead of GetGeneratorObjectForFrame where possible. r=jorendorff
Since GetGeneratorObjectForFrame is a bit involved (it looks up the identifier
'.generator' on the scope chain) and not entirely reliable (it returns nullptr
between the GENERATOR and SETALIASEDVAR .generator opcodes), it's better to
simply fetch the generator from the DebuggerFrame, when one is available.

Since a DebuggerFrame has a generator exactly when there is an entry in
generatorFrames going the other direction, from generator to DebuggerFrame, this
means that Debugger::removeFromFrameMapsAndClearBreakpointsIn can actually do
its job reliably, which lets us remove certain kinky conditions in The Famous
Step Count Assertion of 1874.

In other cases, GetGeneratorObjectForFrame is the only option, and its flakiness
doesn't matter; document those a bit better.

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

--HG--
extra : moz-landing-system : lando
2019-06-06 12:17:04 +00:00
Denis Palmeiro c32ed0ea49 Bug 1551355 - Use TimeStamp::NowUnfuzzed() instead of TimeStamp::Now() during gecko profiling r=mstange
The profiler will require non-fuzzed timers for accuracy.  Making the switch early will avoid surprises when FuzzyFox is enabled.

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

--HG--
extra : moz-landing-system : lando
2019-06-10 17:35:42 +00:00
David Teller cf49aea86d Bug 1520001 - Porting binjs_meta to Itertools 0.8;r=arai
Depends on D34129

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

--HG--
extra : moz-landing-system : lando
2019-06-07 22:46:03 +00:00
David Teller 5daa44745b Bug 1520001 - Propagating binjs_meta 0.5.2 changes to files generated by binast generator;r=arai
Depends on D34128

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

--HG--
extra : moz-landing-system : lando
2019-06-07 18:55:21 +00:00
David Teller ffd7cd1a22 Bug 1520001 - Updating binast generator to binjs_meta 0.5.2;r=arai
Depends on D34127

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

--HG--
extra : moz-landing-system : lando
2019-06-07 18:54:59 +00:00
Jeff Walden b5f50ed834 Bug 1556817 - U+FFFE should not be treated as white space. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34469

--HG--
extra : rebase_source : 827a20fa744a5ca2c7cfd3572937a8f548ca958f
extra : amend_source : 0d182034da1f15df49dc42cb720700e5f6438a8a
extra : source : f877ed444562df03ef9ee92da3099e2f0e4e7f07
2019-06-04 11:59:33 -07:00
Jeff Walden 2f764805bf Bug 1557778 - Extend unicode::IsSpaceOrBOM2 to the full 32-bit range. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34189

--HG--
extra : rebase_source : 049d7705dcdaf924bda6faa84869846ce8a5f70c
2019-06-04 10:34:05 -07:00
Jeff Walden 148e9f92dc Bug 1557791 - Move retrievability into the possible types in |ScriptSource::data| so that "retrievable" applies only when it is a sensible concept. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34206

--HG--
extra : rebase_source : 10f49c54a95a50080eba313685a1270a2c046d4b
2019-06-04 15:12:20 -07:00
Jeff Walden d703325da2 Bug 1557791 - Rename initializeWithCompressedSource so that it's clear it's only used for unretrievable source. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34205

--HG--
extra : rebase_source : 87c59b8cce7eba6de0e7894aeaf00b618931cd62
2019-06-06 18:40:41 -07:00
Jeff Walden 82d2bc58af Bug 1557791 - Rename initializeUncompressedSource so that it's clear it's only used for unretrievable source. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34204

--HG--
extra : rebase_source : b7bb7bb0fa95700f22e52627452c5c1aa97fc45b
2019-06-06 18:33:47 -07:00
Jeff Walden 8a69457f2a Bug 1557791 - Clean up how off-thread compressed source is installed in ScriptSources formerly containing uncompressed source. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34203

--HG--
extra : rebase_source : 9e106d1b35b23f422c0c25ae92ae152cd1d3de24
2019-06-06 18:08:30 -07:00
Jeff Walden c65e02cd71 Bug 1557791 - Introduce |{un,}compressedData<Unit>()| functions that expose |const CompressedData<Unit>&|. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34202

--HG--
extra : rebase_source : 35910a40df9feec55f6f0ac284428812c0e8785d
2019-06-06 14:09:42 -07:00
Jeff Walden 1207e001c8 Bug 1557791 - Use isCompressed/isUncompressed rather than direct type-testing of |data|. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34200

--HG--
extra : rebase_source : eb6fd169bd76b58253d820a365b548a8f95f7be1
2019-06-06 13:46:58 -07:00
Jeff Walden 7562778cb3 Bug 1557791 - Split |ScriptSource::{Unc,C}ompressed| into a |*Data| class identical to the current class, and fresh classes of identical name that inherit from it -- anticipating when those fresh classes will statically encode retrievability. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34199

--HG--
extra : rebase_source : 9ec3bff5e9a96f88d21c26e6a4edf1171df164dc
2019-06-06 13:06:40 -07:00
Jeff Walden e200e0d22c Bug 1557791 - Rename {,un}compressedSourceIs to just plain old is{Unc,C}ompressed. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34198

--HG--
extra : rebase_source : 18caafe33f35f45f8ab48bc1959b2920b3f93d51
2019-06-05 11:32:39 -07:00
Jeff Walden a25139eb2f Bug 1557791 - Prefix Source{En,De}coder with Unretrievable for a skosh about what their implementations should be doing. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34197

--HG--
extra : rebase_source : 8fba51bfb8c80462ecaadc7b4263616e178201c0
2019-06-04 18:36:13 -07:00
Jeff Walden cd6a1966d9 Bug 1557791 - Rename xdrUncompressedSource to xdrUnretrievableUncompressedSource for a skosh more clarity within its implementation. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34195

--HG--
extra : rebase_source : aa23f0e0c4b4c8c944ce1e58b6ea22ee4a62f29a
2019-06-04 18:32:53 -07:00
Iain Ireland e68b24eb5b Bug 1548908: Remove IsCanonical and simplify StructuredCloneReader r=tcampbell
IsCanonical was only used in StructuredCloneReader::CheckDouble. Two of CheckDouble's three uses already canonicalized the double before checking it, and the third *should* have already done so.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 15:59:29 +00:00
Iain Ireland 4bb0dc7bd0 Bug 1548908: Remove "well-known numbers" from JSRuntime r=tcampbell
Back when we first freed the lizard in 1998, it made sense to have copies of NaN/+Inf/-Inf living on the runtime, because Values didn't store doubles inline. That hasn't been true for a long time. This patch gets rid of those.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 15:59:25 +00:00
Iain Ireland 00ae116a04 Bug 1548908: Add InfinityBits to FloatingPoint.h r=jwalden
We can't generate a constexpr uint64_t containing the bits for positive/negative infinity, because of a (very sensible) static_assert in SpecificNaNBits. This patch adds support to FloatingPoint.h for infinity. The next patch will use it to make JS::InfinityValue constexpr (to match JS::NaNValue).

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

--HG--
extra : moz-landing-system : lando
2019-06-03 15:59:21 +00:00
Iain Ireland 5a8c83aeaa Bug 1548908: Clean up JS::CanonicalizedDoubleValue r=tcampbell
1. CanonicalizedDoubleValue should reuse the logic in CanonicalizeNaN.
2. Places that call DoubleValue(CanonicalizeNaN(d)) should just use CanonicalizedDoubleValue(d).

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

--HG--
extra : moz-landing-system : lando
2019-06-03 15:59:17 +00:00
Iain Ireland 2b3a84dee5 Bug 1401624: Part 7: Update gdb pretty-printer r=sfink
This is a bit gross, but it passes all the tests that were not already failing.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 17:51:02 +00:00
Iain Ireland b1d0f80ddf Bug 1401624: Part 6: Update Rust bindings r=fitzgen
We are changing the representation of values on 64-bit. Part 5 of this patch stack has more details on the changes.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 17:51:04 +00:00
Iain Ireland b4d7776503 Bug 1401624: Part 5: Change Value representation r=tcampbell,jwalden
This patch is where the actual changes to our value representation happens. A few notes:

1. We did some weird macro tricks to work around a GCC bug with enums in bitfields. Those bitfields were only useful for poking at values in gdb, and the trick no longer worked with object-biased nanboxing, so I removed it. I also got rid of asDouble_, because it's no longer possible to read the double value right out of the enum without unboxing.

2. In the previous boxing scheme, there was a mechanical conversion between a JSValueType and a JSValueTag. That's no longer true, which is why the big conversion switches exist.

3. Waldo, you were included as a reviewer specifically to look at Value.h and make sure that our gross bit twiddling is just gross and not undefined.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 17:51:06 +00:00
Iain Ireland fad6a2fe27 Bug 1401624: Part 4: Add PushBoxed for float registers r=mgaudet
Similarly to Part 3: when we push a double value, we currently don't distinguish between pushing a boxed double and pushing an unboxed double. This has to change for object-biased NaN-boxing.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 17:50:54 +00:00
Iain Ireland 6a104f733c Bug 1401624: Part 3: Convert store/loadDouble to box/unboxDouble r=tcampbell,mgaudet
In the past, we have been somewhat sloppy when storing / loading double values, because a boxed double and an unboxed double had the same representation. This is no longer true with object-biased NaN-boxing. This patch goes through and cleans up those cases.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 18:30:12 +00:00
Iain Ireland 6eb2847903 Bug 1401624: Part 2: Improve comments in TraceDataRelocations r=sfink
It took me a while to convince myself that this code was still okay for 0-tagged object Values. Adding a comment to make it clearer for future readers (and in the hope that a reviewer will notice my mistake if I am wrong.)

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

--HG--
extra : moz-landing-system : lando
2019-06-12 17:50:58 +00:00
Iain Ireland ee009dec33 Bug 1401624: Part 1: Stop zero-initializing Value arrays r=jandem
Using the old NaN-boxing scheme, a zero-initialized value was a double, which was safe to trace. Under the new scheme, it is a null object pointer.

This patch manually initializes Value arrays to Undefined.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 17:51:00 +00:00
Iain Ireland d3868c05b8 Bug 1401624: Part 7: Update gdb pretty-printer r=sfink
This is a bit gross, but it passes all the tests that were not already failing.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 15:57:55 +00:00
Iain Ireland 40460c1e69 Bug 1401624: Part 6: Update Rust bindings r=fitzgen
We are changing the representation of values on 64-bit. Part 5 of this patch stack has more details on the changes.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 15:57:43 +00:00
Iain Ireland ae7d6752b5 Bug 1401624: Part 5: Change Value representation r=tcampbell,jwalden
This patch is where the actual changes to our value representation happens. A few notes:

1. We did some weird macro tricks to work around a GCC bug with enums in bitfields. Those bitfields were only useful for poking at values in gdb, and the trick no longer worked with object-biased nanboxing, so I removed it. I also got rid of asDouble_, because it's no longer possible to read the double value right out of the enum without unboxing.

2. In the previous boxing scheme, there was a mechanical conversion between a JSValueType and a JSValueTag. That's no longer true, which is why the big conversion switches exist.

3. Waldo, you were included as a reviewer specifically to look at Value.h and make sure that our gross bit twiddling is just gross and not undefined.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 15:56:52 +00:00
Iain Ireland 21a6ecba07 Bug 1401624: Part 4: Add PushBoxed for float registers r=mgaudet
Similarly to Part 3: when we push a double value, we currently don't distinguish between pushing a boxed double and pushing an unboxed double. This has to change for object-biased NaN-boxing.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 15:57:23 +00:00
Iain Ireland d0af63e506 Bug 1401624: Part 3: Convert store/loadDouble to box/unboxDouble r=mgaudet
In the past, we have been somewhat sloppy when storing / loading double values, because a boxed double and an unboxed double had the same representation. This is no longer true with object-biased NaN-boxing. This patch goes through and cleans up those cases.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 16:46:25 +00:00
Iain Ireland 8589b1e1ba Bug 1401624: Part 2: Improve comments in TraceDataRelocations r=sfink
It took me a while to convince myself that this code was still okay for 0-tagged object Values. Adding a comment to make it clearer for future readers (and in the hope that a reviewer will notice my mistake if I am wrong.)

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

--HG--
extra : moz-landing-system : lando
2019-06-03 15:56:58 +00:00
Iain Ireland 3454eb68f3 Bug 1401624: Part 1: Stop zero-initializing Value arrays r=jandem
Using the old NaN-boxing scheme, a zero-initialized value was a double, which was safe to trace. Under the new scheme, it is a null object pointer.

This patch manually initializes Value arrays to Undefined.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 15:56:48 +00:00
David Teller ce034e26d0 Bug 1552435 - Propagating upstream changes;r=arai
Differential Revision: https://phabricator.services.mozilla.com/D34483

--HG--
extra : moz-landing-system : lando
2019-06-12 13:53:28 +00:00
David Teller 2448f6356a Bug 1552435 - Connecting the HuffmanPreludeReader;r=arai
Depends on D33951

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

--HG--
extra : moz-landing-system : lando
2019-06-12 13:52:58 +00:00
David Teller 8ca157d978 Bug 1552435 - Attempting to silence spurious warnings;r=arai
Differential Revision: https://phabricator.services.mozilla.com/D33951

--HG--
extra : moz-landing-system : lando
2019-06-12 13:52:31 +00:00
David Teller 641c98d7c4 Bug 1552435 - Reading Huffman tables of string enums;r=arai
Depends on D33937

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

--HG--
extra : moz-landing-system : lando
2019-06-12 13:52:03 +00:00
David Teller f6d7769850 Bug 1552435 - Reading Huffman tables of strings, optional strings;r=arai
Depends on D33634

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

--HG--
extra : moz-landing-system : lando
2019-06-12 13:51:34 +00:00
David Teller 313152ca99 Bug 1552435 - Reading Huffman tables of lists;r=arai
Depends on D33633

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

--HG--
extra : moz-landing-system : lando
2019-06-12 13:51:01 +00:00
David Teller 248a97bc2a Bug 1552435 - More data on lists;r=arai
Depends on D33632

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

--HG--
extra : moz-landing-system : lando
2019-06-12 13:50:34 +00:00
David Teller e217f4d214 Bug 1552435 - Adapting to brotli reading API;r=arai
Depends on D33483

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

--HG--
extra : moz-landing-system : lando
2019-06-12 13:50:06 +00:00
David Teller e82e40035c Bug 1552435 - Reading Huffman tables of optional sums;r=arai
Depends on D33482

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

--HG--
extra : moz-landing-system : lando
2019-06-12 13:49:38 +00:00
David Teller ed695af6c8 Bug 1552435 - Reading Huffman tables of sums;r=arai
Depends on D33021

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

--HG--
extra : moz-landing-system : lando
2019-06-12 13:49:26 +00:00
David Teller 5cb45471e9 Bug 1552435 - Overhauling indexed symbols;r=arai
Depends on D32807

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

--HG--
extra : moz-landing-system : lando
2019-06-12 13:49:25 +00:00
David Teller 19ffe49f6c Bug 1552435 - Reading Huffman tables of interfaces, optional interfaces;r=arai
Depends on D32725

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

--HG--
extra : moz-landing-system : lando
2019-06-12 13:48:11 +00:00
David Teller 08ecb79071 Bug 1552435 - Reading Huffman tables of booleans (the missing bits);r=arai
Depends on D31592

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

--HG--
extra : moz-landing-system : lando
2019-06-12 13:47:43 +00:00
David Teller c97153b065 Bug 1552435 - Reading Huffman tables of booleans (general structure);r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31592

--HG--
extra : moz-landing-system : lando
2019-06-12 13:47:16 +00:00
Philip Chimento a37c59af38 Bug 1556210 - Don't use TimeDuration in static initializer. r=jonco
On Darwin this would cause a race between two static initializers.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 12:01:29 +00:00
Jan de Mooij dc18804805 Bug 1556646 part 2 - Rename JS_POSIX_NSPR to JS_WITHOUT_NSPR and remove --enable-posix-nspr-emulation configure flag. r=sfink,glandium
Stand-alone JS builds now default to without-NSPR on all platforms.

Note that the JS shell builds we do in automation pass --enable-nspr-build so they shouldn't be affected by
the JS shell changes.

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

--HG--
extra : moz-landing-system : lando
2019-06-08 09:10:59 +00:00
Jan de Mooij a64075b5ab Bug 1556646 part 1 - Remove PosixNSPR remnants. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D33932

--HG--
extra : moz-landing-system : lando
2019-06-07 15:47:00 +00:00
Narcis Beleuzu bba1aa3876 Merge mozilla-central to autoland. CLOSED TREE 2019-06-08 12:47:41 +03:00
Narcis Beleuzu e360889d62 Merge inbound to mozilla-central. a=merge 2019-06-08 12:41:03 +03:00
Andreea Pavel 01ee805788 Backed out changeset ef74cdc4c8a4 (bug 1557193) for SM CompressSourceSync crashes on a CLOSED TREE 2019-06-08 02:55:54 +03:00
Kristen Wright cae8e5b60b Bug 1556861 - Adding ThreadType to js::RunnableTask r=jonco
Added thread type as ThreadType enum. Default is ThreadType::THREAD_TYPE_NONE. RunnableTasks must specify their own thread type.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 21:09:05 +00:00
Jan de Mooij 39f85c87aa Bug 1554748 - Remove unnecessary MonitorBytecodeType call in ObjectGroup::setAllocationSiteObjectGroup. r=bhackett
Differential Revision: https://phabricator.services.mozilla.com/D33479

--HG--
extra : moz-landing-system : lando
2019-06-07 14:05:08 +00:00
Jeff Walden 0d21e618f8 Bug 1557193 - Enable the assertion in testScriptSourceCompression.cpp verifying that script source was, in fact, compressed off-thread synchronously. r=arai, r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D33890

--HG--
extra : rebase_source : e8f56515747af7c0894f8dc8c63eecff99a725f9
2019-06-05 14:23:20 -07:00
Jeff Walden f1fec1561e Bug 1557193 - Make testScriptSourceCompression.cpp run all its tests with UTF-8 in addition to UTF-16 source. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D33889

--HG--
extra : rebase_source : c0ebcc62d2839898ec6922705ba0c41480f75060
2019-06-05 15:05:44 -07:00
Jeff Walden ca13c30b76 Bug 1557193 - Implement various tweaks needed for the Unit-agnostic code to work for UTF-8. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D33888

--HG--
extra : rebase_source : 9c2a18dff8e7f86d8006e9549307511a02adee75
2019-06-05 17:35:10 -07:00
Jeff Walden 8891db5940 Bug 1557193 - Move Unit-agnostic code out of the Evaluate helper function in testScriptSourceCompression.cpp. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D33887

--HG--
extra : rebase_source : 552b8c6da5a247dc9e7cc6356b4abca39d147a14
2019-06-05 17:50:39 -07:00
Jeff Walden cffcdc139b Bug 1557193 - Change testScriptSourceCompression.cpp to use Unit for source-unit typename, not CharT, consistent with the code it invokes in the frontend. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D33886

--HG--
extra : rebase_source : 6e83f3627d2484aeda59819dc4e11d0258755fc5
2019-06-05 17:26:41 -07:00
Jason Orendorff 3b74c65a7d Bug 1556136 - Fix misuse of readline() leading to a minor memory leak in the JS shell. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D33529

--HG--
extra : moz-landing-system : lando
2019-06-07 20:55:18 +00:00
Jason Orendorff 21f38f93d1 Bug 1547561 - Part 3: Additional CheckParseTree pass, enabled in debug builds only. r=khyperia
This is an experiment. We'll see if the fuzzers find anything. If nothing else,
it's good to have the invariants of the ParseNode data structure documented in
code, as assertions, separate from the parser and emitter code.

We can add more checks to this as we go. It may not be fast enough to leave on
in release builds, even in Nightly, and I don't want to push my luck. So
DEBUG-only for now.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 20:34:05 +00:00
Jason Orendorff 8f75190842 Bug 1547561 - Part 2: Check parse node kinds even in some release builds. r=khyperia
Differential Revision: https://phabricator.services.mozilla.com/D32244

--HG--
extra : moz-landing-system : lando
2019-06-07 20:33:44 +00:00
Jason Orendorff 550b936381 Bug 1547561 - Part 1: Change integer values used by ParseNodeKind, for extra assertiness. r=khyperia
Differential Revision: https://phabricator.services.mozilla.com/D32243

--HG--
extra : moz-landing-system : lando
2019-06-07 20:33:26 +00:00
Tom Schuster 7cf1e10f60 Bug 1548759 - Add crash tests. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D33578

--HG--
extra : moz-landing-system : lando
2019-06-05 15:12:20 +00:00
Tarek Ziadé c10664f1c1 Bug 1533675 - Name all threads in Firefox r=Ehsan
This patch adds thread names where they are missing

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

--HG--
extra : moz-landing-system : lando
2019-06-06 21:07:29 +00:00
Benjamin Bouvier c135910747 Bug 1491770: Add Cranelift to the list of Spidermonkey fuzzing configurations; r=lth
Differential Revision: https://phabricator.services.mozilla.com/D34150

--HG--
extra : moz-landing-system : lando
2019-06-07 13:04:40 +00:00
Csoregi Natalia df1edb3dc0 Merge mozilla-central to autoland. CLOSED TREE 2019-06-07 01:38:51 +03:00
Csoregi Natalia 0bbc9b655d Merge inbound to mozilla-central. a=merge 2019-06-07 00:52:54 +03:00
Nika Layzell 6abebf8c22 Bug 1556490 - Don't require JSContext* to get symbol name, r=mccr8
This patch also contains some other cleanups to avoid the need for
special-casing getting symbol IDs at call-sites.

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

--HG--
extra : moz-landing-system : lando
2019-06-06 14:57:29 +00:00
Nicolas B. Pierron 7d6c7e92af Bug 1488858 - Rename JSMSG_NOT_NONNULL_OBJECT to JSMSG_OBJECT_REQUIRED. r=jorendorff 2019-06-06 14:25:44 +02:00
Nicolas B. Pierron 93b3ec9605 Bug 1488858 - Rename NonNullObject to RequireObject. r=jorendorff 2019-06-06 14:25:44 +02:00
Nicolas B. Pierron bb8206e952 Bug 1488858 - Breakdown JSMSG_NOT_NONNULL_OBJECT_NAME for better localization and documentation. r=jorendorff 2019-06-06 14:25:43 +02:00
shindli 3caa33a7ea Merge inbound to mozilla-central. a=merge 2019-06-06 12:57:52 +03:00
Mike Hommey 98317c472f Bug 1551639 - Use .inc suffix for generated source files that are only included. r=nalexander
There is a big difference between generated source files that are built
directly, and those that are only included.

In the latter case, the build system won't know the files that does the
including depends on the generated source. So those sources do need to
be built during the export tier.

But in the former case, the build system has all the dependency
information it needs, and, while these generated sources are currently
built as part of the export tier, they don't actually need to be. We're
going to change that, and in preparation, we rename included files so as
to be more clearly identified.

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

--HG--
extra : moz-landing-system : lando
2019-06-06 04:34:53 +00:00
Iain Ireland 7c3448ffb3 Bug 1533890: Remove obsolete disableCacheIRCalls pref r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D33994

--HG--
extra : moz-landing-system : lando
2019-06-06 18:04:55 +00:00
Iain Ireland 13eb1b17b4 Bug 1533890: Remove old call IC code r=mgaudet
The one remaining wart that I'm aware of is that the fallback stub uses ICStubCompilerBase::pushCallArguments, so we'll continue to have two implementations of that code unless/until we overhaul our fallbacks.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 21:34:32 +00:00
Paul Bone 9f8536bcc6 Bug 1556137 - Fix a memory leak by allocating memory statically r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D33596

--HG--
extra : moz-landing-system : lando
2019-06-06 01:41:47 +00:00
Noemi Erli 31c85bd5fe Backed out 13 changesets (bug 1492121) for valgrind bustage
Backed out changeset e707f1890820 (bug 1492121)
Backed out changeset 90aeaad4a4de (bug 1492121)
Backed out changeset 2ffb6ccca437 (bug 1492121)
Backed out changeset 4215fefb6ef3 (bug 1492121)
Backed out changeset b54b813c4c6c (bug 1492121)
Backed out changeset 46f57504c087 (bug 1492121)
Backed out changeset a3fe26927b31 (bug 1492121)
Backed out changeset 39c486afacec (bug 1492121)
Backed out changeset bf1731627e07 (bug 1492121)
Backed out changeset 77e7b13c6237 (bug 1492121)
Backed out changeset 1f10b50f758f (bug 1492121)
Backed out changeset db1506f94d0d (bug 1492121)
Backed out changeset 72c4026e9455 (bug 1492121)
2019-06-06 04:01:24 +03:00
Gerald Squelart f12ec8621e Bug 1492121 - Copy mozglue/baseprofiler in make-source-package.sh - r=sfink
Added mozglue/mozprofiler to js/src/make-source-package.sh, because
mozglue/moz.build will refer to it unconditionally.
Note that if MOZ_GECKO_PROFILER and MOZ_BASE_PROFILER are not defined, no
actual code will be generated.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 23:39:09 +00:00
arthur.iakab 94d096ca36 Merge mozilla-central to mozilla-inbound 2019-06-06 01:06:38 +03:00
Sean Stangl 49aab24768 Bug 1556571 - Use FJCVTZS for convertDoubleToInt32. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D33576

--HG--
extra : moz-landing-system : lando
2019-06-05 09:56:17 +00:00
Jon Coppeard e176bf0ea2 Bug 1555935 - Remove some unnecessary use of FreeOp where plain old js_delete will do r=pbone
Carrying on from the last patch, there is one place where we use FreeOp unnecessarily when we're not finalizing.

Differential Revision: https://phabricator.services.mozilla.com/D33313
2019-05-31 18:00:16 +01:00
Jon Coppeard 9b8b009ae9 Bug 1555935 - Make JSObject finalizers use the FreeOp::delete_/free_ methods r=pbone
Differential Revision: https://phabricator.services.mozilla.com/D33276
2019-05-31 14:18:34 +01:00
Jon Coppeard ac265a3fa6 Bug 1556467 - Add telemetry for number of GC slices on the main thread r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D33668
2019-06-04 18:08:41 +01:00
Jon Coppeard f593c0d14b Bug 1556467 - Add telemetry for time between GC slices on the main thread r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D33667
2019-06-04 17:28:58 +01:00
Jon Coppeard 99af123862 Bug 1556467 - Add telemetry for time since last GC on the main thread r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D33666
2019-06-04 17:28:33 +01:00
Jon Coppeard 5e9a99d18f Bug 1556345 - Report reset telemetry per GC, not per slice r=sfink
We can only reset one slice per GC, as a reset finishes the GC non-incrementally. Change the telemetry to report reset per-GC rather than per-slice as this can suggest the rate of resets is lower than it really is.

Differential Revision: https://phabricator.services.mozilla.com/D33665
2019-06-04 17:10:10 +01:00
Jon Coppeard ea50278c3b Bug 1556345 - Make slice length during anmiation telemetry use the same definition of whether we are animating as everywhere else r=sfink
I'm not sure how this used to work but I'm pretty sure it doesn't any more. This changes us to use a single defintion of whether we're animating everywhere.

Differential Revision: https://phabricator.services.mozilla.com/D33663
2019-06-04 17:08:55 +01:00
Jim Blandy 2402708a44 Bug 1551176: Add GENERATOR_INFO_SLOT to js::DebuggerFrame. r=jorendorff
Debugger.Frame objects referring to generator or async calls need to be able to
find the call's generator object, even when the call is suspended. This patch
adds a reserved slot to js::DebuggerFrame objects that points to a new
GeneratorInfo class that holds a cross-compartment wrapper to the generator
object.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 03:33:18 +00:00
Jim Blandy d990c31e1d Bug 1551176: Add missing `std::move` calls to CrossCompartmentKey constructors. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D33723

--HG--
extra : moz-landing-system : lando
2019-06-05 03:04:29 +00:00
Jeff Walden 0ae75c0f53 Bug 1556900 - Make |ScriptSource::uncompressedData| more cautious about verifying the type of the contained data before returning a pointer. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D33733

--HG--
extra : moz-landing-system : lando
2019-06-05 00:58:58 +00:00
Jeff Walden 82d9632938 Bug 1556900 - Move |ScriptSource::binASTMetadata_| into the |BinAST| arm of |ScriptSource::data|, reducing the size of |ScriptSource| by a pointer. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D33732

--HG--
extra : moz-landing-system : lando
2019-06-05 00:58:44 +00:00
Jan de Mooij 184ec53bf9 Bug 1556668 - Move Wasm's MapFile from SpiderMonkey to Gecko to eliminate an NSPR dependency. r=luke
Differential Revision: https://phabricator.services.mozilla.com/D33605

--HG--
extra : moz-landing-system : lando
2019-06-04 18:43:02 +00:00
Sebastian Hengst b3f028c3ba Bug 1556321 - Weak marking abort can happen during regular marking phase: skip if oomTest is not defined. a=test-fix CLOSED TREE 2019-06-04 20:49:06 +02:00
Steve Fink 21b355d11c Bug 1556321 - Weak marking abort can happen during regular marking phase r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D33593

--HG--
extra : moz-landing-system : lando
2019-06-04 08:54:38 +00:00
Boris Zbarsky e8ac7dedc5 Remove the unused ReleaseIncrementally declaration. No bug. r=mccr8
This function does not exist.

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

--HG--
extra : moz-landing-system : lando
2019-06-04 17:43:25 +00:00
Steve Fink fafdad8dbc Bug 1167452 - Add a currentgc() function that returns lots of info on the internal incremental GC state. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D32551

--HG--
extra : moz-landing-system : lando
2019-06-04 17:27:17 +00:00
Bogdan Tara ae2ef98e40 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-06-04 19:08:56 +03:00
Bogdan Tara 0152d321a5 Merge inbound to mozilla-central. a=merge 2019-06-04 19:05:52 +03:00
Ashley Hauck 9707b986e3 Bug 1502176 - Change assertThrows with type to assertThrowsInstanceOf. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D33554

--HG--
extra : moz-landing-system : lando
2019-06-04 15:33:22 +00:00
Ashley Hauck 944c8db2d2 Bug 1502176 - Fix broken assertThrows tests. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D33553

--HG--
extra : moz-landing-system : lando
2019-06-04 15:54:39 +00:00
Jon Coppeard d75e262771 Bug 1395509 - Add APIs to handle memory accounting while initializing object pointers to malloc memory r=sfink?
Differential Revision: https://phabricator.services.mozilla.com/D33314

--HG--
extra : moz-landing-system : lando
2019-06-04 10:05:17 +00:00
Sean Stangl 1fa5a9fd56 Bug 1555509 - Allow encoding FJCVTZS. r=nbp
Imports all VIXL machinery necessary to encode FJCVTZS.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 20:49:37 +00:00
Tooru Fujisawa f79d4a6c55 Bug 1551878 - Implement reading string dictionary, without 0x01-escape handling. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D32480

--HG--
extra : moz-landing-system : lando
2019-05-29 21:14:24 +00:00
Ehsan Akhgari 9a068c6c2e Bug 1555876 - Part 1: Return the main principal from all overrides of nsIScriptObjectPrincipal::GetEffectiveStoragePrincipal(); r=baku
Differential Revision: https://phabricator.services.mozilla.com/D33335

--HG--
extra : moz-landing-system : lando
2019-05-31 21:48:52 +00:00
Nicolas B. Pierron dcb38ecb71 Bug 1555153 - ARM64 division by constant: compare remainder against zero. r=sstangl
Differential Revision: https://phabricator.services.mozilla.com/D33015

--HG--
extra : moz-landing-system : lando
2019-06-01 03:33:15 +00:00
arthur.iakab 7e393c2e01 Backed out 3 changesets (bug 1395509, bug 1555935) for causing build busateges CLOSED TREE
Backed out changeset 351d19c8bdd3 (bug 1395509)
Backed out changeset d361c289aaa9 (bug 1555935)
Backed out changeset fdb574e1fca6 (bug 1555935)
2019-06-03 16:00:48 +03:00
Jon Coppeard 11011743a9 Bug 1395509 - Add APIs to handle memory accounting while initializing object pointers to malloc memory r=sfink?
Depends on D33313

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

--HG--
extra : moz-landing-system : lando
2019-05-31 23:44:34 +00:00
Jon Coppeard adb44ba6d3 Bug 1555935 - Remove some unnecessary use of FreeOp where plain old js_delete will do r=pbone?
Carrying on from the last patch, there is one place where we use FreeOp unnecessarily when we're not finalizing.

Depends on D33276

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

--HG--
extra : moz-landing-system : lando
2019-06-03 11:54:08 +00:00
Jon Coppeard 4a475af27d Bug 1555935 - Make JSObject finalizers use the FreeOp::delete_/free_ methods r=pbone?
Differential Revision: https://phabricator.services.mozilla.com/D33276

--HG--
extra : moz-landing-system : lando
2019-06-03 07:09:39 +00:00
Steve Fink 544e52612a Bug 1167452 - Unbarrier lookup for delete r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31960

--HG--
extra : moz-landing-system : lando
2019-05-31 23:34:34 +00:00
Steve Fink 57cd8badd1 Bug 1167452 - Make weakmap marking incremental r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31959

--HG--
extra : moz-landing-system : lando
2019-05-31 23:34:11 +00:00
Steve Fink 6eee7b5e6f Bug 1167452 - Barrier weakmap operations and maintain weak keys table during incremental collections. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31958

--HG--
extra : moz-landing-system : lando
2019-05-31 23:33:48 +00:00
Jason Orendorff d5499f2ad6 Bug 1543590 - Don't crash trying to fire a dead frame's onPop handler. r=jimb
Mutating Debugger state between the time a callback-triggering event is
reported to js::Debugger::onSomeEventSlowPath and the time the
callback is actually called can invalidate assumptions, and multiple Debuggers
are a way to do that, part 183.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 22:11:33 +00:00
Matthew Gaudet ebb0d769a7 Bug 1555730 - Rephrase lazyOuterFunction comment r=jorendorff DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D33167

--HG--
extra : moz-landing-system : lando
2019-05-30 18:00:14 +00:00
Ashley Hauck 7205b26ed3 Bug 1538375 - Don't deopt on debugger statements. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D33219

--HG--
extra : moz-landing-system : lando
2019-05-31 17:34:46 +00:00
Honza Bambas c35df87597 Bug 1545421 - New nsresult error codes for 407, 502 and 504 http response codes returned by proxies + test, r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D32817

--HG--
extra : moz-landing-system : lando
2019-05-31 17:29:53 +00:00
Sebastian Hengst 78e651853f Merge mozilla-central to autoland. CLOSED TREE 2019-05-31 19:07:44 +02:00
Sebastian Hengst 0dc14776cd Merge mozilla-inbound to mozilla-central. a=merge 2019-05-31 19:05:23 +02:00
Ashley Hauck cdd7461b2a Bug 1555979 - Don't assume the constructor scope has .initializers in it. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D33300

--HG--
extra : moz-landing-system : lando
2019-05-31 16:30:06 +00:00
Paul Bone f8fc1d2bcc Bug 1555558 - Don't collect the nursery for finalise or decommit slices r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D33137

--HG--
extra : moz-landing-system : lando
2019-05-31 06:05:19 +00:00
Steve Fink df12ecdf73 Bug 1556430 - Weakkeys iterator invalidation when severing a delegate in the same zone r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D33727

--HG--
extra : moz-landing-system : lando
2019-06-05 19:37:59 +00:00
Noemi Erli 9f25f8df3b Backed out changeset 0ae7659b2898 (bug 1556430) for bustages in weak-marking-03.js CLOSED TREE 2019-06-05 22:14:03 +03:00
Steve Fink 2593ff9abb Bug 1556430 - Weakkeys iterator invalidation when severing a delegate in the same zone r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D33727

--HG--
extra : moz-landing-system : lando
2019-06-05 18:17:58 +00:00
Jon Coppeard d1d9ec2280 Bug 1395509 - Split out zone memory allocation framework into separate base class r=sfink
This splits out the allocation functions and allocation tracking state into a new base class, ZoneAllocator, which lives in its own header file. We can include this for the common case of allocating malloc memory for GC things without dragging in the full complexity of Zone.h.

Differential Revision: https://phabricator.services.mozilla.com/D33180
2019-05-30 18:52:42 +01:00
Jon Coppeard 304f0abb3f Bug 1395509 - Refactor malloc allocation tracking r=sfink
This refactors the malloc allocation tracking so that the MemoryTracker object is only present in debug builds and the count of malloc bytes is kept separately in the Zone. This makes things a little clearer I think and removes one level of inlining.

Differential Revision: https://phabricator.services.mozilla.com/D33179
2019-05-30 18:47:16 +01:00
Narcis Beleuzu 2bc2cca589 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-05-31 07:07:40 +03:00
Steve Fink 9097b58779 Bug 1167452 - Implement a mark queue to control marking order during testing r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31957

--HG--
extra : moz-landing-system : lando
2019-05-30 20:34:42 +00:00
Steve Fink 1334ce153c Bug 1167452 - Make a Cell::isMarked(color) utility function. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31956

--HG--
extra : moz-landing-system : lando
2019-05-30 20:34:19 +00:00
Steve Fink 373f99f380 Bug 1167452 - Split mark stack into black and gray. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31955

--HG--
extra : moz-landing-system : lando
2019-05-30 20:33:56 +00:00
Steve Fink d9441f5488 Bug 1167452 - Prevent barriers from firing during tracing, rename markIteratively -> markEntries r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31954

--HG--
extra : moz-landing-system : lando
2019-05-30 20:33:30 +00:00
Steve Fink d4af4ed928 Bug 1167452 - Split out nursery weak keys from tenured weak keys r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31953

--HG--
extra : moz-landing-system : lando
2019-05-30 20:33:12 +00:00
Steve Fink 28d00472ee Bug 1167452 - Switch weakmap marking code back from GCCellPtr to plain Cell* r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31952

--HG--
extra : moz-landing-system : lando
2019-05-30 20:32:49 +00:00
Steve Fink 3cbd4b9112 Bug 1167452 - Set gcLastSweepGroupIndex earlier (debugging feature) r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31951

--HG--
extra : moz-landing-system : lando
2019-05-30 20:32:22 +00:00
Tooru Fujisawa 68db989149 Bug 1553958 - Make JumpTarget.offset default value to invalid offset. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D32401

--HG--
extra : moz-landing-system : lando
2019-05-30 20:24:43 +00:00
Tooru Fujisawa 7b233f0619 Bug 1545540 - Part 3: Add BytecodeOffset/BytecodeOffsetDiff type. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D32400

--HG--
extra : moz-landing-system : lando
2019-05-30 20:24:35 +00:00
Tooru Fujisawa 4293fb304d Bug 1545540 - Part 2: Use delta=0 to mark the end of JumpList. r=jorendorff
Previously the end of JumpList's link is marked by `offset + delta == -1`,

BytecodeOffset class introcuced in part 3 requires the operands of `-` operator
should be valid, and that rule conflicts with above.

Changed the end marker of JumpList to `delta == 0`, that won't happen in other
case, because that points the same opcode.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 20:24:18 +00:00
Tooru Fujisawa 755998f123 Bug 1545540 - Part 1: Use BytecodeSection.lastTarget_=-1 to mark last opcode is not jump target. r=jorendorff
Previously the initial value of BytecodeSection.lastTarget_ is chosen to make
the following condition true:
  lastTargetOffset() + ptrdiff_t(JSOP_JUMPTARGET_LENGTH) == -1

BytecodeOffset class introcuced in part 3 requires the offset value to be
either -1 (invalid) or non-negative, and that rule conflicts with above.

Changed the initial value of BytecodeSection.lastTarget_ to -1 and added
the check for that condition in BytecodeSection::lastOpcodeIsJumpTarget,
so that we don't use negative value in BytecodeOffset.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 20:24:01 +00:00
Tooru Fujisawa 81744b5dd7 Bug 1545540 - Part 0: Add comments for include in some frontend files. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D32399

--HG--
extra : moz-landing-system : lando
2019-05-30 20:23:41 +00:00
Jason Orendorff 176a7f69b0 Bug 1536851 - Part 2: JS_NewObjectForConstructor should fail (not crash) if not constructing. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D32536

--HG--
extra : moz-landing-system : lando
2019-05-30 19:05:23 +00:00
Jason Orendorff 116208713f Bug 1536851 - Part 1: Change JS_NewObjectForConstructor to respect `new.target`, like non-derived JS classes. r=jwalden
Classes defined in JS using the `class` keyword, without using `extends`,
implicitly construct a new `this` object before running the body of the
constructor, and they use `new.target.prototype` as the new object's
[[Prototype]]. This is one of the ways that JS classes support subclassing.
When the subclass calls the base class constructor, the subclass's `.prototype`
is used.

Until now, we did not do this for classes defined in C++ using
JS_NewObjectForConstructor. But there's no reason it shouldn't work the same
way. Changing this is a nicety for embedders -- there's nothing using it in
Firefox or internally right now, except for testing.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 19:05:09 +00:00
Jason Orendorff 48a6f6d0bd Bug 1549768 - Wrap reason objects before creating the compositeReason array. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D32048

--HG--
extra : moz-landing-system : lando
2019-05-30 18:06:28 +00:00
Jason Orendorff 3961c47023 Bug 1552632 - Resolve globalThis when querying all properties of the global object. r=jandem
globalThis was already handled specially in JS_ResolveStandardClass,
JS_MayResolveStandardClass, and various other places, but not in
JS_NewEnumerateStandardClasses.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 17:55:14 +00:00
Steve Fink 98f7897275 Bug 1555199 - Use finishGC to finish a GC instead of looping r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D32927

--HG--
extra : moz-landing-system : lando
2019-05-30 00:07:15 +00:00
shindli b374b306cf Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-05-30 06:50:22 +03:00
Jim Blandy ea6f3617dc Bug 1551176: Rename js::DebugScript::stepMode to 'stepperCount'. r=jorendorff
This field of js::DebugScript is a count of the number of Debugger.Frames with
onPop handlers that apply to the given script, and its name should reflect that
more directly. All accessors and mutators renamed accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 20:52:17 +00:00
Jim Blandy 2206c1191d Bug 1551176: Clean up js::DebugScript and step mode count. r=jorendorff
The present JSScript::setNewStepMode method deals with both increments and
decrements. This provides a single site from which to call
BaselineScript::toggleDebugTraps. But it also checks whether it should free the
DebugScript, which is only needed when we're decrementing, and requires
incrementStepModeCount to furnish a FreeOp which is never needed.

On the balance, removing setNewStepMode altogether and letting
JSScript::incrementStepModeCount and decrementStepModeCount each specialize in
building things up or tearing things down seems cleaner, even if both need to
call toggleDebugTraps.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 20:52:02 +00:00
Mike Hommey cfe985532a Bug 1554928 - Remove configure options that have been deprecated for a while. r=nalexander
- DISABLE_SHARED_JS and DISABLE_EXPORT_JS have been deprecated for 3
years,
- MOZ_JEMALLOC4 has been deprecated for 2 years.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 02:01:02 +00:00
shindli ec43d5678c Merge inbound to mozilla-central. a=merge 2019-05-30 00:52:13 +03:00
Jim Blandy 52385efdd3 Bug 1551176: JSScript::getOrCreateDebugScript replaces ensureDebugScript. r=jorendorff
All extant calls to JSScript::ensureDebugScript are immediately followed by a
call to JSScript::debugScript. A fallible getOrCreate interface is cleaner for
the callers, and not much more work in the callee.

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

--HG--
extra : moz-landing-system : lando
2019-05-28 21:48:36 +00:00
Jim Blandy 34a3c1cfa4 Bug 1551176: Add js::DebugScript::needed method. r=jorendorff
Giving DebugScript a `needed` method makes the tests for cleaning it up a little
neater, and will help us add more doodads to it in subsequent patches.

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

--HG--
extra : moz-landing-system : lando
2019-05-28 20:52:32 +00:00
Julian Seward eca9b8e7f1 Bug 1555102 - Cranelift: Generate better code for indirect-global accesses. r=lth
Wasm globals that are mutable and either imported or exported are, in our
implementation, accessed through a level of indirection. The instance's global
area doesn't hold the value itself. Instead it holds an immutable pointer to
the location where the value is really stored.

CL doesn't know that the pointer is immutable, and so fails to CSE/GVN
together multiple reads of the pointer, even when it's obvious it would be
safe to do so.  This patch marks it as `readonly` so that such commoning
up can happen.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 13:47:45 +00:00
shindli 8b24790fb3 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-05-30 00:58:01 +03:00
Jim Blandy 16edf6af39 No Bug: js::CrossCompartmentKey: SMDOC fixes DONTBUILD r=sfink
--HG--
extra : rebase_source : fe6ee4540a9974a4b973adee269d368503a8011c
extra : amend_source : f8ae278680e5d5caed084f712015b2aed40c8c3e
2019-05-16 13:13:23 -07:00
Tom Ritter b8705a8481 Bug 1539595 - Rename Priveleged Content Process to PrivlegedAbout Content Process r=mconley,flod
We do this because we will be introducing more privileged content processes
and we want to be able to distinguish them.

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

--HG--
rename : browser/base/content/test/tabs/browser_new_tab_in_privileged_process_pref.js => browser/base/content/test/tabs/browser_new_tab_in_privilegedabout_process_pref.js
extra : moz-landing-system : lando
2019-05-29 11:31:31 +00:00
Tom Schuster 17f13cc4f5 Bug 1551939 - Try adding three more Proxy checks. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D32374

--HG--
extra : moz-landing-system : lando
2019-05-29 00:57:46 +00:00
Nicolas B. Pierron 2e4ac28424 Bug 1546446 - Carry the pool-free size to the finishPool function. r=sstangl
Differential Revision: https://phabricator.services.mozilla.com/D28816

--HG--
extra : moz-landing-system : lando
2019-05-28 14:32:19 +00:00
Paul Bone 8f1b2d6384 Bug 1499570 - Decommit nursery chunks when they're recycled r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D32789

--HG--
extra : moz-landing-system : lando
2019-05-29 06:04:08 +00:00
Mike Hommey 31e8325621 Bug 1554056 - Don't allow --enable-shared-js outside of standalone spidermonkey builds. r=dmajor
The option has presumably not worked for at least a year, and was seldom
used.

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

--HG--
extra : moz-landing-system : lando
2019-05-28 18:45:03 +00:00
Oana Pop Rus ac6f9d6c71 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-05-29 01:09:35 +03:00
Oana Pop Rus bb39524dc6 Merge inbound to mozilla-central. a=merge 2019-05-29 00:48:04 +03:00
Sebastian Hengst fba75a919c Backed out 4 changesets (bug 1539595) for build bustage in nsAboutRedirector.cpp. CLOSED TREE
Backed out changeset 2b0bb889b087 (bug 1539595)
Backed out changeset 95f0b82ec253 (bug 1539595)
Backed out changeset 6310e6dabceb (bug 1539595)
Backed out changeset ba3e353c6957 (bug 1539595)

--HG--
rename : browser/base/content/test/tabs/browser_e10s_about_page_triggeringprincipal.js => browser/base/content/test/general/browser_e10s_about_page_triggeringprincipal.js
rename : browser/base/content/test/tabs/browser_e10s_about_process.js => browser/base/content/test/general/browser_e10s_about_process.js
rename : browser/base/content/test/tabs/browser_e10s_chrome_process.js => browser/base/content/test/general/browser_e10s_chrome_process.js
rename : browser/base/content/test/tabs/browser_e10s_javascript.js => browser/base/content/test/general/browser_e10s_javascript.js
rename : browser/base/content/test/tabs/browser_e10s_switchbrowser.js => browser/base/content/test/general/browser_e10s_switchbrowser.js
rename : browser/base/content/test/tabs/file_about_child.html => browser/base/content/test/general/file_about_child.html
rename : browser/base/content/test/tabs/file_about_parent.html => browser/base/content/test/general/file_about_parent.html
rename : browser/base/content/test/tabs/test_process_flags_chrome.html => browser/base/content/test/general/test_process_flags_chrome.html
rename : browser/base/content/test/tabs/browser_new_tab_in_privilegedabout_process_pref.js => browser/base/content/test/tabs/browser_new_tab_in_privileged_process_pref.js
2019-05-28 19:49:17 +02:00
Tom Ritter 03b41fa512 Bug 1539595 - Rename Priveleged Content Process to PrivlegedAbout Content Process r=mconley,flod
We do this because we will be introducing more privileged content processes
and we want to be able to distinguish them.

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

--HG--
rename : browser/base/content/test/tabs/browser_new_tab_in_privileged_process_pref.js => browser/base/content/test/tabs/browser_new_tab_in_privilegedabout_process_pref.js
extra : moz-landing-system : lando
2019-05-28 14:19:11 +00:00
Valentin Gosu d0eb46c5d5 Bug 1536744 - Fix test_import.js by calling nsIIOService.newURI instead of nsIResProtocolHandler.newURI r=baku
Differential Revision: https://phabricator.services.mozilla.com/D30710

--HG--
extra : moz-landing-system : lando
2019-05-28 13:51:18 +00:00
Ashley Hauck 047844cc8a Bug 1553744 - Delete .initalizers scope for constructors in classes without fields. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D32368

--HG--
extra : moz-landing-system : lando
2019-05-28 16:59:14 +00:00
Jon Coppeard d0fbeca679 Bug 1395509 - Track malloc memory associated with JSScripts r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D32500
2019-05-24 15:45:33 +01:00
Jon Coppeard 068fe93aff Bug 1395509 - Track malloc memory associated with JSObject slots r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D32172
2019-05-22 17:55:17 +01:00
Jon Coppeard 2933036031 Bug 1395509 - Track malloc memory associated with JSObject elements r=jandem
This adds memory tracking for object elements. I had to swap the association in JSObject::swap. I also moved NativeObject::shrinkCapacityToInitializedLength out of line so as not to have to pull Zone.h into NativeObject.h. I don't know how performance sensitive this is - if it is I could look at this again.

Differential Revision: https://phabricator.services.mozilla.com/D32171
2019-05-22 17:54:07 +01:00
Bogdan Tara 5114c83873 Backed out changeset fdf579877df4 (bug 1554056) for causing build bustages CLOSED TREE 2019-05-28 04:04:01 +03:00
Mike Hommey e9e6152ed8 Bug 1554056 - Don't allow --enable-shared-js outside of standalone spidermonkey builds. r=dmajor
The option has presumably not worked for at least a year, and was seldom
used.

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

--HG--
extra : moz-landing-system : lando
2019-05-28 00:43:35 +00:00
Bogdan Tara 5cf3542fa0 Backed out changeset aa0c152930e2 (bug 1554056) for StructuredClone.h related build bustages CLOSED TREE 2019-05-28 03:38:08 +03:00
Mike Hommey 0c0c3b8e3e Bug 1554056 - Don't allow --enable-shared-js outside of standalone spidermonkey builds. r=dmajor
The option has presumably not worked for at least a year, and was seldom
used.

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

--HG--
extra : moz-landing-system : lando
2019-05-28 00:15:07 +00:00
Mike Hommey 95cce3be01 Bug 1554086 - Apply old-configure.in parts of bug 1259382 to js/src/old-configure.in. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D32432

--HG--
extra : moz-landing-system : lando
2019-05-24 11:39:57 +00:00
Gurzau Raul d568f187db Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-05-28 00:57:10 +03:00
Yoshi Cheng-Hao Huang 196d61246b Bug 1376646 - Part 2: remove redudant IsInsideNursery() check. r=sfink
TenuringTracer::traverse(JSObject**) and
TenuringTracer::traverse(JSString**) will check IsInsideNursery(),
and also these two functions will be called by other callers,
so removing the check in CellPtrEdge::traceTyped

Differential Revision: https://phabricator.services.mozilla.com/D32167
2019-05-27 10:03:46 +02:00
Yoshi Cheng-Hao Huang 505eee2e5b Bug 1376646 - Part 1: Separate buffer for storing JSString and JSObject cells. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D32097
2019-05-27 10:03:37 +02:00
Jean-Yves Avenard 022c57caf3 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-26 14:31:53 +00:00
Gurzau Raul 967bc2a754 Backed out 31 changesets (bug 1552643, bug 1550422) for xpcshell crash on a CLOSED TREE.
Backed out changeset e30c1aa75529 (bug 1552643)
Backed out changeset caadcd7e02d3 (bug 1552643)
Backed out changeset aa7086ab09be (bug 1552643)
Backed out changeset 0b4029671710 (bug 1550422)
Backed out changeset a16295296035 (bug 1550422)
Backed out changeset 3b70307c0db5 (bug 1550422)
Backed out changeset 69df7818d4a3 (bug 1550422)
Backed out changeset d98dfc565927 (bug 1550422)
Backed out changeset 6f0997976944 (bug 1550422)
Backed out changeset 0edd264464c2 (bug 1550422)
Backed out changeset 9ea6da7a74ec (bug 1550422)
Backed out changeset f855f9309c8b (bug 1550422)
Backed out changeset 1033546224a7 (bug 1550422)
Backed out changeset ade7384c6186 (bug 1550422)
Backed out changeset 75b04de7e99c (bug 1550422)
Backed out changeset 91c3acdb2454 (bug 1550422)
Backed out changeset 77d2f80257d1 (bug 1550422)
Backed out changeset e0cd10d35327 (bug 1550422)
Backed out changeset 097091082423 (bug 1550422)
Backed out changeset 2f328853c1ab (bug 1550422)
Backed out changeset f92f2cc29cb1 (bug 1550422)
Backed out changeset 6dc82f88333d (bug 1550422)
Backed out changeset c20f66494d69 (bug 1550422)
Backed out changeset 2ba22cddeb6f (bug 1550422)
Backed out changeset 3aa72f89e295 (bug 1550422)
Backed out changeset ab4c4e806977 (bug 1550422)
Backed out changeset 72e5de040dda (bug 1550422)
Backed out changeset 7d3c2d486706 (bug 1550422)
Backed out changeset 132e0b8d8468 (bug 1550422)
Backed out changeset 54c85ac75dd0 (bug 1550422)
Backed out changeset d7ba4a18dd54 (bug 1550422)
2019-05-25 09:07:49 +03:00
Jean-Yves Avenard 074aea57fe Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-24 11:37:50 +00:00
Brindusan Cristian 5a5f5a78fb Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-05-25 00:54:26 +03:00
Brindusan Cristian fd5a4a259a Merge inbound to mozilla-central. a=merge 2019-05-25 00:49:05 +03:00
Steve Fink 995829d42a No bug. Reformat js/** to fix accumulated divergences.
# ignore-this-changeset

--HG--
extra : amend_source : 7b51d539061710bf4939e687b4ca4b74af757cf3
2019-05-24 11:57:18 -07:00
David Teller 830a3e61ea Bug 1553482 - Use BinASTInterfaceAndField in Context;r=arai
Depends on D32295

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

--HG--
extra : moz-landing-system : lando
2019-05-24 18:48:57 +00:00
David Teller 336f642617 Bug 1553482 - Exposing some of the grammar as macros;r=arai
To extract Huffman tables (see bug 1552435), we need the ability to walk through the grammar.
This patch starts implementing grammar walking, as macros - at this stage, sufficiently to walk
through interfaces and start dealing with their fields.

Depends on D32291

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

--HG--
extra : moz-landing-system : lando
2019-05-24 18:48:29 +00:00
David Teller d5dc0ee759 Bug 1553482 - Generating BinASTInterfaceAndField;r=arai
Depends on D32289

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

--HG--
extra : moz-landing-system : lando
2019-05-24 18:48:04 +00:00
David Teller 810bb6fa18 Bug 1553482 - Generating BINAST_TOTAL_NUMBER_OF_FIELDS, BINAST_NUMBER_OF_LIST_TYPES;r=arai
Differential Revision: https://phabricator.services.mozilla.com/D32289

--HG--
extra : moz-landing-system : lando
2019-05-24 18:47:34 +00:00
Noemi Erli dde2e3cd9f Backed out 4 changesets (bug 1553482) for build bustages in BinASTTokenReaderBase.h CLOSED TREE
Backed out changeset 49278023aa7d (bug 1553482)
Backed out changeset 57a5c8689ed3 (bug 1553482)
Backed out changeset c50879a48ff8 (bug 1553482)
Backed out changeset 5570e3e6c5e5 (bug 1553482)
2019-05-24 16:49:30 +03:00
David Teller 4eddbb64f5 Bug 1553482 - Use BinASTInterfaceAndField in Context;r=arai
Depends on D32295

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

--HG--
extra : moz-landing-system : lando
2019-05-24 12:11:02 +00:00
David Teller b39f990648 Bug 1553482 - Exposing some of the grammar as macros;r=arai
To extract Huffman tables (see bug 1552435), we need the ability to walk through the grammar.
This patch starts implementing grammar walking, as macros - at this stage, sufficiently to walk
through interfaces and start dealing with their fields.

Depends on D32291

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

--HG--
extra : moz-landing-system : lando
2019-05-24 12:10:29 +00:00
David Teller a0811ecf81 Bug 1553482 - Generating BinASTInterfaceAndField;r=arai
Depends on D32289

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

--HG--
extra : moz-landing-system : lando
2019-05-24 12:10:06 +00:00
David Teller 4ea2b0c00a Bug 1553482 - Generating BINAST_TOTAL_NUMBER_OF_FIELDS, BINAST_NUMBER_OF_LIST_TYPES;r=arai
Differential Revision: https://phabricator.services.mozilla.com/D32289

--HG--
extra : moz-landing-system : lando
2019-05-24 12:09:38 +00:00
Julian Seward 95920f18b6 Bug 1554053 - Wasm via Cranelift: size of interrupt check comparison is incorrect. r=bbouvier
This patch changes Wasm-via-CL to always use a 32-bit comparison for interrupt checks.

Wasm-via-Cranelift generates code to do interrupt checks by doing a
machine-word sized comparison. However, the compared-against value,
TlsData::interrupt, is an Atomic<uint32_t, mozilla::Relaxed>, and so the
comparison is incorrect on all 64 bit targets: it also compares the 4 bytes
following TlsData::interrupt, which look to me as if they are an alignment
hole (iow, junk).

This is obviously incorrect, and it's observably inconsistent with what the
-via-Ion and -baseline routes do, which is to always generate a 32-bit
comparison.

It also holds a potential danger of a store-forwarding stall (big read after
small write), although, based on the struct layout and detailed reading of the
Intel opt guide, I think it's probably harmless for the Intel Core
architecture family.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 12:46:24 +00:00
Jan de Mooij 182c086abf Bug 1551796 part 11 - Move more JitScript code into JitScript.cpp. r=tcampbell
JitScript::initICEntriesAndBytecodeTypeMap is still in BaselineIC.cpp because
it depends on things defined there (like FallbackStubAllocator) and I think it's
not unreasonable to keep it there.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 12:03:13 +00:00
Jan de Mooij 32ffc2b901 Bug 1551796 part 10 - Move JitScript to js::jit namespace. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D32299

--HG--
extra : moz-landing-system : lando
2019-05-24 12:02:51 +00:00
Jan de Mooij a6837b96fa Bug 1551796 part 9 - Merge FillBytecodeTypeMap into JitScript::initICEntries. r=tcampbell
We now do a single pass over the bytecode instead of two.

Register pressure of the combined code might be a bit worse but it also
eliminates some duplication so I think it's worth it.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 12:02:38 +00:00
arthur.iakab af8e458c5f Backed out changeset a296439a25ff (bug 1519636) for frequent Windows cppunit failures CLOSED TREE 2019-05-24 14:26:01 +03:00
Noemi Erli 2f444f16fe Backed out 4 changesets (bug 1553482) for causing build bustages in BinASTTokenReaderBase.h CLOSED TREE
Backed out changeset dea9d20a1162 (bug 1553482)
Backed out changeset f6e6533c5db2 (bug 1553482)
Backed out changeset 82f5e463bcb5 (bug 1553482)
Backed out changeset 9db8b5eba797 (bug 1553482)
2019-05-24 13:05:09 +03:00
Sylvestre Ledru c82ea97226 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-24 09:59:17 +00:00
David Teller 2ace306416 Bug 1553482 - Use BinASTInterfaceAndField in Context;r=arai
Depends on D32295

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

--HG--
extra : moz-landing-system : lando
2019-05-24 09:12:22 +00:00
David Teller 1d88f87df3 Bug 1553482 - Exposing some of the grammar as macros;r=arai
To extract Huffman tables (see bug 1552435), we need the ability to walk through the grammar.
This patch starts implementing grammar walking, as macros - at this stage, sufficiently to walk
through interfaces and start dealing with their fields.

Depends on D32291

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

--HG--
extra : moz-landing-system : lando
2019-05-24 09:09:06 +00:00
David Teller 78bb4af250 Bug 1553482 - Generating BinASTInterfaceAndField;r=arai
Depends on D32289

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

--HG--
extra : moz-landing-system : lando
2019-05-24 09:08:58 +00:00
David Teller 14632329cc Bug 1553482 - Generating BINAST_TOTAL_NUMBER_OF_FIELDS, BINAST_NUMBER_OF_LIST_TYPES;r=arai
Differential Revision: https://phabricator.services.mozilla.com/D32289

--HG--
extra : moz-landing-system : lando
2019-05-24 09:08:54 +00:00
Jan de Mooij 8a0554624b Bug 1551796 part 8 - Rename ShouldReleaseTypes to ShouldDiscardJitScripts. r=tcampbell
"Discard" instead of "Release" for consistency with ShouldDiscardBaselineCode.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 07:34:04 +00:00
Jan de Mooij 2f3fb6a047 Bug 1551796 part 7 - Improve the JitScript comment a bit. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D32293

--HG--
extra : moz-landing-system : lando
2019-05-24 07:33:47 +00:00
Jan de Mooij dcec7d8e19 Bug 1551796 part 6 - Use DefaultInitializeElements to initialize JitScript's StackTypeSet array. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D32292

--HG--
extra : moz-landing-system : lando
2019-05-24 07:33:27 +00:00
Jan de Mooij 44a53da96b Bug 1551796 part 5 - Make JitScript::destroy static. r=tcampbell
The destroy() call in JSScript::finalize was moved into DestroyJitScripts for
consistency with BaselineScript and IonScript.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 07:33:12 +00:00
Paul Bone 81489feef4 Bug 1553710 - Sort the available chunks pool r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D32276

--HG--
extra : moz-landing-system : lando
2019-05-24 01:40:35 +00:00
Ashley Hauck 236992ad66 Bug 1552875 - Set anonymous function name in field initializer. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D32070

--HG--
extra : moz-landing-system : lando
2019-05-23 21:54:34 +00:00
Sean Stangl 4c8b6930df Bug 1551339 - Update VIXL to recent Utils and Globals files. r=nbp
This is preliminary work to allowing encoding of JSCVTFP, the instruction that exists on new AArch64 devices that greatly speeds up websites that use floating-point math.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 20:26:52 +00:00
Kannan Vijayan 7a94de539b Bug 1368266 - Set overridePc to firstPc instead of lastPc when unwinding frames. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D32186

--HG--
extra : moz-landing-system : lando
2019-05-23 11:18:50 +00:00
Denis Palmeiro 58fb29188c Bug 1552528 - Enable & disable the structured spewer when the gecko profiler starts and stops r=mgaudet
The structured spewer does not exit gracefully when the browser is closed.  This leads to incomplete JSON since we never end up emitting the closing ']' on destruction.  Another approach that lets us do this gracefully is to have the structured spewer start and stop alongside the gecko profiler.  This also lets us focus spewing on the specific area of interest such as a page load, or some janky behaviour on a website.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 18:41:29 +00:00
Tooru Fujisawa 3fbbb8f7f2 Bug 1551473 - Provide utility methods to read brotli stream in BinASTTokenReaderContext. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D31212

--HG--
extra : moz-landing-system : lando
2019-05-21 16:33:05 +00:00
Tooru Fujisawa 5e98e8f08d Bug 1549954 - Link in-tree brotli library if BinAST is enabled. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D30476

--HG--
extra : moz-landing-system : lando
2019-05-21 20:35:25 +00:00
Jon Coppeard b3fb983c32 Bug 1395509 - Add an alloc policy that tracks malloc memory associated with GC things r=sfink
This changes ZoneAllocPolicy to use the new precise memory tracking rather than the old malloc counter.  This works because the mozilla standard containers (HashMap, Vector, etc) already call the AllocyPolicy free_ method with the correct size.  This patch tracks individual instances of ZoneAllocPolicy to check that the numbers balance.

Differential Revision: https://phabricator.services.mozilla.com/D33001
2019-05-29 13:36:34 +01:00
Jon Coppeard 77f4a218f6 Bug 1554954 - Add size parameter to GCRuntime::maybeAllocTriggerZoneGC and use this when determining whether to trigger a GC slice during an incremental GC r=sfink
There are a couple of places where this method is just used to check the thresholds so I made the size parameter default to zero.  Perhaps we should make this a separate trigger.

This also adds a separate GC reason for incremental slices trigger from this method so we can distinguish incremental and non-incremental triggers.

Differential Revision: https://phabricator.services.mozilla.com/D33000
2019-05-29 13:36:30 +01:00