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

3256 Коммитов

Автор SHA1 Сообщение Дата
Ted Campbell 0d2aa310b5 Bug 1642708 - Remove code guarded by JS_BUILD_BINAST r=arai
Also remove js/src/frontend/BinAST* sources.

Differential Revision: https://phabricator.services.mozilla.com/D77945
2020-06-12 14:25:50 +00:00
Razvan Maries ff6696efc0 Backed out changeset 647adc688cea (bug 1645845) for build bustages on ParserAtom.cpp. 2020-06-17 05:49:26 +03:00
Kannan Vijayan f9156e3176 Bug 1645845 - Add ParserAtomsTable, parser atoms types, common parser names table, and base parser atoms implementation. r=mgaudet,tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D79714
2020-06-16 22:16:17 +00:00
Razvan Maries 92e1bc94a4 Backed out changeset f1a9f9c46808 (bug 1645845) for build bustages on Utility.h. CLOSED TREE 2020-06-16 21:12:01 +03:00
Kannan Vijayan b00a405b71 Bug 1645845 - Add ParserAtomsTable, parser atoms types, common parser names table, and base parser atoms implementation. r=mgaudet,tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D79714
2020-06-16 17:37:32 +00:00
Razvan Maries d5879776c0 Backed out changeset 13d8ddd71873 (bug 1645845) for bustages on ParserAtom.h. CLOSED TREE 2020-06-16 20:19:19 +03:00
Kannan Vijayan f1d9bd0a46 Bug 1645845 - Add ParserAtomsTable, parser atoms types, common parser names table, and base parser atoms implementation. r=mgaudet,tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D79714
2020-06-16 15:57:14 +00:00
Sylvestre Ledru 85c05f3a47 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D79795
2020-06-16 14:37:23 +00:00
Ted Campbell 5f98fae13b Bug 1645469 - Add profiler subcategories for SpiderMonkey JITs. r=jandem,gerald
In the JIT frame sampler, we apply the appropriate category in addition to
the "implementation" field. For JS frames (IS_JS_FRAME), we identify as
either BaselineInterpreter or Interpreter. Note that JS_Other still applies
to various places we enter SpiderMonkey outside of RunScript.

Differential Revision: https://phabricator.services.mozilla.com/D79524
2020-06-15 14:56:50 +00:00
Ted Campbell 6aa5132146 Bug 1645464 - Use a shared ProfilingCategoryList.h r=gerald,froydnj
Replace the duplicate lists in mozglue/baseprofiler/public and js/public with
a shared list. Add this list to both moz.build files so it is published twice
which simplifies supporting different standalone configurations.

Differential Revision: https://phabricator.services.mozilla.com/D79520
2020-06-15 13:59:55 +00:00
Logan Smyth 25d491b792 Bug 1601179 - Enable async stacks but limit captured async stacks to debuggees. r=jorendorff,smaug
The 'asyncStack' flag on JS execution contexts is used as a general switch
to enable async stack capture across all locations in SpiderMonkey, but
this causes problems because it can at times be too much of a performance
burden to general and track all of these stacks.

Since the introduction of this option, we have only enabled it on Nightly
and DevEdition for non-mobile builds, which has left a lot of users unable
to take advantage of this data while debugging.

This patch enables async stack traces across all of Firefox, but introduces
a new pref to toggle the scope of the actual expensive part of async stacks,
which is _capturing_ them and keeping them alive in memory. The new pref
limits the capturing of async stack traces to only debuggees, unless an
explicit pref is flipped to capture async traces for all cases.

This means that while async stacks are technically enabled, and code could
manually capture a stack and pass it back to SpiderMonkey and see that stack
reflected in later captured stacks, SpiderMonkey itself and related async
DOM APIs, among others, will not capture stacks or pass them to SpiderMonkey,
so there should be no general change in performance by enabling the broader
feature itself, unless the user is actively debugging the page.

One effect of this patch is that if you have the debugger open and then close
it, objects that have async stacks associated with them will retain those
stacks and they will continue to show up in stack traces, no _new_ stacks
will be captured. jorendorff and I have decided that this is okay because
the expectation that the debugger fully revert every possible effect that it
could have on a page is a nice goal but not a strict requirement.

Differential Revision: https://phabricator.services.mozilla.com/D68503
2020-06-14 02:41:45 +00:00
Paul Adenot bdfef650d8 Bug 1626918 - Add categories for real-time media tracing. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D78509
2020-06-12 13:13:53 +00:00
Noemi Erli 279f3b6a42 Backed out changeset 550164313c4f (bug 1601179) for causing failures in test_async CLOSED TREE 2020-06-12 08:16:14 +03:00
Logan Smyth 7f4a5aeed0 Bug 1601179 - Enable async stacks but limit captured async stacks to debuggees. r=jorendorff,smaug
The 'asyncStack' flag on JS execution contexts is used as a general switch
to enable async stack capture across all locations in SpiderMonkey, but
this causes problems because it can at times be too much of a performance
burden to general and track all of these stacks.

Since the introduction of this option, we have only enabled it on Nightly
and DevEdition for non-mobile builds, which has left a lot of users unable
to take advantage of this data while debugging.

This patch enables async stack traces across all of Firefox, but introduces
a new pref to toggle the scope of the actual expensive part of async stacks,
which is _capturing_ them and keeping them alive in memory. The new pref
limits the capturing of async stack traces to only debuggees, unless an
explicit pref is flipped to capture async traces for all cases.

This means that while async stacks are technically enabled, and code could
manually capture a stack and pass it back to SpiderMonkey and see that stack
reflected in later captured stacks, SpiderMonkey itself and related async
DOM APIs, among others, will not capture stacks or pass them to SpiderMonkey,
so there should be no general change in performance by enabling the broader
feature itself, unless the user is actively debugging the page.

One affect of this patch is that if you have the debugger open and then close
it, objects that have async stacks associated with them will retain those
stacks and they will continue to show up in stack traces, no _new_ stacks
will be captured. jorendorff and I have decided that this is okay because
the expectation that the debugger fully revert every possible effect that it
could have on a page is a nice goal but not a strict requirement.

Differential Revision: https://phabricator.services.mozilla.com/D68503
2020-06-11 21:24:16 +00:00
Thinker Li 002d9a1c56 Bug 1568923 - String deduplication during tenuring.
This patch bases on the work of krystalyang2 with minor bug fixes.
The patch includes several major parts,

 1. mark nursery strings pointed by tenured strings as
    non-deduplicatable,

 2. deduplicate strings when they are moved to tenured from nursery, and

 3. adjust dependent strings to correct their pointers to the base
    string and external buffer after tenuring.

 4. reorder store buffer processing to trace the string whole cell buffer
    first, since strings traced through the whole cell buffer need to be marked
    non-deduplicatable.

(Part 4 was originally phabricator D77715 but is now merged in here.)

