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

71690 Коммитов

Автор SHA1 Сообщение Дата
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
Jon Coppeard 1ba8863d56 Bug 1555009 - Use SystemAllocPolicy rather than ZoneAllocPolicy for module's function declaration vector since modules can move between zones r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D32866
2019-05-28 19:09:29 +01:00
Daniel Varga af42676c4a Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-05-23 18:59:21 +03:00
Daniel Varga 4cbc287f63 Merge mozilla-inbound to mozilla-central. a=merge 2019-05-23 18:54:21 +03:00
Jan de Mooij eaf82d1a04 Bug 1552470 part 6 - Remove TypeScript::MonitorBytecodeType overload that doesn't take script/pc. r=tcampbell
This method was a bit of a footgun because cx->currentScript is quite slow.
It seems better to make this very explicit in the callers.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 07:11:38 +00:00
Jan de Mooij 9df773da2b Bug 1552470 part 5 - Rename remaining js::TypeMonitorResult overload to TypeScript::MonitorBytecodeTypeSlow. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31610

--HG--
extra : moz-landing-system : lando
2019-05-23 07:11:19 +00:00
Jan de Mooij e3ed48132f Bug 1552470 part 4 - Fold some js::TypeMonitorResult overloads into TypeScript::MonitorBytecodeType. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31609

--HG--
extra : moz-landing-system : lando
2019-05-23 07:11:07 +00:00
Jan de Mooij 1c7a3e3327 Bug 1552470 part 3 - Assert we have a JOF_TYPESET op in TypeMonitorResult. r=tcampbell
The "stubs used in compound opcodes" comment is obsolete (refered to some old
opcodes and JaegerMonkey).

This caught one problem, the interpreter called this for JSOP_RESUME.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 07:10:47 +00:00
Jan de Mooij 2b79df85ac Bug 1552470 part 2 - Rename some TypeScript methods. r=tcampbell
SetThis -> MonitorThisType
SetArgument -> MonitorArgType
Monitor -> MonitorBytecodeType

This is consistent with the thisTypes/argTypes/bytecodeTypes accessors and will
avoid confusion when we rename TypeScript to JitScript.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 07:10:17 +00:00
Jan de Mooij 3a3b3c836a Bug 1552470 part 1 - Make ThisTypes/ArgTypes/BytecodeTypes non-static methods. r=tcampbell
It makes the code a bit more natural.

The patch also changes these methods to take an AutoSweepTypeScript. This is more
correct and safe than what we did, because these methods return the TypeSet.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 07:09:42 +00:00
Jan de Mooij d733874de6 Bug 1551796 part 4 - Remove unnecessary hasJitScript() checks in BaselineInspector. r=tcampbell
These have been unnecessary since the ICScript introduction: when performing the
arguments analysis we have a JitScript but not a BaselineScript.

Depends on D32103

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

--HG--
extra : moz-landing-system : lando
2019-05-23 10:46:27 +00:00
Jan de Mooij 932197282d Bug 1551796 part 3 - Merge ICScript into JitScript. r=tcampbell
ICScript and JitScript had the same lifetime already, but this eliminates
a malloc/free and some extra dereferences (especially for accessing ICEntries
from Baseline Interpreter code).

This is just the minimal set of changes to make it easier to review. Follow-up
changes should:

* Move (now) JitScript methods to JitScript.cpp

* Merge FillBytecodeTypeMap with JitScript::initICEntries so we do just a single
  bytecode walk.

* Move JitScript from the js namespace to js::jit.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 07:55:15 +00:00
Jan de Mooij ed52e99739 Bug 1551796 part 2 - Move JitScript from vm/TypeInference.* to jit/JitScript.*. r=tcampbell
Some of the TypeInference-related static methods were kept in TypeInference-inl.h and
TypeInference.cpp because of various dependencies. Also, methods like JitScript::MonitorAssign
probably don't belong on JitScript anyway, but for now this seems reasonable.

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

--HG--
rename : js/src/vm/TypeInference-inl.h => js/src/jit/JitScript-inl.h
rename : js/src/vm/TypeInference.cpp => js/src/jit/JitScript.cpp
rename : js/src/vm/TypeInference.h => js/src/jit/JitScript.h
extra : moz-landing-system : lando
2019-05-22 20:04:25 +00:00
Jan de Mooij d9d5e4ef64 Bug 1551796 part 1 - Rename TypeScript to JitScript. r=tcampbell
Also JSScript::makeTypes => JSScript::createJitScript for consistency with code
elsewhere.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 07:28:00 +00:00
Jon Coppeard 142265f751 Bug 1553491 - Renumber MarkColor to match intuition that 'black' is more marked than 'gray' r=sfink?
Differential Revision: https://phabricator.services.mozilla.com/D32160

--HG--
extra : moz-landing-system : lando
2019-05-22 20:29:10 +00:00
Bogdan Tara 0043616f64 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-05-23 07:43:36 +03:00
Bogdan Tara 662de518b1 Merge inbound to mozilla-central. a=merge 2019-05-23 07:41:02 +03:00
Gurzau Raul 74c555539e Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Paul Bone 752ec5c84c Bug 1552401 - Add and use a new decommit phase to attribute decommit work r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D32090

--HG--
extra : moz-landing-system : lando
2019-05-23 01:50:21 +00:00
Paul Bone 28a7458d74 Bug 1552401 - Make GenerateStatsPhases.py print the next available bucket number r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D32089

--HG--
extra : moz-landing-system : lando
2019-05-23 01:50:19 +00:00
Ashley Hauck 6a02746c8b Bug 1553543 - Don't touch file if there are no changes. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D32168

--HG--
extra : moz-landing-system : lando
2019-05-22 16:32:20 +00:00
Denis Palmeiro a559bca492 Bug 1553362 - Add empty spew inline functions for when tracelogger is disabled r=iain
The new trace logger spew routines do not have a corresponding empty inline version for when --disable-trace-logging is used.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 15:59:05 +00:00
Jean-Yves Avenard d59781ac33 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-22 12:46:30 +00:00
Steve Fink dcfb7afeb3 Bug 1553039 - default MOZ_GCTIMER output dir to MOZ_UPLOAD_DIR r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31962

--HG--
extra : moz-landing-system : lando
2019-05-21 21:26:09 +00:00
Boris Zbarsky 47341d0933 Bug 1553276. Don't enter the content compartment when calling a Web IDL legacycaller over Xrays. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D32047

--HG--
extra : moz-landing-system : lando
2019-05-21 19:49:18 +00:00
Ashley Hauck 25e8d18679 Bug 1552229 - Emit field keys in correct order. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D31495

--HG--
extra : moz-landing-system : lando
2019-05-21 17:55:34 +00:00
Ashley Hauck 1b7568fdba Bug 1547467 - Introduce another scope for .initializers, and remove .localInitializers. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D29907

--HG--
extra : moz-landing-system : lando
2019-05-21 17:55:31 +00:00
Cosmin Sabou 7637a9982a Backed out changeset da42fc59d4fb (bug 1553039) for causing windows build bustages. 2019-05-21 20:28:34 +03:00
Steve Fink 2f66727254 Bug 1553039 - default MOZ_GCTIMER output dir to MOZ_UPLOAD_DIR r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31962