Differential Revision: https://phabricator.services.mozilla.com/D74366
2020-06-11 23:16:53 +00:00
Jon Coppeard 00f99e1d69 Bug 1644258 - Simplify nursery size rounding r=sfink
Previously there was a quirk of nursery size rounding where requesting a nursery size of just less than a chunk resulted in a smaller size than a chunk being used even if one chunk was the nearest valid size.

This was to avoid having a sub-chunk size greater than the amount of usable space in a chunk, but that is not possible anyway as long as the sub-chunk step is greater than the chunk trailer size.

The patch simplifies the rounding code and updates the test code to add a size that will give different results depending on chunk size.  I had to add a gcparam to get the chunk size to make this work.

Differential Revision: https://phabricator.services.mozilla.com/D79148
2020-06-10 15:44:07 +00:00
Andrew McCreight 8eb502fd67 Bug 1643170, part 2 - Report memory for HelperThreads::helperContexts_. r=jandem
This is 41600 bytes of unreported memory in each process.

Differential Revision: https://phabricator.services.mozilla.com/D78813
2020-06-09 09:07:07 +00:00
Ted Campbell b3e185db5d Bug 1644218 - Add blinterp implementation tracking to profiler r=jandem,gerald
Introduce an IS_BLINTERP_FRAME flag to ProfilingStackFrame to distinguish C++
and Baseline interpreter frames. In the profile data this sets the
"implementation" to "blinterp".

Differential Revision: https://phabricator.services.mozilla.com/D78725
2020-06-09 12:27:15 +00:00
Ted Campbell 393ca29b50 Bug 1644218 - Cleanup ProfilingStackFrame flags r=gerald
Round the number of reserved flag bits up to 16. This leaves 16-bits for the
category (so 64k subcategories). Also make the baseprofiler consistent.

Differential Revision: https://phabricator.services.mozilla.com/D78724
2020-06-08 23:46:16 +00:00
Adam Vandolder 23399ff9d2 Bug 1644171 - Add AsyncIterator constructor. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D78703
2020-06-08 20:43:56 +00:00
Ted Campbell e1567ac5ab Bug 1599634 - Move the JS::WasmModule definition to own header r=bbouvier
Also add `JS::WasmModule::createObjectForAsmJS` which is similar to
`createObject` but does not set the WasmModule prototype. Also mark these
methods as const so they work with the `SharedModule` definition.

Differential Revision: https://phabricator.services.mozilla.com/D78088
2020-06-04 15:36:11 +00:00
Yoshi Cheng-Hao Huang d9df44ffe5 Bug 1642154 : Add JSLinearString to MapTypeToTraceKind. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D78063
2020-06-05 19:08:49 +00:00
Adam Vandolder 28738d7480 Bug 1641359 - Add Iterator.from method. r=jorendorff
Implement Iterator.from static method from the Iterator Helpers proposal.
Involves adding a WrapForValidIterator object and prototype that is used
to wrap iterators returned by `Iterator.from`.

Differential Revision: https://phabricator.services.mozilla.com/D77178
2020-06-03 14:18:01 +00:00
Jon Coppeard 58b782e36e Bug 1641517 - Don't expose FinalizationRegistry.prototype.cleanupSome in the browser r=mccr8
This adds an extra pref for whether the cleanupSome method is exposed and renames the existing pref. We can turn on the pref to expose cleanupSome to get test262 coverage in the browser.

Differential Revision: https://phabricator.services.mozilla.com/D77267
2020-06-03 09:19:59 +00:00
Jon Coppeard 1975b4203f Bug 1470369 - Don't collect the nursery every GC slice during sweeping r=sfink
The main problem here is that we sweep weak caches off-thread, and when we finish sweeping a hash table the Enum class' destructor can rehash or resize the table, causing store buffer entries to be added or removed (since the table may now contain nursery pointers).

To address this the patch adds a store buffer lock and establishes that all off-thread store buffer access from inside the GC must take place with this lock held. The changes to GCHashSet/Map are a little gross; perhaps it would be better to add an explicit API to hash tables to allow us to postpone the rehash/resize operations but I haven't done that here.

Other complications are:

The TypeSetRef generic buffer entries can contain pointers into TI data that is moved during sweeping. We therefore do need to collect the nursery if there are any of those present. This was relatively rare in testing.

Finally, swapping objects can result in pointers into dying objects being put in the whole cell store buffer (because we do tricks with skipping barriers when we remap wrappers to not keep otherwise dead wrappers alive). We need to collect the nursery if these are present to prevent them being accessed after the dying objects are finalized.

Differential Revision: https://phabricator.services.mozilla.com/D77831
2020-06-03 08:10:45 +00:00
André Bargull 81db6d47d5 Bug 1635839 - Part 4: Add an option for private class fields, disabled by default r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D74105
2020-06-02 20:58:04 +00:00
André Bargull f0be949c79 Bug 1635839 - Part 1: Add PrivateName Symbol code. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D74102
2020-06-02 20:57:34 +00:00
Csoregi Natalia 66c89e56e0 Backed out 5 changesets (bug 1635839) for failures on not-iterable.js. CLOSED TREE
Backed out changeset a9ccc860736e (bug 1635839)
Backed out changeset 593a8860ad50 (bug 1635839)
Backed out changeset 9cae1becce65 (bug 1635839)
Backed out changeset 0f28dc01529f (bug 1635839)
Backed out changeset e90011b2f167 (bug 1635839)
2020-06-02 17:11:15 +03:00
André Bargull b85b762d0c Bug 1635839 - Part 4: Add an option for private class fields, disabled by default r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D74105
2020-06-02 12:29:59 +00:00
André Bargull 2e3e2805a9 Bug 1635839 - Part 1: Add PrivateName Symbol code. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D74102
2020-06-02 12:29:27 +00:00
Adam Vandolder 17dccaf35d Bug 1640923 - Add Iterator constructor on global object r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D76907
2020-05-29 20:08:08 +00:00
Ted Campbell 80d67f90ac Bug 1430693 - Support runtime canonical NaN Value. r=iain
Some platforms have variable polarity for the IEEE-754 NaN signalling bit.
This patch allows those platforms to compute the appropriate value at
startup. The NaN must still meet the requirements of ValueIsDouble.

Differential Revision: https://phabricator.services.mozilla.com/D76573
2020-05-27 12:30:26 +00:00
Adam Vandolder a7c1394496 Bug 1640188 - Add pref and flag to enable Iterator Helpers in nightly, off by default. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D76542
2020-05-26 14:31:48 +00:00
Gijs Kruitbosch 38b061ef45 Bug 1638373 - remove js/ipc now that CPOWs are dead, r=mccr8
Depends on D76597

Differential Revision: https://phabricator.services.mozilla.com/D76598
2020-05-24 18:47:04 +00:00
Ted Campbell e47629d3e9 Bug 1639898 - Cleanup NaN code for JS::Value. r=iain
- Add more comments
- Add ValueToDouble helper methods
- Assert GenericNaN is compatible
- Fixup the WrappedPtrOperations for JS::Value

Differential Revision: https://phabricator.services.mozilla.com/D76339
2020-05-21 22:23:26 +00:00
André Bargull ed36cb5b9c Bug 1557727 - Part 2: Add Intl.DisplayNames boilerplate. r=jwalden
Adds the standard boilerplate for a new Intl object.

Differential Revision: https://phabricator.services.mozilla.com/D52164
2020-05-19 11:17:48 +00:00
Asumu Takikawa b15a80284e Bug 1623628 - part 1, remove compile-time and run-time flags for BigInt/I64 conversion in Wasm r=wingo,lth
This patch removes the compile-time and run-time flags that disable BigInt/I64 so that the feature can be shipped. It also adjusts/removes tests as appropriate to account for the removed code paths.

Differential Revision: https://phabricator.services.mozilla.com/D74142
2020-05-18 18:30:47 +00:00
alwu 0bccc7a4cf Bug 1612557 - part2 : create a sub-category 'Cubeb'. r=padenot
This patch will do :
- create a sub-category `Cubeb`
- add  `Cubeb` profiling labels in related codes

The advantage of doing so :
- allow us to know the percentage of time respectively we spend on cubeb and non-cubeb codes

More details :
The profiling code would include `<atomic>` which is C++ only, so I can't use the label in `cubeb.c` directly. Instead, I add labels on the `AudioStream` and `AudioCallbackDriver` where we would call cubeb related methods.

Differential Revision: https://phabricator.services.mozilla.com/D74172
2020-05-11 14:08:10 +00:00
alwu 8dda6be6ef Bug 1612557 - part1 : create a profiling category `Media`. r=bryce,gerald
This patch will do :
- create a profiling category `Media`
- add  `Media` profiling labels in related codes

The advantage of doing so :
- allow us to easily see what operations are related to media playback from the profiled report

More details :
According to the description in the `ProfilingCategory.h`, `topmost profiler label frame in the label stack determines the category pair of that stack`. Therefore, most labels I added are the first task would run on the thread, in order to ensure all its following tasks can be marked as the media playback label as well.

Differential Revision: https://phabricator.services.mozilla.com/D74171
2020-05-12 17:35:19 +00:00
Philip Chimento 4109b160c0 Bug 1629293 - Make JS::PrintError take either JSErrorReport or JS::ErrorReportBuilder. r=evilpie
From the existing usage of the function, it seems like it should either
take a JSErrorReport with no toStringResult, or a JS::ErrorReportBuilder
where it can get both the JSErrorReport and the toStringResult.

Differential Revision: https://phabricator.services.mozilla.com/D73523
2020-05-14 04:44:51 +00:00
Philip Chimento 672dc17ff4 Bug 1629293 - Make JS::ErrorReportBuilder::init exclusively support JS::ExceptionStack. r=evilpie,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D73522
2020-05-14 04:44:33 +00:00
Philip Chimento f93330de3e Bug 1629293 - Expose js::ErrorReport in public API. r=evilpie
Renames it to JS::ErrorReportBuilder, since it is used to 'build' a
JSErrorReport object.

Differential Revision: https://phabricator.services.mozilla.com/D73521
2020-05-14 04:44:15 +00:00
Philip Chimento 978079fe6f Bug 1506323 - Add JS::PrintError to public API. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D73519
2020-05-14 04:43:16 +00:00
Narcis Beleuzu a12e8bbd08 Backed out 5 changesets (bug 1505129, bug 1506323, bug 1629293) for bustages on testPrintError.cpp . CLOSED TREE
Backed out changeset ad1ccad76686 (bug 1629293)
Backed out changeset 452e9ab721bd (bug 1629293)
Backed out changeset 72a63e290177 (bug 1629293)
Backed out changeset faeed99f813e (bug 1505129)
Backed out changeset 7bd84a644d2b (bug 1506323)
2020-05-13 21:23:59 +03:00
Philip Chimento 491271880d Bug 1629293 - Make JS::PrintError take either JSErrorReport or JS::ErrorReportBuilder. r=evilpie
From the existing usage of the function, it seems like it should either
take a JSErrorReport with no toStringResult, or a JS::ErrorReportBuilder
where it can get both the JSErrorReport and the toStringResult.

Differential Revision: https://phabricator.services.mozilla.com/D73523
2020-05-13 16:11:48 +00:00
Philip Chimento d6b8de58f7 Bug 1629293 - Make JS::ErrorReportBuilder::init exclusively support JS::ExceptionStack. r=evilpie,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D73522
2020-05-13 16:10:47 +00:00
Philip Chimento 5606c63575 Bug 1629293 - Expose js::ErrorReport in public API. r=evilpie
Renames it to JS::ErrorReportBuilder, since it is used to 'build' a
JSErrorReport object.

Differential Revision: https://phabricator.services.mozilla.com/D73521
2020-05-13 16:10:39 +00:00
Philip Chimento 9209aaccd1 Bug 1506323 - Add JS::PrintError to public API. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D73519
2020-05-13 16:10:25 +00:00
André Bargull 8642ae3db5 Bug 1629796: Replace finalization iterator with multiple callback calls. r=jonco
Implements the spec changes from: https://github.com/tc39/proposal-weakrefs/pull/187

The spec change removes the `FinalizationRegistryCleanupIterator` in favour of
calling the clean-up callback for each finalised value. It also allows to call
`cleanupSome()` within the callback function.

`FinalizationRegistryObject::cleanupQueuedRecords()` has been changed to iterate
from back to front, because this allows us to call `GCVector::popCopy()`, which
makes it more efficient to remove entries from the `records` vector.

Differential Revision: https://phabricator.services.mozilla.com/D70821
2020-05-13 15:25:24 +00:00
Iain Ireland 60686ae2f1 Bug 1636495: Add JS::CheckRegExpSyntax r=evilpie
To make sure that `<input>` elements with `pattern` attributes update their validation state (`:invalid`) properly, nsContentUtils::IsPatternMatching needs to be able to distinguish between parsing errors caused by an invalid pattern, vs parsing errors caused by OOM/overrecursion.

This patch also fixes up the places inside the new regexp engine where we can throw over-recursed to make sure that we set the right flag on the context, then fixes regexp/huge-01.js (and the binast variants) to accept a different error message.

Differential Revision: https://phabricator.services.mozilla.com/D74499
2020-05-13 14:53:18 +00:00
Csoregi Natalia 4314c944e8 Backed out changeset c0c9d8211967 (bug 1629796) for failures on test_finalizationRegistry.html. CLOSED TREE 2020-05-13 16:25:59 +03:00
André Bargull c85192abc1 Bug 1629796: Replace finalization iterator with multiple callback calls. r=jonco
Implements the spec changes from: https://github.com/tc39/proposal-weakrefs/pull/187