--HG--
extra : moz-landing-system : lando
2019-05-21 16:53:05 +00:00
Denis Palmeiro 49502b1ffa Bug 1545091 - Spew tracelogger statistics with IONFLAGS=tracelogger r=iain,mstange
Add Jitspewing control for tracelogger data.  This can be enabled from the profiler or from the JS shell.  Usage is as follows:

From browser (ION_SPEW_FILENAME is recommended here so stdout doesn't get clobbered by each process):
  1.  JS_TRACE_LOGGING=1 IONFLAGS=tracelogger ION_SPEW_FILENAME=tracelogger ./mach run
  2.  Enable JSTracer feature in profiler addon
  3.  Start profiling and ctrl+shift+2 to view profile, and the data will be automatically spewed during profile collection.

From shell:
  1.  JS_TRACE_LOGGING=1 IONFLAGS=tracelogger dist/bin/js test.js
  2.  Data is automatically spewed to stdout when the shell exits, or use ION_SPEW_FILENAME.

There is an optional environment variable JS_TRACELOGGER_SPEW that can be used to emit specific events, for example JS_TRACELOGGER_SPEW="Interpreter,Baseline,GC" will emit only those specific events along with the script and self time of each script.

The structured spewer is also supported with SPEW=tracelogger, and this will emit the tracelogger data for every recorded event.

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

--HG--
extra : moz-landing-system : lando
2019-05-21 15:25:32 +00:00
Jeff Walden c08dac3312 Bug 1551916 - Flip column numbers back to being counts of code points and not code units. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31304

--HG--
extra : moz-landing-system : lando
2019-05-21 16:31:51 +00:00
Razvan Maries 9f162e29d0 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-05-21 19:36:25 +03:00
Andreea Pavel a4546667a5 Backed out 2 changesets (bug 1551473, bug 1549954) win 2012 SM bustages on a CLOSED TREE
Backed out changeset aac842bf7f7b (bug 1551473)
Backed out changeset 2a4a5afa1ff2 (bug 1549954)
2019-05-21 19:30:36 +03:00
Razvan Maries 366383f783 Merge mozilla-inbound to mozilla-central a=merge 2019-05-21 19:29:01 +03:00
Jon Coppeard 0bbd4dc9f0 Bug 1549950 - Remove TraceWeakEdge and associated machinery and sweep weak pointers in lazy scripts explicitly r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D31804
2019-05-20 17:24:38 +01:00
Razvan Maries fa4ff6f653 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-05-21 12:37:53 +03:00
Daniel Varga f7e7132f8f Merge mozilla-central to mozilla-inbound 2019-05-21 07:22:34 +03:00
Daniel Varga 9c4661a44f Merge mozilla-central to mozilla-inbound. a=merge 2019-05-21 01:00:21 +03:00
Tooru Fujisawa b41725bb4f 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 15:34:30 +00:00
Tooru Fujisawa 706c8c7b08 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 15:09:03 +00:00
Andrew McCreight d1648e5525 Bug 1552597, part 2 - Handlify RemapAllWrappersForObject. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31689

--HG--
extra : moz-landing-system : lando
2019-05-20 08:40:01 +00:00
Andrew McCreight 2184a00342 Bug 1552597, part 1 - Fix comments in RemapWrapper to say rewrap instead of wrap. r=jonco
These calls were changed from wrap() to rewrap() in bug 1291001.

Also, fix a minor typo in xpcprivate.h, because I didn't feel like
filing a separate bug for it.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 08:37:49 +00:00
Nicolas B. Pierron d9f43206ff Bug 1550751 - Skip rounding the dividend of non-truncated integer division, as already handled by a bailout. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D30672

--HG--
extra : moz-landing-system : lando
2019-05-20 13:02:43 +00:00
Matthew Gaudet 44540b2a3a Bug 1552316 - Disconnect initWithEnclosingScope from functionbox r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31537

--HG--
extra : moz-landing-system : lando
2019-05-21 13:47:50 +00:00
Matthew Gaudet 32b04894a8 Bug 1552316 - Don't rely on functionbox for initFromLazyFunction r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31536

--HG--
extra : moz-landing-system : lando
2019-05-21 13:47:44 +00:00
Matthew Gaudet 4fc4833da6 Bug 1552316 - Don't rely on functionbox in initWithEnclosingParseContext and initFiledInitializer r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31535

--HG--
extra : moz-landing-system : lando
2019-05-21 13:47:40 +00:00
Matthew Gaudet e7bb4702b1 Bug 1552316 - Use functionbox directly in ASMJS r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31534

--HG--
extra : moz-landing-system : lando
2019-05-21 13:47:36 +00:00
Matthew Gaudet f587c27271 Bug 1552316 - Use FunctionBox in ASTSerializer::function r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31533

--HG--
extra : moz-landing-system : lando
2019-05-21 13:47:31 +00:00
Matthew Gaudet 14adfcb8f2 Bug 1552316 - Use FunctionBox in ModuleBuilder r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31532

--HG--
extra : moz-landing-system : lando
2019-05-21 13:45:36 +00:00
Matthew Gaudet 35b6b4f5f2 Bug 1552316 - Hoist some queries from function into FunctionBox r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31530

--HG--
extra : moz-landing-system : lando
2019-05-21 13:45:21 +00:00
Matthew Gaudet def2eac5e3 Bug 1552316 - Remove unused FunctionScope::Data::zone() r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31529

--HG--
extra : moz-landing-system : lando
2019-05-21 13:45:01 +00:00
Jon Coppeard 22445824ad Bug 1537909 - Optimise external read barriers r=sfink?
Add a special path for the external read barrier API where we inline most of the checks and then always perform the barrier if we call into the engine.  This also skips dispatching on trace kind since we know the barrier tracer is always a GCMarker.

This is kind of hacky and I'm not sure how much it gains us (it's difficult to tell in profiles where GC may occur at different times).  What do you think?

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

--HG--
extra : moz-landing-system : lando
2019-05-20 17:58:16 +00:00
Jon Coppeard ea2ed53caf Bug 1395509 - Remove existing malloc accounting for externally allocated memory r=sfink?
Since we now have precise memory accounting for externally allocated memory associated with GC things we should be able to remove use of the existing malloc counter here.  This should help with cases where we trigger too many GCs because we think there is more memory associated than there really is.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 17:27:02 +00:00
Jeff Walden 1e8a4f44fd Bug 1553001 - Move module APIs out of jsapi.{cpp,h} into js/public/Modules.h and js/src/vm/Modules.cpp for better isolation of module-related APIs. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31917

--HG--
rename : js/src/jsapi.h => js/public/Modules.h
rename : js/src/jsapi.cpp => js/src/vm/Modules.cpp
extra : moz-landing-system : lando
2019-05-21 00:57:38 +00:00
Tooru Fujisawa d981862102 Bug 1551489 - Part 3: Support { format: "context" } in parseBin shell built-in. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D31059

--HG--
extra : moz-landing-system : lando
2019-05-20 10:41:00 +00:00
Tooru Fujisawa c51601c9c0 Bug 1551489 - Part 2: Instantiate BinASTParser<BinASTTokenReaderContext>. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D31058