The spec change removes the `FinalizationRegistryCleanupIterator` in favour of
calling the clean-up callback for each finalised value. It also allows to call
`cleanupSome()` within the callback function.

`FinalizationRegistryObject::cleanupQueuedRecords()` has been changed to iterate
from back to front, because this allows us to call `GCVector::popCopy()`, which
makes it more efficient to remove entries from the `records` vector.

Differential Revision: https://phabricator.services.mozilla.com/D70821
2020-05-13 11:47:05 +00:00
Denis Palmeiro d1ffff7a12 Bug 1501608 - Remove the ELEMENT_SLOT in the ScriptSourceObject and instead use a callback function to return the script element based on the value of the privateValue in the SSO. r=jonco,smaug
We can reduce the size of the SSO by removing the element slot entirely, and instead retrieve the element through a callback function.  The callback will take in the value in the private slot of the SSO, which is either a LoadedScript* (from the browser) or a JSObject* (from the shell).  In addition, this removes the requirement of having a script dom element ready when parsing a JS script which can open up new opportunities for performance.

Differential Revision: https://phabricator.services.mozilla.com/D70417
2020-05-12 19:28:15 +00:00
Razvan Maries a1b92d521b Backed out 3 changesets (bug 1636495) for SM bustages at huge-01.binjs. CLOSED TREE
Backed out changeset 5be0a4315674 (bug 1636495)
Backed out changeset 7ac33283a786 (bug 1636495)
Backed out changeset 4b98c08423c9 (bug 1636495)
2020-05-12 20:19:37 +03:00
Iain Ireland 5a55340325 Bug 1636495: Add JS::CheckRegExpSyntax r=evilpie
To make sure that `<input>` elements with `pattern` attributes update their validation state (`:invalid`) properly, nsContentUtils::IsPatternMatching needs to be able to distinguish between parsing errors caused by an invalid pattern, vs parsing errors caused by OOM/overrecursion.

This patch also fixes up the places inside the new regexp engine where we can throw over-recursed to make sure that we set the right flag on the context, then fixes regexp/huge-01.js (and the binast variants) to accept a different error message.

Differential Revision: https://phabricator.services.mozilla.com/D74499
2020-05-12 14:08:40 +00:00
Ted Campbell f825a73afa Bug 1637283 - Use SFINAE to prevent Cell::is<JSFunction>() and friends. r=jonco
Introduce JS::IsBaseTraceType to check if a type is the canonical type
associated with a TraceKind. Use this with SFINAE to make footguns turn into
compile errors.

Differential Revision: https://phabricator.services.mozilla.com/D74869
2020-05-12 16:10:41 +00:00
Sebastian Hengst 211cd02676 Backed out 3 changesets (bug 1636495) for crashes when e.g. a url gets pasted into Slack (bug 1637243). a=backout
Backed out changeset 4cbaef432cb8 (bug 1636495)
Backed out changeset 87f9a3035dd8 (bug 1636495)
Backed out changeset cb0d2a799a63 (bug 1636495)
2020-05-12 16:01:28 +02:00
Iain Ireland 560559ea48 Bug 1636495: Add JS::CheckRegExpSyntax r=evilpie
To make sure that `<input>` elements with `pattern` attributes update their validation state (`:invalid`) properly, nsContentUtils::IsPatternMatching needs to be able to distinguish between parsing errors caused by an invalid pattern, vs parsing errors caused by OOM/overrecursion.

This patch also fixes up the places inside the new regexp engine where we can throw over-recursed to make sure that we set the right flag on the context, then fixes regexp/huge-01.js (and the binast variants) to accept a different error message.

Differential Revision: https://phabricator.services.mozilla.com/D74499
2020-05-11 17:46:17 +00:00
Logan Smyth 208709890a Bug 1628853 - Expose a feature flag to enable/disable //# sourceXX= parsing. r=arai
These pragmas can be used to influence stack trace filenames, and to affect
how and where files show up in developer tools. In some circumstances, it can
be nice to disable allof that functionality in order to ensure that you get
the stack trace and debug information as SpiderMonkey sees it.

Differential Revision: https://phabricator.services.mozilla.com/D72103
2020-05-08 00:37:21 +00:00
Jeff Walden 75b3b72bb9 Bug 1633598 - Add JSAPI to create an ArrayBuffer with contents and length copied from an existing one. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72909
2020-05-07 23:46:22 +00:00
Razvan Maries 76e77d8f44 Backed out 3 changesets (bug 1633598) for build bustages. CLOSED TREE
Backed out changeset a2abc7629ec4 (bug 1633598)
Backed out changeset 78ae14106ac7 (bug 1633598)
Backed out changeset 414d909e053a (bug 1633598)
2020-05-08 00:17:47 +03:00
Jeff Walden 1f518b92e4 Bug 1633598 - Add JSAPI to create an ArrayBuffer with contents and length copied from an existing one. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72909
2020-05-07 20:52:47 +00:00
Razvan Maries da863180d7 Backed out 3 changesets (bug 1633598) for build bustages at ArrayBufferObject.cpp. CLOSED TREE
Backed out changeset db1e6c4924ef (bug 1633598)
Backed out changeset c5804fffaf32 (bug 1633598)
Backed out changeset f2dc493d99fb (bug 1633598)
2020-05-07 23:41:05 +03:00
Jeff Walden fe2c9a3afd Bug 1633598 - Add JSAPI to create an ArrayBuffer with contents and length copied from an existing one. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72909
2020-05-07 20:17:19 +00:00
Andreea Pavel b8809d1e54 Backed out 3 changesets (bug 1633598) for build bustages at ArrayBufferObject.cpp on a CLOSED TREE
Backed out changeset 77e7a549cf97 (bug 1633598)
Backed out changeset a662b2c07b3a (bug 1633598)
Backed out changeset 7fe73b300a5e (bug 1633598)
2020-05-07 22:53:26 +03:00
Jeff Walden 8829466b7a Bug 1633598 - Add JSAPI to create an ArrayBuffer with contents and length copied from an existing one. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72909
2020-05-07 19:29:29 +00:00
Jon Coppeard ca55853f66 Bug 1635692 - Invert JSString::NON_ATOM_BIT so it's now ATOM_BIT r=jandem
We shouldn't need to store this inverted any more.

Differential Revision: https://phabricator.services.mozilla.com/D74024
2020-05-06 17:33:12 +00:00
Jon Coppeard bfd0032546 Bug 1635692 - Move JSString::NON_ATOM_BIT so that it doesn't use one of the bits reserved for the GC r=jandem
It looks like we can use bit 3 for this instead.

Differential Revision: https://phabricator.services.mozilla.com/D74023
2020-05-06 17:33:12 +00:00
Steve Fink 3b17c8c75a Bug 1633176 - re-land incremental weakmap marking
Differential Revision: https://phabricator.services.mozilla.com/D74079
2020-05-06 16:38:33 +00:00
Jon Coppeard c4c65f1eaf Bug 1635087 - Add accessors to get get the zone from a possibly-nursery-allocated cell r=sfink
This also adds nurseryZone() for when the cell is known to be allocated in the nursery.

Differential Revision: https://phabricator.services.mozilla.com/D73865
2020-05-06 07:55:19 +00:00
Ted Campbell 7b6639a92d Bug 1635109 - Cleanup CompileOptions constructors. r=caroline
Remove (unused) ability to clone TransitiveCompileOptions& since we now
expect these options to no long vary within a compilation. The only cloning
of CompileOptions should be of the complete ReadOnlyCompileOptions set in
order to make adjustments before the compile starts.

Depends on D73694

Differential Revision: https://phabricator.services.mozilla.com/D73695
2020-05-05 17:01:50 +00:00
Ted Campbell 3f21ee5757 Bug 1635109 - Move more options to TransitiveCompileOptions. r=caroline
The nonSyntacticScope and skipFilenameValidation options do not vary
throughout compilation so they should be TransitiveCompileOptions.

Differential Revision: https://phabricator.services.mozilla.com/D73694
2020-05-05 17:58:09 +00:00
Lars T Hansen 414fee387b Bug 1478632 - wasm simd, part 1: feature gating and related prep. r=rhunt
We add a configuration option for SIMD and apply ENABLE_WASM_SIMD
throughout the engine as appropriate, mostly to insert #error or
MOZ_CRASH where things need to be done in later patches or for
architectures that we won't currently consider.

We add a command line switch for the shell and an option for
about:config and plumb the value of this through the engine.

Differential Revision: https://phabricator.services.mozilla.com/D57940
2020-05-05 08:17:47 +00:00
Jon Coppeard 4c9a0dab80 Bug 1634459 - Simplify the wrapper used for rooting non-GC thing types r=jandem
Previously this stored a function pointer to do the tracing along with the rooted thing. The patch changes this to use a virtual method for the tracing. Calling the method on the base class means we don't need to do address arithmetic to find wher the trace function is stored and we don't need the alignment restrictions, because the virtual trace method knows the layout of its class.

I had to add a traits class, mainly to get the address of the rooted thing inside the wrapper since we need to be able to get the address of the wrapper itself now for tracing.

The wrapper class is renamed from DispatchWrapper to RootedTraceable.

Differential Revision: https://phabricator.services.mozilla.com/D73421
2020-05-04 16:53:56 +00:00
Jon Coppeard fd4b8f30fb Bug 1634435 - Remove parser auto rooters r=sfink
Since the parsers have a virtual trace method already we can handle these by making them CustomAutoRooters and get rid of the special kinds.

Differential Revision: https://phabricator.services.mozilla.com/D73297
2020-05-04 16:53:56 +00:00
Jon Coppeard f76ace3dcd Bug 1634435 - Rename AutoValueArray to RootedValueArray everywhere for consistency with other rooted things r=jandem,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D73295
2020-05-04 16:50:59 +00:00
Jon Coppeard 7699bb2b02 Bug 1634435 - Replace AutoValueArray and AutoArrayRooter implementations with Rooted<> r=jandem
We can make these kinds use the existing Rooted infrastructure.

Differential Revision: https://phabricator.services.mozilla.com/D73293
2020-05-04 16:49:59 +00:00
Dorel Luca 159241fe4b Backed out changeset 4107b758e7ae (bug 1501608) as requested by dev 2020-05-02 15:03:19 +03:00
Steve Fink 685bd6c5b0 Backed out incremental weakmap marking (bug 1167452 and bug 1633176) to postpone until after Fx77
Differential Revision: https://phabricator.services.mozilla.com/D73394
2020-05-01 00:53:15 +00:00
Tom Schuster 16e34d88a9 Bug 1633145 - Replace NON_INTEGER_ATOM_TO_JSID. r=jandem
This also allows us to remove JSID_FROM_BITS and gives us stronger assertions everywhere for the whack integer-string case.

Differential Revision: https://phabricator.services.mozilla.com/D72564
2020-04-30 18:18:35 +00:00
Tom Schuster bd161088e3 Bug 1633145 - Replace INTERNED_STRING_TO_JSID. r=jandem
I am honstely still not convinced that this function should actually exists.
It seems like a convulted way of saying AtomToId, while also asserting that the atom is pinned.

Differential Revision: https://phabricator.services.mozilla.com/D72563
2020-04-30 18:18:12 +00:00
Denis Palmeiro 792169d380 Bug 1501608 - Remove the ELEMENT_SLOT in the ScriptSourceObject and instead use a callback function to return the script element based on the value of the privateValue in the SSO. r=jonco,smaug
We can reduce the size of the SSO by removing the element slot entirely, and instead retrieve the element through a callback function.  The callback will take in the value in the private slot of the SSO, which is either a LoadedScript* (from the browser) or a JSObject* (from the shell).  In addition, this removes the requirement of having a script dom element ready when parsing a JS script which can open up new opportunities for performance.

Differential Revision: https://phabricator.services.mozilla.com/D70417
2020-04-30 16:21:23 +00:00
Benjamin Bouvier 675cdfa277 Bug 1618595: Disable Cranelift on aarch64 when reftypes are enabled; r=lth,perftest-reviewers,sparky
This requires adding a new JSOptions field (for internal use within the shell),
as well as a new browser pref (to support possible Cranelift benchmarking on
aarch64).

Differential Revision: https://phabricator.services.mozilla.com/D72907
2020-04-30 11:55:13 +00:00
Jon Coppeard 72eac88fe9 Bug 1633752 - Calculate non-incremental threshold based on heap size and increase it for smaller heaps r=sfink
This adds a splits the non-incremental threshold parameter into one for small heaps and one for large.  What counts as large and small are controlled by the existing parameters that were previously used for dynamic heap growth.  I also renamed the parameter from "non-incremental threshold" to "incremental limit".

The small heap parameter is increased to 1.4.  This avoids non-incremental GC on facebook and reddit as reported in the dependent bugs and allows us to remove the splay latency hack that was previously necessary.

Differential Revision: https://phabricator.services.mozilla.com/D72903
2020-04-29 07:45:19 +00:00
Jon Coppeard d92a182d73 Bug 1633457 - Rename some GC parameters for clarity r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D73012
2020-04-29 21:54:22 +00:00
Jon Coppeard 24c9e5618f Bug 1626322 - Add an API to get the zone of a possibly-nursery allocated GC thing and use it in CheckZoneTracer r=sfink,mccr8
Previously CheckZoneTracer didn't take account of the fact that BigInts can be nursery allocated.