--HG--
extra : moz-landing-system : lando
2019-05-20 10:40:42 +00:00
Tooru Fujisawa e3b85ebbb9 Bug 1551489 - Part 1: Fix BinAST build script to invoke mach clang-format properly. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D31057

--HG--
extra : moz-landing-system : lando
2019-05-20 10:40:21 +00:00
Tooru Fujisawa 7a073706d3 Bug 1551509 - Make BinASTTokenReaderBase::{readConst,matchConst} accept char>=0x80. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D31055

--HG--
extra : moz-landing-system : lando
2019-05-20 10:40:03 +00:00
Tooru Fujisawa eb742449ca Bug 1551501 - Fix BinASTTokenReaderContext::readVarU32 to match encoder. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D31054

--HG--
extra : moz-landing-system : lando
2019-05-20 10:39:45 +00:00
Tooru Fujisawa e5a6a8ae9a Bug 1551470 - Add Context parameter to BinASTTokenReaderContext methods. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D31053

--HG--
extra : moz-landing-system : lando
2019-05-20 10:39:33 +00:00
Edgar Chen e336502f67 Bug 1549351 - Promise rejection event should not be sent for cross-origin scripts; r=smaug,till
Differential Revision: https://phabricator.services.mozilla.com/D31565

--HG--
extra : moz-landing-system : lando
2019-05-19 01:18:04 +00:00
Dorel Luca 0ad8df273d Backed out 2 changesets (bug 1552229, bug 1547467) for causing build bustages. CLOSED TREE
Backed out changeset a8f5dec91d72 (bug 1552229)
Backed out changeset 6004e7f60bb6 (bug 1547467)

--HG--
extra : amend_source : 45537a3eef627d29fa248d1dcd164576bae1d85f
2019-05-21 00:32:14 +03:00
Ashley Hauck 75dc4381a5 Bug 1551454 - Don't name field initializer lambdas. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D31500

--HG--
extra : moz-landing-system : lando
2019-05-20 18:35:21 +00:00
Ashley Hauck 5b2a4e74f3 Bug 1552229 - Emit field keys in correct order. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D31495

--HG--
extra : moz-landing-system : lando
2019-05-20 18:36:33 +00:00
Ashley Hauck 1910d07e93 Bug 1547467 - Introduce another scope for .initializers, and remove .localInitializers. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D29907

--HG--
extra : moz-landing-system : lando
2019-05-20 18:38:03 +00:00
Brian Hackett f828f39c0f Bug 1518308 - Include unaliased module scope variables in debug environments, r=jonco.
--HG--
extra : rebase_source : 56628c29b91f95b729e330999b28303fccce77f8
extra : histedit_source : b989d867dab8ef7909c98a8aa1f24372399db876
2019-05-15 07:14:28 -10:00
Brian Hackett 82d933962b Bug 1533308 - Report rejected non-exception objects to the console, r=kmag,arai.
--HG--
extra : rebase_source : a226e104ffac8b7db1c5cde797cb0fbe438c1c65
2019-06-11 11:53:27 -10:00
Daniel Varga c19a162836 Merge mozilla-central to mozilla-inbound 2019-06-15 00:43:08 +03:00
Gurzau Raul 9769b97cac Backed out 7 changesets (bug 1395509) for SM build failures on a CLOSED TREE.
Backed out changeset 9de6fe9f087e (bug 1395509)
Backed out changeset d7492a7c1b7d (bug 1395509)
Backed out changeset 5d720afe50ea (bug 1395509)
Backed out changeset b6850f7bb6b6 (bug 1395509)
Backed out changeset d37bdcb35091 (bug 1395509)
Backed out changeset 37f4b005af23 (bug 1395509)
Backed out changeset 1fca3e8b8e5e (bug 1395509)
2019-06-14 17:28:42 +03:00
Jon Coppeard dcf2e419ab 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 7ae03e665c 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 99e85fbf13 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 749773dd9a 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 d5b38d97d3 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 e1e213c754 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 ed1eaee129 Bug 1395509 - Track malloc memory used by FileObject objects r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D34555
2019-06-11 17:03:41 +01:00
Jon Coppeard c307c1aef0 Bug 1395509 - Track malloc memory used by Arguments objects r=sfink
Use memory tracking APIs to track malloc memory associated with ArgumentsObjects. This one is slightly more complicated because we can allocate these in the nursery and malloc memory is not tracked for nursery objects, so we have to do this if they get tenured.

Differential Revision: https://phabricator.services.mozilla.com/D34553
2019-06-11 17:03:41 +01:00
Jon Coppeard 2fcb4535e8 Bug 1395509 - Track malloc memory used by JIT scrips r=jandem
Use memory tracking APIs to track malloc memory associated with IonScripts and BaselineScripts. This does the memory accounting when they are attached/detached from the JSScript rather than on initialisation/finalization as normally. I had to record the allocation size in the objects themselves. Hopefully this isOK.

Differential Revision: https://phabricator.services.mozilla.com/D34552
2019-06-11 17:03:41 +01:00
Brendan Dahl 543c10a1d2 Bug 1551320 - Replace all CreateElement calls in XUL documents with CreateXULElement. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D31295