Differential Revision: https://phabricator.services.mozilla.com/D72891
2020-04-28 22:26:59 +00:00
Jon Coppeard 3f616ab772 Bug 1633405 - Remove dynamic GC options that are enabled everywhere r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72696
2020-04-28 07:59:47 +00:00
Noemi Erli ccaad0ebc4 Backed out changeset 1fc50aa5c6bc (bug 1633405) for causing bustages in bigint.js CLOSED TREE 2020-04-28 13:49:51 +03:00
Jon Coppeard 896414dfa7 Bug 1633405 - Remove dynamic GC options that are enabled everywhere r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72696
2020-04-28 07:59:47 +00:00
Jon Coppeard 4f7be62fe4 Bug 1632846 - Refactor auto rooter tracing so we can more easily convert these to use Rooted<> instead r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72595
2020-04-28 07:58:56 +00:00
Jon Coppeard 87d409b266 Bug 1632846 - Split auto rooter list into separate lists for each kind so we can only trace the onse we care about r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72594
2020-04-28 07:58:18 +00:00
André Bargull ccbf88b7b0 Bug 1626587 - Part 4: Remove mozilla::IsPod for HashMapEntry. r=jwalden
The `mozilla::IsPod<HashMapEntry` specialisation was only needed for the static
assertions in "js/src/frontend/NameCollections.h". Part 3 removed those, so we
can now also remove `mozilla::IsPod<HashMapEntry`.

Drive-by change:
- Remove no longer needed "mozilla/PodOperations.h" include in mfbt/HashTable.h.
- And then fix up previously transitively included files for RootingAPI.h,
  jsfriendapi.h, and Bench.cpp.

Differential Revision: https://phabricator.services.mozilla.com/D69201
2020-04-27 12:00:48 +00:00
Tom Schuster b3744b6ba2 Bug 1633207 - JSPropertySpec support for doubles. r=arai
Depends on D72540

Differential Revision: https://phabricator.services.mozilla.com/D72542
2020-04-26 18:16:55 +00:00
Tom Schuster f1e35cb3f7 Bug 1633145 - Add JS::PropertyKey::toGCCellPtr. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D72540
2020-04-26 17:02:30 +00:00
Tom Schuster f420e22143 Bug 1633145 - Replace JSID_IS_GCTHING. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D72538
2020-04-26 17:03:01 +00:00
Tom Schuster 037471de0d Bug 1633145 - Add PropertyKey::isWellKnownSymbol. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D72537
2020-04-26 17:01:57 +00:00
Tom Schuster d30d4f7476 Bug 1633145 - Add more methods to JS::PropertyKey. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D72536
2020-04-26 17:01:39 +00:00
Tom Schuster 708481e981 Bug 1633145 - Hide internal flags in JSPropertySpec. r=arai
Consumers should not have to care about JSPROP_INTERNAL_USE_BIT.

Differential Revision: https://phabricator.services.mozilla.com/D72528
2020-04-25 14:06:40 +00:00
Jon Coppeard 7f322416a3 Bug 1631512 - Trigger a slice to continue the GC as soon as background sweeping finishes r=sfink
The idea here is to set a flag whenever GC yeilds to the mutator while waiting for a background task (either sweeping or decommiting). Then when the task completes we check the flag and request a GC slice if it's set.

Differential Revision: https://phabricator.services.mozilla.com/D71770
2020-04-23 07:51:19 +00:00
Jon Coppeard 7c6bb08a84 Bug 1631114 - Make Handle<Maybe<Value>> easier to use r=jandem
This adds WrappedPtrOperations and MutableWrappedPtrOperations specialisations for Maybe<T> to all basic Maybe operations to used on Rooted<Maybe<T>>, Handle<Maybe<T>>, etc.  I didn't add all of them; in particular I found ptr() would conflict with the Rooted::ptr data member.

This also adds JS::NothingHandleValue for passing Nothing to a Handle<Maybe<Value>>.

Differential Revision: https://phabricator.services.mozilla.com/D71555
2020-04-21 06:10:42 +00:00
Jon Coppeard a7194d3716 Bug 1425450 - Only trace JS holders in collecting zones r=mccr8
Now that we have some per-zone vectors we can skip tracing those for zones that are not being collected.

Differential Revision: https://phabricator.services.mozilla.com/D68523
2020-04-20 17:08:54 +00:00
Iain Ireland e69b1577e3 Bug 1630383: Store Value inside Object as raw bits r=tcampbell
The natural way to represent v8::Object is as a thin wrapper around a JS::Value. However, Value is MOZ_NON_PARAM and alignas(8), and irregexp uses objects as parameters. There are two plausible solutions: stop marking Value as MOZ_NON_PARAM, or stop storing a Value inside Object. I wrote a set of patches to do the former, but nbp pointed out in the bug I created that "the intent of alignas(8) was to ensure that 'doubles' are well aligned when loaded/stored as floating points values."

If we want to keep the annotations on Value, then we have to change Object instead. I tried rewriting it to store raw bits, and the patches seem alright, so I'm going with that unless somebody has a good reason not to.

Differential Revision: https://phabricator.services.mozilla.com/D71361
2020-04-17 17:52:57 +00:00
Markus Stange ddece4ba4f Bug 1630895 - Infer categories for Java frames. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D71383
2020-04-17 23:30:10 +00:00
Jon Coppeard b1f2f8e77a Bug 1630961 - Remove unused heurisitic to delaying GCs that may cause resets r=sfink
A while back we added a heuristic to delay a GC if it would cause a reset (bug 1367455), but it was turned off after it caused a performance regression and hasn't been reenabled since.

Telemetry shows that that only 0.2% of GCs get reset anyway so we should probably just remove this.

Depends on D71328

Differential Revision: https://phabricator.services.mozilla.com/D71329
2020-04-17 17:41:53 +00:00
Jon Coppeard 945c8c9758 Bug 1630961 - Remove INCREMENTAL_TOO_SLOW GC trigger as this case is also handled elsewhere r=sfink
This is checkd in the allocator on every allocation, but we also check this when we allocate a new arena in maybeAllocTriggerZoneGC. It's possible that this one will hit first if background sweeping reduces the heap threshold after the last arena was allocated, but this doesn't really make any difference.

Differential Revision: https://phabricator.services.mozilla.com/D71328
2020-04-17 17:32:00 +00:00
Yoshi Cheng-Hao Huang e68b3996b2 Bug 1628201: HelperThreadTaskHandler should use UniquePtr for mOffThreadTask. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D70155
2020-04-16 10:57:02 +00:00
Jeff Walden 1f028b4735 Bug 1624266 - Allow the SharedArrayBuffer global constructor property to be optionally omitted from a new global object. r=arai,baku
Differential Revision: https://phabricator.services.mozilla.com/D70990
2020-04-17 08:20:45 +00:00
Jon Coppeard 533b57acda Bug 1591276 - Track memory used by malloced buffers associated with nursery cells r=sfink
This tracks the total memory used by the nursery's malloced buffers set and trigers a minor GC if it passes some limit. The limit is somewhat arbirarily defined as eight times the nursery capactity - this only fires rarely in normal use but is enough to prevent runaway memory growth in this case.

Depends on D71041

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

--HG--
extra : moz-landing-system : lando
2020-04-15 17:23:23 +00:00
Jon Coppeard 96b176d4f6 Bug 1455563 - Remove some dead code from the GC r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D70920

--HG--
extra : moz-landing-system : lando
2020-04-14 21:02:43 +00:00
Steve Fink 744c7084c2 Bug 1167452 - Add a pref to control incremental weakmap marking r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D64824

--HG--
extra : moz-landing-system : lando
2020-04-15 04:30:30 +00:00
Jeff Walden 5f081085e8 Bug 949220 - Make |NewProxyObject| return only non-singletons, and add |NewSingletonProxyObject| for the singleton case. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D70502

--HG--
extra : moz-landing-system : lando
2020-04-14 16:57:15 +00:00
Bogdan Tara 669bffcf00 Backed out 30 changesets (bug 949220) for assertion failure on JSObject.cpp CLOSED TREE
Backed out changeset b077b434866d (bug 949220)
Backed out changeset 437dc6f1a0b1 (bug 949220)
Backed out changeset 9043d3f4ea6f (bug 949220)
Backed out changeset 761005340836 (bug 949220)
Backed out changeset 650ccbbc2e15 (bug 949220)
Backed out changeset b7459076dbf5 (bug 949220)
Backed out changeset e1ac27ee38e2 (bug 949220)
Backed out changeset 5c07df930240 (bug 949220)
Backed out changeset 42312dec52aa (bug 949220)
Backed out changeset ca28434cf70f (bug 949220)
Backed out changeset c8322158294f (bug 949220)
Backed out changeset 817de77f7cf1 (bug 949220)
Backed out changeset 097d29b3ed26 (bug 949220)
Backed out changeset a2a3821dcc6e (bug 949220)
Backed out changeset cf4659d06791 (bug 949220)
Backed out changeset 53c4c74abb23 (bug 949220)
Backed out changeset a4a124e8f193 (bug 949220)
Backed out changeset 53a89cfb8c24 (bug 949220)
Backed out changeset 69e8d2e49ee1 (bug 949220)
Backed out changeset afb91f3ce31e (bug 949220)
Backed out changeset 43ff0c2fc3dc (bug 949220)
Backed out changeset eda9a8e621b3 (bug 949220)
Backed out changeset 93b33661e87b (bug 949220)
Backed out changeset ddf62ab9e8cc (bug 949220)
Backed out changeset 62fff9f3a631 (bug 949220)
Backed out changeset 45e22642cd49 (bug 949220)
Backed out changeset 54f48761a664 (bug 949220)
Backed out changeset c0d4d9557fac (bug 949220)
Backed out changeset 98ac0d0d392c (bug 949220)
Backed out changeset 2d677ae71924 (bug 949220)
2020-04-14 13:17:51 +03:00
Jon Coppeard a9cd50a889 Bug 1628751 - Replace use of standard library traits classes by the _v or _t versions r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D70405

--HG--
extra : moz-landing-system : lando
2020-04-14 09:05:55 +00:00
Jeff Walden 17320991d7 Bug 949220 - Make |NewProxyObject| return only non-singletons, and add |NewSingletonProxyObject| for the singleton case. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D70502

--HG--
extra : moz-landing-system : lando
2020-04-14 08:37:31 +00:00
Razvan Maries 40bca43abb Backed out changeset ad3f58c996e5 (bug 1628201) for build bustages. CLOSED TREE 2020-04-10 17:31:01 +03:00
Yoshi Cheng-Hao Huang de3073b323 Bug 1628201: HelperThreadTaskHandler should use UniquePtr for mOffThreadTask. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D70155

--HG--
extra : moz-landing-system : lando
2020-04-10 12:52:35 +00:00
Mihai Alexandru Michis 5fe59763c4 Backed out changeset 152d46945b27 (bug 1628201) for causing bustages regarding UniquePtr.
CLOSED TREE

--HG--
extra : histedit_source : ddf57bae286966a214cc11f360a125bf81d5ecdd
2020-04-09 20:54:53 +03:00
Yoshi Cheng-Hao Huang a76b58aebf Bug 1628201: HelperThreadTaskHandler should use UniquePtr for mOffThreadTask. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D70155

--HG--
extra : moz-landing-system : lando
2020-04-08 19:38:32 +00:00
Tom Schuster 763682c095 Bug 1626100 - Replace SetPendingExceptionAndStack with a ExceptionStack version. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D69667

--HG--
extra : moz-landing-system : lando
2020-04-09 12:35:59 +00:00
Tom Schuster fae4303276 Bug 1626100 - Introduce an ExceptionStack class and StealPendingExceptionStack. r=sfink,mccr8
See also the bug for a more detailed description.

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

--HG--
extra : moz-landing-system : lando
2020-04-09 12:35:29 +00:00
Jon Coppeard 11b739d096 Bug 1628389 - Replace standard library traits classes with _v and _t versions in the GC r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D70224

--HG--
extra : moz-landing-system : lando
2020-04-09 09:49:24 +00:00
Tom Tung 9ddae1a89d Bug 1586761 - P6 - Check CrossOriginIsolated for ReduceTimePrecisionAsUSecsWrapper; r=tjr,luke
Differential Revision: https://phabricator.services.mozilla.com/D64324

--HG--
extra : moz-landing-system : lando
2020-03-25 14:01:07 +00:00
Bogdan Tara eddea671e7 Backed out 6 changesets (bug 1425450) for hazard failure complaining about nsWrapperCacheInlines CLOSED TREE
Backed out changeset c57ac2e125e8 (bug 1425450)
Backed out changeset 4238c59af7bb (bug 1425450)
Backed out changeset 2a00272e72ba (bug 1425450)
Backed out changeset 3e4a52d596bb (bug 1425450)
Backed out changeset 5da68de67491 (bug 1425450)
Backed out changeset efac091a3ba4 (bug 1425450)
2020-04-06 21:22:51 +03:00
Jon Coppeard 2c04e31b6c Bug 1425450 - Only trace JS holders in collecting zones r=mccr8
Now that we have some per-zone vectors we can skip tracing those for zones that are not being collected.

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

--HG--
extra : moz-landing-system : lando
2020-04-06 16:14:25 +00:00
Jeff Walden 0d71e9c342 Bug 1626105 - Rename |JS::CompileModuleDontInflate| to just plain |JS::CompileModule|. (There is no non-inflating version remove at the same time.) r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D68912

--HG--
extra : moz-landing-system : lando
2020-03-31 01:33:03 +00:00
Jeff Walden a655b1ae65 Bug 1626105 - Convert |JS::Evaluate| to |JS::EvaluateDontInflate| semantics, and remove |JS::EvaluateDontInflate|. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D68911

--HG--
extra : moz-landing-system : lando
2020-03-31 01:32:46 +00:00
Jeff Walden 5e8dc639fe Bug 1626105 - Convert |JS::EvaluateUtf8Path| to |JS::EvaluateUtf8PathDontInflate| semantics, and remove |JS::EvaluateUtf8PathDontInflate|. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D68910