--HG--
extra : moz-landing-system : lando
2019-05-20 16:50:28 +00:00
Luke Wagner 5d02a20efb Bug 1546138 - Allow funcref in table operators (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D31166

--HG--
rename : js/src/jit-test/tests/wasm/funcref.js => js/src/jit-test/tests/wasm/gc/funcref.js
extra : rebase_source : b1645cb82a197133c2c327cd28c4c2348114680a
2019-05-10 16:49:46 -05:00
Gurzau Raul e0cadccc1d Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-05-20 16:49:58 +03:00
Jan de Mooij 532113a26a Bug 1544386 part 1 - Call ElementAccessHasExtraIndexedProperty instead of ArrayPrototypeHasIndexedProperty when inlining array natives. r=tcampbell
This simplifies the code a bit because ElementAccessHasExtraIndexedProperty
checks for length-overflow and sparse-indexes so the callers don't have to
do that anymore.

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

--HG--
extra : moz-landing-system : lando
2019-05-08 17:48:26 +00:00
shindli c9ee4bb3ac Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
rename : testing/web-platform/tests/referrer-policy/generic/iframe-inheritance.html => testing/web-platform/tests/referrer-policy/generic/inheritance/iframe-inheritance-data.html
rename : testing/web-platform/tests/referrer-policy/generic/iframe-inheritance.html => testing/web-platform/tests/referrer-policy/generic/inheritance/iframe-inheritance-srcdoc.html
2019-06-06 13:51:59 +03:00
Benjamin Bouvier 0cbc573628 Bug 1556510: Mark trait objects with dyn in the wasm/cranelift directory; r=lth
Differential Revision: https://phabricator.services.mozilla.com/D33608

--HG--
extra : moz-landing-system : lando
2019-06-06 06:42:15 +00:00
Gerald Squelart 06a48172a1 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-06 06:17:11 +00:00
Jon Coppeard b485ece003 Bug 1552180 - Poison Arena's zone pointer on free r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D31494
2019-05-16 17:26:20 +01:00
Jon Coppeard c4cef85c43 Bug 1552118 - Don't release foreground finalized arenas until the end of sweeping the zone group r=sfink
This releases all foreground finalized arenas at the end of sweeping the sweep group rather than at the end of sweeping the zone (for objects) or immediately (for everything else) as happens currently.  This simplifies the code in a couple of places and I don't think it will have any noticeable effects.

Differential Revision: https://phabricator.services.mozilla.com/D31415
2019-05-16 12:26:02 +01:00
Jon Coppeard 29b9b0dcd4 Bug 1551907 - Fix interaction between gray unmarking and weakmap marking r=sfink
We shouldn't allow a weak map to become gray after it has already been marked black.

Differential Revision: https://phabricator.services.mozilla.com/D31412
2019-05-16 11:40:09 +01:00
Jon Coppeard 6832b3f753 Bug 1551275 - Refactor jsapi weak map tests r=sfink
This removes a bunch of repeated code and hopefully makes it easier to see what we're testing.  When marking two things the same color this now checks both orders (e.g. key before map, map before key).  I removed individual test cases and generate all possiblities with for loops.  The expected marking state is determined by functions factored out from the verifier.

The tests for JS WeakMap and internal weakmaps are slightly different because I wanted to cover all existing test cases without making things too complicated.  This means we don't test marking the key and delegate different colors for the former.

Differential Revision: https://phabricator.services.mozilla.com/D30948
2019-05-13 19:08:10 +01:00
Jeff Walden 8b511ad882 Bug 1552977 - Use non-inflating UTF-8 compilation in various C++ testing contexts. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31882

--HG--
extra : moz-landing-system : lando
2019-05-21 01:32:02 +00:00
Jeff Walden 38ead4474b Bug 1552977 - Add JS::EvaluateUtf8PathDontInflate that doesn't inflate UTF-8 file contents to UTF-16 before evaluating them. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31881

--HG--
extra : moz-landing-system : lando
2019-05-21 01:31:53 +00:00
Jeff Walden bf9676ac23 Bug 1552977 - Add JS::CompileUtf8PathDontInflate with clear non-inflating nature and make existing JS::CompileUtf8Path callers inflate again. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31880

--HG--
extra : moz-landing-system : lando
2019-05-21 01:31:33 +00:00
Coroiu Cristina 48132a691b Backed out changeset e0f0a7707eb3 (bug 1555558) for spidermonkey bustage at builds/worker/workspace/build/src/js/src/gc/GC.cpp 2019-05-31 04:47:13 +03:00
Paul Bone b69c50a312 Bug 1555550 - Wait for nursery decommit during OOM r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D33112

--HG--
extra : moz-landing-system : lando
2019-05-31 01:18:37 +00:00
Paul Bone 0e0ceca906 Bug 1555550 - Use decommitAllArenas which also updates bookkeeping r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D33111

--HG--
extra : moz-landing-system : lando
2019-05-31 01:18:33 +00:00
Paul Bone 9f31585d17 Bug 1555243 - Document decommitAllArenasWithoutUnlocking's complexity r=jonco
Also rename decommitAllArenasWithoutUnlocking to make it clear that it does
not do what decommitAllArenas does, since it only decommits free arenas.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 01:18:29 +00:00
Paul Bone 51a6a08e43 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 00:43:58 +00:00
Nicolas B. Pierron 85124b1e85 Bug 1523568 - ARM64: Implement divisions by a constant. r=sstangl
Differential Revision: https://phabricator.services.mozilla.com/D31805

--HG--
extra : moz-landing-system : lando
2019-05-27 16:36:26 +00:00
Jan de Mooij 12e6a5f9bd Bug 1554080 part 5 - Replace the masm.loadJitCodeNoArgCheck in GenerateImportJitExit with a TLS load. r=bbouvier
This way we have two loads instead of three.

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

--HG--
extra : moz-landing-system : lando
2019-05-27 14:14:46 +00:00
Jan de Mooij 512fc542c0 Bug 1554080 part 4 - Store JitScript* instead of BaselineScript* in FuncImportTls. r=bbouvier
This has a few benefits:

* Less toggling when we discard/reallocate the BaselineScript without discarding
  the JitScript.

* Wasm's JIT exit optimization will work with the Baseline Interpreter in the
  future.

* The next part will use this to eliminate a load.

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

--HG--
extra : moz-landing-system : lando
2019-05-27 14:08:23 +00:00
Jan de Mooij 170b670145 Bug 1554080 part 3 - Use UniquePtr for BaselineScript::dependentWasmImports_. r=bbouvier
Differential Revision: https://phabricator.services.mozilla.com/D32443

--HG--
extra : moz-landing-system : lando
2019-05-27 14:08:07 +00:00
Jan de Mooij 5c629bbbc5 Bug 1554080 part 2 - Allow Wasm FFI calls to lazy link stub. r=bbouvier
The lazy link stub used to assume a JIT caller but this is no longer the case.
We can then fold clearDependentWasmImports into unlinkDependentWasmImports.

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

--HG--
extra : moz-landing-system : lando
2019-05-27 14:07:51 +00:00
Jan de Mooij e87b1bd88f Bug 1554080 part 1 - Move jitCodeSkipArgCheck_ from JSScript to JitScript. r=bbouvier,iain
This removes a word from JSScript and corresponding Wasm data structures.

Furthermore, the skip-argument-type-checks optimization depends on JitScript's
lifetime so moving it to JitScript feels right and might help catch bugs.

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

--HG--
extra : moz-landing-system : lando
2019-05-27 14:07:32 +00:00
Boris Zbarsky 6b623aa87a Bug 1554223. Add a version of JS::NewFunctionFromSpec that does not require passing an id. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D32527

--HG--
extra : moz-landing-system : lando
2019-05-27 13:26:04 +00:00
Cosmin Sabou c1685882cc Merge mozilla-central to mozilla-inbound. 2019-05-24 12:56:42 +03:00
Jeff Walden aaacc748f6 Bug 1552979 - Define off-thread compilation APIs, of modules and scripts, for UTF-8. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D32409

--HG--
extra : rebase_source : 5c16d4e548caeccab4287889b9655ec5bed050ef
2019-05-23 19:33:36 -07:00
Ciure Andrei ffde88d233 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-05-24 07:03:28 +03:00
Jeff Walden 4169070923 Bug 1552979 - Add a JS::CompileModule overload for direct UTF-8 compilation. r=arai
--HG--
extra : rebase_source : d63374cb56fab0a5077202462a07f2083229a5ab
2019-05-21 15:39:05 -07:00
Jeff Walden 964550bb3e Bug 1552979 - Make JS::CompileModule return the module directly, rather than by outparam duplicative of a boolean return value. r=arai
--HG--
extra : rebase_source : e5db95557dd8c1c3712395a0141badd6e8edbc8e
2019-05-21 10:21:56 -07:00
Jeff Walden 3a69834cbc Bug 1552979 - Begin fleshing out off-thread script/module compilation support for UTF-8. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31896

--HG--
extra : rebase_source : dda3b1ae77361a5ab0a0ad52c0beaf7498553c20
2019-05-18 16:46:38 -07:00
Jeff Walden e85889f5df Bug 1552979 - Add ParseModule and CompileModule overloads for UTF-8. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31895

--HG--
extra : rebase_source : 3e5089c028f295b1b837d0e8d003e87d6daa3891
2019-05-20 02:49:20 -07:00
Jeff Walden 462cc759d4 Bug 1552979 - Rename one CompileModule overload to ParseModule to make it easier to distinguish them, both mentally and in searches. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31894

--HG--
extra : rebase_source : b925cffe35dfd8045c094af1652eaad96e7cea63
2019-05-20 02:42:16 -07:00
Jeff Walden e80581731f Bug 1552979 - Make StartOffThreadParseTask accept UniquePtr<ParseTask> and not just a raw ParseTask* borrowed (gulp) from one. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31890

--HG--
extra : rebase_source : 41e17e169215cee75b68152c0d4945704b0e2e64
2019-05-19 01:06:35 -07:00
Jeff Walden fbcf9d0b7a Bug 1552979 - Templatize {Script,Module}ParseTask by Unit as a step toward enabling off-thread parsing of UTF-8 source. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31889

--HG--
extra : rebase_source : 94d8b13f48df0ba00f120c9324a3c8e9f6ce20bc
2019-05-18 17:09:16 -07:00
Ciure Andrei 1f4007dfc0 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-05-24 01:38:06 +03:00
Daniel Varga 2056f57259 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-05-23 19:03:36 +03:00
Jon Coppeard 6d785a4384 Bug 1395509 - Pack MemoryTracker hashtable keys into a single word on 64bit platforms r=sfink
This code is debug-only, but it seems a shame to waste have this key structure take up two words when it will fix into one. This also moves the MemoryUse enum definition to gc/GCEnum.h.

Differential Revision: https://phabricator.services.mozilla.com/D32170
2019-05-22 17:45:03 +01:00
Sylvestre Ledru fb63889274 Bug 1552430 - Fix some typos using codespell trunk r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D31589

--HG--
extra : moz-landing-system : lando
2019-05-17 15:56:50 +00:00
thomasmo 5436d3561e Bug 1550757 - Create new DLL for sharing VR code r=kip
This change introduces a new dll, vrhost, to make it easier to share
VR code across multiple process.
An executable, vrtesthost, is also added for testing purposes to
validate the DLL loads in a minimal environment.

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

--HG--
extra : moz-landing-system : lando
2019-05-17 04:53:16 +00:00
Kagami Sascha Rosylight 1cf88b074c Bug 1551893: Require strict zero-pad for time element if T exists r=arai
Make T as a strictness marker for ISO8601 time element, as it already does for the date element.

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

--HG--
extra : moz-landing-system : lando
2019-05-16 18:02:58 +00:00
Jeff Walden 9c0ef78bad Bug 1551916 - Add a boolean to every chunk for a long-line vector indicating whether that chunk contains any multiple-unit code points, so that column computations inside wholly-single-unit chunks can do a constant-time pointer-range computation... r=arai
...and avoid iterating at all.  r=arai

Depends on D31302

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

--HG--
extra : moz-landing-system : lando
2019-05-17 03:21:06 +00:00
Jeff Walden d18c7116eb Bug 1551916 - Optimize column-number computations for offsets more than |ColumnChunkLength = 128| code units into a line by saving column information at 128-unit increments (rounded down to the nearest code point start) so that at most (length of... r=arai
...longest code point encoding - 1) + ColumnChunkLength - 1 units must be observed when computing a column number.  r=arai

Depends on D31301

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

--HG--
extra : moz-landing-system : lando
2019-05-17 03:21:04 +00:00
Jeff Walden 069de399d8 Bug 1551916 - Make JS_COLUMN_DIMENSION_IS_CODE_POINTS a no-argument macro function so that calling it before its definition is an error, and move it upward in TokenStream.h so it's defined in places where subsequent changes will need it. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31301

--HG--
extra : moz-landing-system : lando
2019-05-17 03:21:02 +00:00
Jeff Walden 39cf0106b2 Bug 1551916 - Remove |TokenStreamAnyChars::undoInternalUpdateLineInfoForEOL| as unused. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31300

--HG--
extra : moz-landing-system : lando
2019-05-17 03:20:58 +00:00
Ashley Hauck 52555469e6 Bug 1552022 - Pass through arguments in synthesized constructors for derived classes. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D31507

--HG--
extra : moz-landing-system : lando
2019-05-16 20:54:39 +00:00
Csoregi Natalia 60874606d0 Merge mozilla-central to autoland. CLOSED TREE 2019-05-17 00:58:59 +03:00
Csoregi Natalia 8ef3142853 Merge inbound to mozilla-central. a=merge 2019-05-17 00:55:45 +03:00
Jonas Allmann 50275c5d2b Bug 1549326 - Remove simpletest.js from eval()-whitelist, r=ckerschb
Amend several test files for triggering eval() assertion through simpletest.js

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

--HG--
extra : moz-landing-system : lando
2019-05-16 13:44:36 +00:00
Steve Fink a1d296ed9f Bug 1549565 - Avoid firing unmark gray read barriers during iterations where no Cell pointers escape. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D30103

--HG--
extra : moz-landing-system : lando
2019-05-16 17:19:33 +00:00
Tom Schuster 987553489a Bug 1548759 - Always clear exception after PrintError. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D31083

--HG--
extra : moz-landing-system : lando
2019-05-14 17:58:21 +00:00
Brian Hackett a231842bb7 Bug 1547084 Part 1 - Remove recordReplayDirective interface and uses, r=mccr8.
--HG--
extra : rebase_source : 9fcddba95a4759fe6eb1222199ad8eeaaba2e146
2019-05-12 13:09:55 -10:00
Jan de Mooij 3542b77c41 Bug 1541404 part 34 - Fix BaselineDebugModeOSR to also recompile interpreter frames. r=tcampbell
This matches what we do for C++-interpreter frames in CollectInterpreterStackScripts and
SkipInterpreterFrameEntries. It's necessary for Interpreter => JIT OSR to work correctly.

This fixes remaining jit-test failures with --blinterp-eager

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

--HG--
extra : moz-landing-system : lando
2019-05-16 08:56:53 +00:00
Andy Wingo fe1a14680c Bug 1551128 - Limit result bit length in BigInt.asUintN on negative values r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D30874

--HG--
extra : moz-landing-system : lando
2019-05-16 07:39:14 +00:00
Jan de Mooij eec808b0b7 Bug 1541404 part 33 - Implement emitArgumentTypeChecks. r=djvj
Differential Revision: https://phabricator.services.mozilla.com/D31039

--HG--
extra : moz-landing-system : lando
2019-05-15 14:25:19 +00:00
Jan de Mooij 0232d57d94 Bug 1541404 part 31 - Fix record/replay instrumentation. r=bhackett
Differential Revision: https://phabricator.services.mozilla.com/D31036

--HG--
extra : moz-landing-system : lando
2019-05-15 14:25:19 +00:00
Jan de Mooij 9827d7d5c7 Bug 1541404 part 30 - Fix some debugger issues. r=tcampbell
With this we pass all debugger jit-tests.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 14:24:26 +00:00
Kagami Sascha Rosylight d0af199f76 Bug 1550949: Disallow time-only version of ISO8601 r=arai
ES5.1 removed time-only format T00:00:00 and no other browsers support it. So this diff removes the support from gecko.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 14:03:54 +00:00
Jan de Mooij d411f2814c Bug 1551140 - Add code coverage instrumentation to Baseline Interpreter. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D30877

--HG--
extra : moz-landing-system : lando
2019-05-15 06:50:13 +00:00
Jan de Mooij 9bc56c26d2 Bug 1541404 part 29 - Perform arguments analysis when creating the TypeScript. r=tcampbell
The code in NewArgumentsObject was wrong because the interpreter code calling it
also relies on the analysis having been performed.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 06:36:39 +00:00
Jan de Mooij e21ab3369d Bug 1541404 part 28 - Fix ARM issues. r=tcampbell
1. We can't use loadValue for JSOP_DOUBLE because on ARM that might use LDRD or
   LDM and these are not guaranteed to support unaligned loads. Fix is to add
   loadUnalignedValue that always uses plain 32-bit loads.

2. DebugTrapHandler's fast path for the interpreter used "lr" as second scratch
   register, clobbering the return address. The setSecondScratchRegister mechanism
   prevents this.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 07:42:50 +00:00
Jan de Mooij dc3e91574f Bug 1541404 part 27 - Implement emitInterpreterLoop. r=djvj
This is a basic threaded interpreter design. Performance is pretty good but we
can optimize it more in the future when everything else is in place.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 07:42:50 +00:00
Bogdan Tara 11cfa0462a Backed out changeset af0fd51dc41a (bug 1550757) for vrhost related mingw bustages CLOSED TREE 2019-05-15 08:28:00 +03:00
thomasmo 67eb9799f5 Bug 1550757 - Create new DLL for sharing VR code r=kip
This change introduces a new dll, vrhost, to make it easier to share
VR code across multiple process.
An executable, vrtesthost, is also added for testing purposes to
validate the DLL loads in a minimal environment.

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

--HG--
extra : moz-landing-system : lando
2019-05-14 18:07:26 +00:00
Ryan VanderMeulen 8f5477d25e Bug 1313741 - Use AppConstants in DOM and XPConnect tests instead of manual detection. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D30973

--HG--
extra : moz-landing-system : lando
2019-05-14 21:01:05 +00:00
Narcis Beleuzu 3e08d898d0 Backed out changeset bfa4ce8a0ef6 (bug 1551339) for bustages on vixl/MozAssembler-vixl.cpp . CLOSED TREE 2019-05-14 23:58:26 +03:00
Sean Stangl a59e6c161c 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-14 16:16:20 +00:00
Mihai Alexandru Michis d3fb62a0c3 Backed out 2 changesets (bug 1541404) for causing leaks at AnalyzeArgumentsUsage
Backed out changeset c4b0bd61050b (bug 1541404)
Backed out changeset 760cc10c63b0 (bug 1541404)

--HG--
extra : rebase_source : 3091181fa6591dc2e6706d0bd0358e67490088d2
2019-05-14 16:00:32 +03:00
Jan de Mooij 9abd541255 Bug 1541404 part 29 - Perform arguments analysis when creating the TypeScript. r=tcampbell
The code in NewArgumentsObject was wrong because the interpreter code calling it
also relies on the analysis having been performed.

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

--HG--
extra : moz-landing-system : lando
2019-05-14 10:36:17 +00:00
Jan de Mooij cae8345750 Bug 1541404 part 28 - Fix ARM issues. r=tcampbell
1. We can't use loadValue for JSOP_DOUBLE because on ARM that might use LDRD or
   LDM and these are not guaranteed to support unaligned loads. Fix is to add
   loadUnalignedValue that always uses plain 32-bit loads.

2. DebugTrapHandler's fast path for the interpreter used "lr" as second scratch
   register, clobbering the return address. The setSecondScratchRegister mechanism
   prevents this.

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

--HG--
extra : moz-landing-system : lando
2019-05-14 10:36:17 +00:00
Andreea Pavel ce824f4a16 Merge mozilla-central to autoland on a CLOSED TREE 2019-05-14 07:17:06 +03:00
Andreea Pavel 4bf5812d4c Merge mozilla-inbound to mozilla-central. a=merge 2019-05-14 07:10:36 +03:00
Jim Blandy 21848cbbd2 Bug 1546727: Remove extraneous 'inline' keywords, and add where missing. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D29113

--HG--
extra : moz-landing-system : lando
2019-05-14 02:55:56 +00:00
Jim Blandy 88a0ac1f0e Bug 1546727: Make DebuggerFrame_getScript a static method of DebuggerFrame. r=jorendorff
This function probably predates the existence of the DebuggerFrame class, and
was never moved in.

Depends on D28785

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

--HG--
extra : moz-landing-system : lando
2019-05-14 02:55:22 +00:00
Denis Palmeiro df482afef9 Bug 1550807 - Load the baselinescript into scratch1 before calling emitTraceLoggerResume r=jandem
Tracelogger is no longer functioning properly because of bad script event ids.  The baselinescript load into scratch1 was accidentally removed leading garbage script ids to be passed into emitTraceLoggerResume. This fix aims to simply reload the correct value back into scratch1 before calling tracelogger.

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

--HG--
extra : moz-landing-system : lando
2019-05-13 16:20:20 +00:00
Geoff Brown 167de4a58d Bug 1551226 - Run Android x86_64 7.0/debug mochitests; r=snorp
We can run /debug mochitests against geckoview for the cost of another dozen
or so test annotations. Both /opt and /debug mochitests are nearly worthy of
tier 1, but still waiting for bug 1534732.

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

--HG--
extra : moz-landing-system : lando
2019-05-13 20:52:36 +00:00
Boris Zbarsky 76cffb4a86 Bug 1551124. Add support for optional Array arguments in xpconnect. r=nika
The semantics are that you get an empty array if the argument is not supplied,
and if [optional_argc] is used it's set accordingly so you can tell whether you
were passed explicit [] or not passed anything.

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

--HG--
extra : moz-landing-system : lando
2019-05-13 19:51:57 +00:00
Jon Coppeard 6ff9c5c08a Bug 1464621 - Ensure we finish any ongoing incremental GC before collecting stats for memory reporting r=sfink?
Differential Revision: https://phabricator.services.mozilla.com/D30880

--HG--
extra : moz-landing-system : lando
2019-05-13 17:13:17 +00:00
Jon Coppeard b18d3a806e Bug 1550924 - Fix race condition in memory tracking assertion r=sfink?
Fix possible race condition where an atomic field that may be concurrently modified is referenced twice in an assertion expression.

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

--HG--
extra : moz-landing-system : lando
2019-05-13 17:10:19 +00:00
Iain Ireland fa6db29146 Bug 1548611: Update RNewArray::recover to match CodeGenerator::visitNewArrayCallVM r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D30393

--HG--
extra : moz-landing-system : lando
2019-05-10 09:59:50 +00:00
Jim Blandy fdab7786dc Bug 1546727: Make DebuggerFrame_requireLive and DebuggerFrame_checkThis member functions of DebuggerFrame. r=jorendorff
These function probably predate the existence of the DebuggerFrame class, and
were never moved in.

Depends on D28784

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

--HG--
extra : moz-landing-system : lando
2019-05-08 07:06:42 +00:00
Jim Blandy 31d57a4335 Bug 1546727: Make DebuggerFrame_maybeDecrementFrameScriptStepModeCount a method of DebuggerFrame. r=jorendorff
This function probably predates the existence of the DebuggerFrame class, and
was never moved in.

Depends on D28783

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

--HG--
extra : moz-landing-system : lando
2019-05-08 07:06:40 +00:00
Jim Blandy 30f53b9648 Bug 1546727: Make DebuggerFrame_trace and finalize static member functions of DebuggerFrame. r=jorendorff
SpiderMonkey standard practice for classes derived from JSObject defines
ClassOps hooks as static member functions.

Depends on D28782

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

--HG--
extra : moz-landing-system : lando
2019-05-08 07:06:38 +00:00
Tooru Fujisawa e21d6f4a03 Bug 1549953 - Add BinASTTokenReaderContext without implementation. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D30342

--HG--
extra : moz-landing-system : lando
2019-05-13 13:28:38 +00:00
Tooru Fujisawa 66e25f6243 Bug 1549340 - Part 2: Use union instead of reinterpret_cast to initialize const char* with symbol for JSPropertySpec.name. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D30493

--HG--
extra : moz-landing-system : lando
2019-05-13 10:26:48 +00:00
Jon Coppeard dd05bccccd Bug 1542184 - Use PersistentRooted for rooting vectors of GC things from rust code r=fitzgen?
This replaces the use of heap-alloced Rooted with PersistentRooted which is safe wrt destruction order.

I had to add PersistentRooted and StackGCVector to OPAQUE_TYPES to make this work... I'm not really sure what this does.

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

--HG--
extra : moz-landing-system : lando
2019-05-10 17:36:34 +00:00
Coroiu Cristina c139f7f6fe Backed out 5 changesets (bug 1546138) for bustage at js/src/jit-test/tests/wasm/funcref.js for upcoming beta
Backed out changeset 13e26dbd7cc7 (bug 1546138)
Backed out changeset edf39b4a6ec1 (bug 1546138)
Backed out changeset b60f1ed65b1a (bug 1546138)
Backed out changeset da9544b976b1 (bug 1546138)
Backed out changeset 77be2a536573 (bug 1546138)

--HG--
extra : rebase_source : 7469677612ed4684d340da11776e8e412dd4995b
2019-05-13 08:38:11 +03:00
Jeff Walden cf27ea3740 Bug 1550616 - Don't #include EitherParser.h in BytecodeCompilation.h when a simple forward-declaration will do. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D30579

--HG--
extra : moz-landing-system : lando
2019-05-12 22:15:51 +00:00
Jeff Walden 8196e85e16 Bug 1550616 - Move ModuleBuilder into its own header so that module object-related data structures don't depend on EitherParser.h (and therefore all of parsing and tokenizing). r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D30578

--HG--
rename : js/src/builtin/ModuleObject.h => js/src/vm/ModuleBuilder.h
extra : moz-landing-system : lando
2019-05-12 22:15:49 +00:00
Jeff Walden bc6017efb3 Bug 1550616 - Move Token-related types to a new frontend/Token.h header so needing something like TokenPos doesn't demand a dependency on TokenStream.h. (ParseNode.h is a notable instance of this.) r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D30577

--HG--
rename : js/src/frontend/TokenStream.h => js/src/frontend/Token.h
extra : moz-landing-system : lando
2019-05-12 22:15:47 +00:00
Jeff Walden 1fd3b365cb Bug 1550616 - Make SharedContext.h not #include TokenStream.h now that it doesn't depend on it. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D30576

--HG--
extra : moz-landing-system : lando
2019-05-12 22:14:29 +00:00
Jeff Walden 44a17d854c Bug 1550616 - Make FunctionBox::setEnd take the actual uint32_t end, not TokenStreamAnyChars&, and add ParserBase::setFunctionEndFromCurrentToken that calls it passing the correct value, to eliminate another SharedContext.h dependency on... r=tcampbell
...TokenStream.h.  r=tcampbell

Depends on D30574

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

--HG--
extra : moz-landing-system : lando
2019-05-12 22:14:11 +00:00
Jeff Walden 655d6e356a Bug 1550616 - Move GeneralTokenStreamChars::setFunctionStart to GeneralParser::setFunctionStartAtCurrentToken in Parser.cpp, eliminating one reason SharedContext.h depends on TokenStream.h. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D30574

--HG--
extra : moz-landing-system : lando
2019-05-12 22:13:53 +00:00
Kagami Sascha Rosylight 47625af531 Bug 1500748 - Require standard compliance when a time part exists r=arai
Differential Revision: https://phabricator.services.mozilla.com/D30761

--HG--
extra : moz-landing-system : lando
2019-05-12 10:23:14 +00:00
Noemi Erli 900e1d1a0e Backed out 6 changesets (bug 1550616) for causing build bustages in MacroAssembler-arm64.h
Backed out changeset f1a3220fc10b (bug 1550616)
Backed out changeset b435e9bb58cc (bug 1550616)
Backed out changeset 1b35028d64e4 (bug 1550616)
Backed out changeset 5fd47cd91b82 (bug 1550616)
Backed out changeset 59f2744f50c5 (bug 1550616)
Backed out changeset dc57399bbbe3 (bug 1550616)
2019-05-12 05:09:23 +03:00
Jeff Walden a1ec048c2b Bug 1550616 - Don't #include EitherParser.h in BytecodeCompilation.h when a simple forward-declaration will do. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D30579

--HG--
extra : moz-landing-system : lando
2019-05-12 01:39:24 +00:00
Jeff Walden 646492945b Bug 1550616 - Move ModuleBuilder into its own header so that module object-related data structures don't depend on EitherParser.h (and therefore all of parsing and tokenizing). r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D30578

--HG--
rename : js/src/builtin/ModuleObject.h => js/src/vm/ModuleBuilder.h
extra : moz-landing-system : lando
2019-05-12 01:39:15 +00:00
Jeff Walden 255be22c2a Bug 1550616 - Move Token-related types to a new frontend/Token.h header so needing something like TokenPos doesn't demand a dependency on TokenStream.h. (ParseNode.h is a notable instance of this.) r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D30577

--HG--
rename : js/src/frontend/TokenStream.h => js/src/frontend/Token.h
extra : moz-landing-system : lando
2019-05-12 01:38:54 +00:00
Jeff Walden c162440a04 Bug 1550616 - Make SharedContext.h not #include TokenStream.h now that it doesn't depend on it. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D30576

--HG--
extra : moz-landing-system : lando
2019-05-12 01:38:40 +00:00
Jeff Walden 8c3bcd64f2 Bug 1550616 - Make FunctionBox::setEnd take the actual uint32_t end, not TokenStreamAnyChars&, and add ParserBase::setFunctionEndFromCurrentToken that calls it passing the correct value, to eliminate another SharedContext.h dependency on... r=tcampbell
...TokenStream.h.  r=tcampbell

Depends on D30574

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

--HG--
extra : moz-landing-system : lando
2019-05-12 01:38:24 +00:00
Jeff Walden 04812304af Bug 1550616 - Move GeneralTokenStreamChars::setFunctionStart to GeneralParser::setFunctionStartAtCurrentToken in Parser.cpp, eliminating one reason SharedContext.h depends on TokenStream.h. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D30574

--HG--
extra : moz-landing-system : lando
2019-05-12 01:38:06 +00:00
Razvan Maries 6d2cd4ea8b Merge mozilla-inbound to mozilla-central a=merge 2019-05-11 12:28:35 +03:00
Jim Blandy e22c732ca4 Bug 1451268: RematerializedFrames may not be cached, even when younger frames are. r=jorendorff
If the Debugger API tries to inspect or modify an IonMonkey frame, much of
the information it expects to find in a frame is missing: function calls
may have been inlined, variables may have been optimized out, and so on. So
when this happens, SpiderMonkey builds one or more Rematerialized frames
from the IonMonkey frame, using metadata built by Ion to reconstruct the
missing parts. The Rematerialized frames are now the authority on the state
of those frames, and the Ion frame is ignored: stack iterators ignore the
Ion frame, producing the Rematerialized frames in their stead; and when
control returns to the Ion frame, we pop it, rebuild Baseline frames from
the Rematerialized frames, and resume execution in Baseline.

Thus, Rematerialized frames are always created with their
hasCachedSavedFrame bits clear: although there may be extant SavedFrames
built from the original IonMonkey frame, the Rematerialized frames will not
have cache entries for them until they are traversed in a capture themselves.

This means that, oddly, it is not always true that, once we reach a frame
with its hasCachedSavedFrame bit set, all its parents will have the bit set
as well. However, clear bits under younger set bits will only occur on
Rematerialized frames.

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

--HG--
extra : moz-landing-system : lando
2019-05-11 02:17:04 +00:00
Jeff Walden 353b248b45 Bug 1548729 - Move SourceHook-related functionality into its own public header for reduced dependencies. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D29781

--HG--
rename : js/src/jsfriendapi.h => js/public/experimental/SourceHook.h
rename : js/src/jsfriendapi.cpp => js/src/vm/SourceHook.cpp
extra : moz-landing-system : lando
2019-05-10 23:38:56 +00:00
Coroiu Cristina d2d1ba5805 Backed out changeset 45ff6c2d30e5 (bug 1548729) for SpiderMonkey failure at build/src/js/src/vm/SourceHook.cpp 2019-05-11 02:15:15 +03:00
Jeff Walden 684ce81117 Bug 1548729 - Move SourceHook-related functionality into its own public header for reduced dependencies. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D29781

--HG--
rename : js/src/jsfriendapi.h => js/public/experimental/SourceHook.h
rename : js/src/jsfriendapi.cpp => js/src/vm/SourceHook.cpp
extra : moz-landing-system : lando
2019-05-10 22:42:27 +00:00
Daniel Varga 84647fc525 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-05-11 00:53:46 +03:00
Daniel Varga bfc993c71e Merge mozilla-inbound to mozilla-central. a=merge 2019-05-11 00:48:13 +03:00
Jeff Walden d33e37d1c6 Bug 1549758 - Revert column-number counts to counts of code units for release-or-beta, pending perf considerations in column-number counting being fixed. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D30717

--HG--
extra : moz-landing-system : lando
2019-05-10 21:32:31 +00:00
Daniel Varga 860854d157 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-05-11 00:51:51 +03:00
Jon Coppeard b5c54bbc69 Bug 1550734 - Clarify the purpose and implementation of FreeOp::freeLater r=sfink DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D30667
2019-05-10 17:47:39 +01:00
Jon Coppeard 34abf9ea7c Bug 1395509 - Track malloc memory associated with strings r=jandem
This adds memory tracking for string contents while leaving the current scheme in place for the time being.

Differential Revision: https://phabricator.services.mozilla.com/D30517
2019-05-09 16:23:52 +01:00
Jon Coppeard 615ae8a035 Bug 1395509 - Track malloc memory associated with array buffers r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D30516
2019-05-09 16:15:28 +01:00
Jon Coppeard 0a4878d01f Bug 1395509 - Add FreeOp methods free memory and update memory accounting r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D30515
2019-05-09 13:19:35 +01:00
Jon Coppeard c88dcc846e Bug 1395509 - Add APIs to track internal memory assocated with GC things r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D30514
2019-05-09 13:13:09 +01:00
Ashley Hauck 881711d67c Bug 1550628 - Correctly handle OOM. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D30597

--HG--
extra : moz-landing-system : lando
2019-05-10 01:08:35 +00:00
Brindusan Cristian 7f7d7f6a70 Backed out changeset e925cef1cadf (bug 1549326) for mochitest assertion failures at nsContentSecurityManager.cpp:205. CLOSED TREE 2019-05-09 21:05:40 +03:00
Jim Blandy 65825b234f Bug 1546817: Refactor and document Debugger support in js::CrossCompartmentKey. r=sfink
This replaces the various Debugger-related member classes in
js::CrossCompartmentKey with a series of small structs that can be used directly
as alternatives in CrossCompartmentKey::WrappedType. Thus, instead of having a
two-level tag --- the Variant tag, and then for DebuggerAndObject case, a
DebuggerObjectKind value --- the Variant tag can do all the work by itself.

This also tightens up the types a bit: choosing the wrong DebuggerObjectKind
would be a silent error, but using the wrong constructor might get you a type
error (although unfortunately some of the types are not as specific as you might
hope: NativeObject instead of WasmInstanceObject, for example).

A new comment explains the rationale for giving Debugger API objects entries in
the wrapper map.

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

--HG--
extra : moz-landing-system : lando
2019-05-09 17:38:13 +00:00
Jonas Allmann 4b72fd9bba Bug 1549326 - Remove simpletest.js from eval()-whitelist, r=ckerschb
Amend several test files for triggering eval() assertion through simpletest.js

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

--HG--
extra : moz-landing-system : lando
2019-05-09 16:02:49 +00:00
Jon Coppeard 75bfdb344c Bug 1549853 - Ignore associations of zero bytes of malloc memory with a GC thing r=sfink?
Differential Revision: https://phabricator.services.mozilla.com/D30355

--HG--
extra : moz-landing-system : lando
2019-05-08 17:46:02 +00:00
Jon Coppeard 94e50ef5a8 Bug 1549986 - Make all concrete implementations of JSTracer final to aid devirtualization r=sfink?
Differential Revision: https://phabricator.services.mozilla.com/D30362

--HG--
extra : moz-landing-system : lando
2019-05-09 08:39:23 +00:00
Csoregi Natalia e3fa16f6f6 Backed out changeset 1760c6913c09 (bug 1549340) for rust bustage. CLOSED TREE
--HG--
extra : rebase_source : 19015aa11df57b8026881f6a86a4714887ec0244
2019-05-10 18:16:09 +03:00