--HG--
extra : moz-landing-system : lando
2020-03-31 01:31:11 +00:00
Jeff Walden 1416a9aaa0 Bug 1626105 - Convert |JS::CompileForNonSyntacticScope| to |JS::CompileForNonSyntacticScopeDontInflate| semantics, and remove |JS::CompileForNonSyntacticScopeDontInflate|. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D68908

--HG--
extra : moz-landing-system : lando
2020-03-31 01:30:48 +00:00
Jeff Walden e9cfd601ed Bug 1626105 - Convert |JS::CompileUtf8File| to |JS::CompileUtf8FileDontInflate| semantics, and remove |JS::CompileUtf8FileDontInflate|. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D68907

--HG--
extra : moz-landing-system : lando
2020-03-31 01:30:10 +00:00
Jeff Walden 09f6e55061 Bug 1626105 - Convert |JS::CompileUtf8Path| to |JS::CompileUtf8PathDontInflate| semantics, and remove |JS::CompileUtf8PathDontInflate|. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D68906

--HG--
extra : moz-landing-system : lando
2020-03-31 01:30:08 +00:00
Jeff Walden 6a774342a0 Bug 1626105 - Convert |JS::Compile| for UTF-8 to |JS::CompileDontInflate| semantics, and remove |JS::CompileDontInflate|. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D68905

--HG--
extra : moz-landing-system : lando
2020-03-31 01:30:05 +00:00
André Bargull 2712714d84 Bug 1625138 - Part 35: Replace mozilla::TrueType with std::true_type. r=froydnj,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D68554

--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:20 +00:00
André Bargull f8eb4c162e Bug 1625138 - Part 34: Replace mozilla::FalseType with std::false_type. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D68553

--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:20 +00:00
Jon Coppeard 2f9c8e4107 Bug 1624937 - Align JSClass to 8 byte to satisfy GC cell requirements r=jandem
This defines a constant for the number of reserved bits in a public header and does some tidying up.

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

--HG--
extra : moz-landing-system : lando
2020-03-26 11:01:07 +00:00
Tom Schuster 366a89593e Bug 1622562 - Remove flags from JSErrorReport. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D67143

--HG--
extra : moz-landing-system : lando
2020-03-23 07:08:48 +00:00
Iain Ireland 3a941d2bba Bug 1361856: Use SM RegExpFlags inside irregexp r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D66845

--HG--
extra : moz-landing-system : lando
2020-03-21 14:21:04 +00:00
Iain Ireland 96d7636dcb Bug 1361856: Add dotAll to RegExpFlags r=jwalden
This patch adds the boilerplate necessary to support a new regexp flag. Externally visible changes (parsing the flag, the dotAll property on the prototype) are guarded behind ENABLE_NEW_REGEXP. Note: RegExpFlagsGetter turns out to be externally visible because it can be called on a non-regexp object with the dotAll property defined.

The actual implementation of dotAll comes for free with the fresh import of irregexp (bug 1367105).

There are two tests (tests/non262/RegExp/prototype.js and tests/non262/RegExp/flags.js) that need to be updated when this is turned on to add s/dotAll to the list of expected properties on the RegExp prototype. I will attach those changes to my patch that flips ENABLE_NEW_REGEXP to be on by default.

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

--HG--
extra : moz-landing-system : lando
2020-03-21 14:21:04 +00:00
Tom Schuster 294e9caaac Bug 1622562 - Remove JSREPORT_IS_WARNING from js/src. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D67028

--HG--
extra : moz-landing-system : lando
2020-03-21 20:14:11 +00:00
André Bargull c2dc594012 Bug 1623957 - Part 17: Remove stray includes for "mfbt/TypeTraits.h". r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D67665

--HG--
extra : moz-landing-system : lando
2020-03-21 15:08:53 +00:00
André Bargull d4d0c69e4d Bug 1623957 - Part 15: Replace mozilla::RemoveReference with std::remove_reference. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D67663

--HG--
extra : moz-landing-system : lando
2020-03-21 14:28:59 +00:00
André Bargull 43443a9706 Bug 1623957 - Part 14: Replace mozilla::IsPointer with std::is_pointer. r=jwalden
Also reenable the `static_assert` which was disabled for some reason in
bug 1308236. (Bug 1308236 doesn't contain any information why this assertion
had to be disabled.)

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

--HG--
extra : moz-landing-system : lando
2020-03-21 14:27:24 +00:00
André Bargull 6204f0b10c Bug 1623957 - Part 13: Replace mozilla::IsSigned with std::is_signed. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D67661

--HG--
extra : moz-landing-system : lando
2020-03-21 14:27:11 +00:00
André Bargull 24f145cd1e Bug 1623957 - Part 12: Replace mozilla::MakeUnsigned with std::make_unsigned. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D67660

--HG--
extra : moz-landing-system : lando
2020-03-21 14:25:36 +00:00
André Bargull 94fe0cb565 Bug 1623957 - Part 10: Replace mozilla::Conditional with std::conditional. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D67658

--HG--
extra : moz-landing-system : lando
2020-03-21 14:25:21 +00:00
André Bargull 6a0bbf6484 Bug 1623957 - Part 8: Replace mozilla::IsUnsigned with std::is_unsigned. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D67656

--HG--
extra : moz-landing-system : lando
2020-03-21 14:22:23 +00:00
André Bargull 3f258924fb Bug 1623957 - Part 7: Replace mozilla::EnableIf with std::enable_if. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D67655

--HG--
extra : moz-landing-system : lando
2020-03-21 14:41:09 +00:00
André Bargull a582a6c75f Bug 1623957 - Part 6: Replace mozilla::IsConvertible with std::is_convertible. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D67653

--HG--
extra : moz-landing-system : lando
2020-03-21 14:20:17 +00:00
André Bargull d3e5d8544e Bug 1623957 - Part 1: Replace mozilla::IsSame with std::is_same. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D67648

--HG--
extra : moz-landing-system : lando
2020-03-21 15:08:24 +00:00
Mihai Alexandru Michis 663a7c992e Backed out 2 changesets (bug 1361856) for causing sm failures in RegExp/flags.js
CLOSED TREE

Backed out changeset 597e083be9d4 (bug 1361856)
Backed out changeset 8a017673c25b (bug 1361856)
2020-03-20 21:01:51 +02:00
Mihai Alexandru Michis 13d1400778 Backed out 4 changesets (bug 1622562) for causing wpt failures.
CLOSED TREE

Backed out changeset 1ab69d63949b (bug 1622562)
Backed out changeset a5c299f23df7 (bug 1622562)
Backed out changeset 233b80b283fb (bug 1622562)
Backed out changeset e76f213e7f04 (bug 1622562)

--HG--
extra : rebase_source : 3765e25897f0d8f95a7304e11713bf5aed8f5b83
2020-03-20 20:56:58 +02:00