Commit Graph

66470 Commits

Author SHA1 Message Date
Jon Coppeard
4cf97b85a5 Bug 1485031 - Use wrapper object to represent scripts in shell module APIs r=sfink 2018-08-23 16:59:12 +01:00
Jon Coppeard
c52bf800a4 Bug 1485615 - Move internal ZoneAllocPolicy to gc/Zone.h r=sfink 2018-08-23 16:59:01 +01:00
Jon Coppeard
4da01fd496 Bug 1485615 - Make RegExpZone a separate allocation to Zone r=sfink 2018-08-23 16:58:47 +01:00
Steve Fink
564c109f32 Bug 1479673 - "Handle" assembly code. r=me
--HG--
extra : topic : hazard
extra : rebase_source : 4e52e81ceeb226f4851345437e9e99e0933cea66
2017-09-26 18:18:53 -07:00
Steve Fink
3ab370dfe9 Bug 1479673 - Synthesize calls between various destructor variants that better match observed behavior and my current understanding, r=jonco
--HG--
extra : topic : hazard
extra : rebase_source : 515bdf28d2e4f9168bb31e89029d2840ca8495b7
2018-07-11 16:56:40 -07:00
Steve Fink
b0006a2c76 Bug 1479962 - Add JS_HAZ_ROOTED_BASE for AutoGCRooter, which assumes all descendants are rooted, r=jonco
--HG--
extra : topic : hazard
extra : rebase_source : a75561cdf2f71e34a630737dcf832d05d95974b0
2018-07-24 16:52:43 -07:00
Steve Fink
45873100f5 Bug 1479673 - Disable the analysis while calling function pointers during tracing, r=me.
Fixes a hazard introduced by allowing the analysis to correctly see through more of the callgraph.

--HG--
extra : topic : hazard
extra : rebase_source : a2b20f3a4c5127c502c1402ca9abbd1e2ad0d382
2018-08-13 10:49:16 -07:00
Steve Fink
d5a201ece6 Bug 1482178 - IonBuilder needs to access script zone from any thread, r=jandem
--HG--
extra : topic : nursery.strings.fix
extra : rebase_source : a8d4c0f88c22ae4354eddce0dc6a6c77d85797b8
2018-08-22 10:48:27 -07:00
Nicolas B. Pierron
76983b2b1a Bug 1467116 - Add a red-zone for each LifoAlloc allocation. r=tcampbell 2018-08-23 14:52:23 +02:00
Gurzau Raul
80d0825239 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-23 15:31:37 +03:00
Csoregi Natalia
67cc8b873a Backed out 3 changesets (bug 956376) for browser_dbg-quick-open.js failures. a=backout
Backed out changeset 3e61a2874367 (bug 956376)
Backed out changeset 8169bed1fafc (bug 956376)
Backed out changeset 46dfdfe14067 (bug 956376)
2018-08-23 15:15:31 +03:00
Lars T Hansen
4a601e2fa3 Bug 1480725 - mark tests as slow temporarily r=me CLOSED TREE
--HG--
extra : rebase_source : 541ad19ea373961258df7ffe29e675176e63958b
2018-08-23 13:03:34 +02:00
Tooru Fujisawa
5f6965d567 Bug 1454285 - Part 3: Add test. r=jwalden 2018-08-23 15:48:13 +09:00
Tooru Fujisawa
1f7a0031a1 Bug 1479813 - Remove unnecessary test for delazification. r=jimb 2018-08-23 15:48:07 +09:00
Jan de Mooij
696e726043 Bug 1466118 part 9 - Some more cleanup. r=luke
--HG--
extra : rebase_source : 509b7cd76dd44cbf6691bdaa3fd9581feecba7a9
2018-08-22 11:54:31 +02:00
Jan de Mooij
33c23d877c Bug 1466118 part 8 - Change compartment check to realm check for JSScript and AbstractFramePtr. r=luke
--HG--
extra : rebase_source : a4c29a2f5aec406883d4d429ffcf9720ab29ce4f
2018-08-21 13:14:23 +02:00
Jan de Mooij
7930c29c25 Bug 1466118 part 7 - Avoid a TLS lookup for each compartment check. r=jonco
--HG--
extra : rebase_source : d31a14c44c281a5931743806a8fd2ae560959b4b
2018-08-21 12:58:58 +02:00
Jan de Mooij
37ba79255e Bug 1466118 part 6 - Rename CompartmentChecker to ContextChecks and support realm checks. r=luke
--HG--
extra : rebase_source : ae82aa6126bd8d169504c0fa0505348d626012cc
2018-08-21 12:48:03 +02:00
Jan de Mooij
0031fef557 Bug 1466118 part 5 - Replace assertSameCompartmentImpl with JSContext::checkImpl. r=luke
--HG--
extra : rebase_source : 9fccb0b445e1521903ea1310d6b85bec2c0fcd85
2018-08-21 12:34:18 +02:00
Jan de Mooij
4c32da5e1a Bug 1466118 part 4 - Replace assertSameCompartment with JSContext::check. r=luke
--HG--
extra : rebase_source : df78f08fa1e3a26f6713f3c669f4777dbdd9c988
extra : source : e24d946c4978ef29e025fee2f9b79339a27b7d79
2018-08-21 12:18:21 +02:00
Jan de Mooij
aa66503708 Bug 1466118 part 3 - Replace assertSameCompartmentDebugOnly with JSContext::debugOnlyCheck. r=luke
--HG--
extra : rebase_source : d654bc0ce7ab4803ff73889281e2e07d16ae66a2
2018-08-21 12:11:52 +02:00
Jan de Mooij
4f14f33f62 Bug 1466118 part 2 - Replace releaseAssertSameCompartment with JSContext::releaseCheck. r=luke
--HG--
extra : rebase_source : 55532737970009ea24149cbf93a2bace3d54ca3a
2018-08-21 12:07:57 +02:00
Jan de Mooij
fd73b662f3 Bug 1466118 part 1 - Use variadic templates for assertSameCompartment functions. r=luke
--HG--
extra : rebase_source : 4a4d62c9a14bcd55fe758bdc46c8e746b9247442
2018-08-21 11:57:49 +02:00
Nicolas B. Pierron
e5ad38e790 Bug 1418971 - Add Bug 1363233 test case. r=me 2018-08-23 11:54:57 +02:00
Lars T Hansen
3703543d75 Bug 1470490 - Introduce Atomics.notify, make Atomics.wake an alias. r=anba
TC39 has decided to rename Atomics.wake as the more conventional
Atomics.notify.  The webcompat fallout from this should be roughly
zero, as browser currently have disabled SAB as a result of the
Spectre kerfuffle.

This patch introduces Atomics.notify, and changes a number of names in
the code and in test cases as a result, but retains Atomics.wake as an
alias until we're happy that we don't need it.

A note on nomenclature used in the code: Though Atomics.notify
/notifies/ the target agent, we still say that the agent was /woken/
by the notification if it becomes schedulable.  An agent can be
notified without being woken in obscure implementation-specific
settings, normally having to do with waiting in interrupt handlers.

Also fixes a completely blatant and impossible-not-to-discover bug in
tests/shell/futex.js.  Do we never run shell tests marked "slow"?
This makes me nervous.

--HG--
extra : rebase_source : db86f1c1b92ad831d081dd606e057d2919deb466
extra : histedit_source : eadfd80f068f7dec8c34f5cdfaadeecd31d001b4
2018-08-18 13:31:38 +02:00
Brindusan Cristian
7ac19aed65 Merge inbound to mozilla-central. a=merge 2018-08-23 06:41:38 +03:00
Ted Campbell
a8e02854ed Bug 1485499 - Reduce size of js::Symbol r=sfink
MozReview-Commit-ID: 4mEHixUnUax

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

--HG--
extra : moz-landing-system : lando
2018-08-23 01:34:37 +00:00
Tooru Fujisawa
1e303abb85 Bug 956376 - Part 1: Add Debugger.findSources. r=jimb 2018-08-23 09:27:30 +09:00
Brindusan Cristian
d2592042f8 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-23 01:02:39 +03:00
Denis Palmeiro
2a6d629a20 Bug 1482560: Do not flush tracelogger to disk unless specifically requested to do so r=sfink
When enabling the tracelogger, it will automatically spew the data to disk in the location specified by TLDIR or /tmp, if undefined.  However, there needs to be a way to enable the tracelogger without spewing so that we can write this data as part of the gecko profiler JSON output, and ultimately visualized with perf.html.

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

--HG--
extra : moz-landing-system : lando
2018-08-22 20:09:33 +00:00
Lars T Hansen
f829920fb9 Bug 1480725 - stress test wasm atomics. r=luke
Atomic operations are stress-tested by having multiple workers work on
the same location in ways that would reveal non-atomicity in an
incorrect result.

We run these tests only on native implementations, not on simulators.
Our simulators don't implement atomicity well.

This patch has the bare minimum, testing multiple agents that perform
the same operation.  It's possible to do more, notably, to combine
different operations.

--HG--
extra : rebase_source : ddc2f611e87d099d15eedaec81304056b2ed14ac
extra : histedit_source : 466994c25d0d33986c41f5420bcc1dfa235f08fe
2018-08-09 15:47:30 +02:00
Lars T Hansen
cbd4a32ca1 Bug 1467632 - Specialize ReadScalar<ExprType>. r=luke
Normally ReadScalar uses memcpy from the source stream to the
destination object.  This is only well-defined if the destination
argument is a POD type, which ExprType is not.  So specialize
ReadScalar for ExprType and make the memcpy target the data payload in
that type instead.

--HG--
extra : rebase_source : 20df55aa1358e2bbceb3a06a386732897abaff27
extra : histedit_source : 1097641e4da9d4f656d7e2900878a116cd080efb
2018-08-21 09:17:05 +02:00
Lars T Hansen
4e03c7e674 Bug 1467632 - Make AsmJSGlobal's pod field be POD. r=luke, r=waldo
The pod member needs to be POD but has members that have evolved no
longer to be POD - a ValType and a LitVal.  We work around the problem
locally by using ValType's representation type PackedTypeCode to
represent types, and by specializing LitVal as LitValPOD for use in
this structure.

--HG--
extra : rebase_source : 76194d811f28316ad890d6c9f1978773f3570838
2018-08-20 17:14:19 +02:00
Steve Fink
68810d7507 Bug 1481740 - Never do endianness swapping on pointers, r=lth
--HG--
extra : topic : nursery.strings.fix
extra : rebase_source : 59fc25493b07a621f92154668c88652f0a865ef1
2018-08-08 11:16:21 -07:00
Steve Fink
71c1e0f58f Bug 1470921 - Re-check whether nursery strings are enabled after collecting during allocation, r=jonco
--HG--
extra : topic : nursery.strings.fix
extra : rebase_source : 4befad86d2f96fcbf1d314b23434d0d4f935acac
2018-08-16 16:49:25 -07:00
Steve Fink
fd926c1cd2 Bug 1481897 - Remove HashPolicy template param from WeakMap, force to use MovableCellHasher<Key> instead, r=jonco
--HG--
extra : rebase_source : c6babd16996b56517988d577197b572989bab6f2
2018-08-08 11:02:18 -07:00
Jason Orendorff
d5f46f31e0 Bug 1479429 - Add a range check for the argument to Debugger.Script.prototype.get{Predecessor,Successor}Offsets. r=bhackett
--HG--
extra : rebase_source : 2f60dff4108774e5828d3afa957817c3cc85563b
2018-08-09 15:29:37 -05:00
Jeff Walden
589e40bc4c Bug 1485119 - Don't pass the result of ValueToPrintableUTF8 to a function called JS_ReportErrorASCII. r=anba
--HG--
extra : rebase_source : 325264b507d2b3eb7ffb817f28c40042bc891a5f
2018-08-22 13:12:50 -05:00
Jeff Walden
7164db9da7 Bug 1484943 - Don't assert when trying to formatToParts a NaN value whose sign bit is set. r=anba
--HG--
extra : rebase_source : fb0ef69a0e6611cbeda719eccabd95f2abcdec1a
2018-08-21 14:34:50 -05:00
Jason Orendorff
383345c146 Bug 1475417 - Part 2: Fire onEnterFrame when resuming a generator or async function. r=jandem, r=jimb
--HG--
extra : rebase_source : c6f2cd2cc77bea35e13af0dcc3fa7c50beb07e9b
extra : source : a3901162a1ece01cb8bacf606ad57e3cef741b7e
2018-08-15 15:09:30 -05:00
Jan de Mooij
7a68d5cb68 Bug 1466128 part 2 - Rename AutoCompartment to AutoRealm. r=jdm
Differential Revision: https://phabricator.services.mozilla.com/D3325

--HG--
extra : rebase_source : 961707f473d4c6664736f5f2e266be949a9ac700
extra : source : a4262ccfec7a662f672138f856cd7779ebd8e824
2018-08-14 14:25:48 +02:00
Jan de Mooij
e25a7d3dd1 Bug 1466128 part 1 - Rename ac.rs to ar.rs. r=jdm
Differential Revision: https://phabricator.services.mozilla.com/D3324

--HG--
rename : js/rust/src/ac.rs => js/rust/src/ar.rs
extra : rebase_source : 7d6e78d8ccf812347f739852c2d19d08fc5ae96c
2018-08-14 14:24:22 +02:00
Nicholas Nethercote
d4f517f3e2 Bug 1483182 - Don't allocate in HashTable::lookupOrAdd(). r=luke
Currently lookupOrAdd() will allocate if the table has no storage. But it
doesn't report an error if the allocation fails, which can cause problems.

This patch changes things so that lookupOrAdd() doesn't allocate when the table
has no storage. Instead, it returns an AddPtr that is not *valid* (its mTable
is empty) but it is *live*, and can be used in add(), whereupon the allocation
will occur.

The patch also makes Ptr::isValid() and AddPtr::isValid() non-public, because
the valid vs. live distinction is non-obvious and best kept hidden within the
classes.

--HG--
extra : rebase_source : 95d58725d92cc83332e27a61f98fa61185440e26
2018-08-21 13:49:17 +10:00
Andreea Pavel
c8dfc19d97 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-08-22 06:38:49 +03:00
Andreea Pavel
883da574e8 Merge mozilla-inbound to mozilla-central. a=merge 2018-08-22 06:35:14 +03:00
Tiberius Oros
05b46cf200 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-22 00:59:19 +03:00
Tooru Fujisawa
ce0d96216e Bug 1483188 - Fix the assertion for reaction record fields. r=anba 2018-08-22 10:01:34 +09:00
Dorel Luca
b704584332 Merge mozilla-central to autoland 2018-08-21 19:03:25 +03:00
Ted Campbell
54781329d1 Bug 1484382 - Use mozilla::ScopeExit in js/src r=jandem
Bug 1484382 - Use mozilla::ScopeExit in jit/JitFrames.cpp
Bug 1484382 - Use mozilla::ScopeExit in vm/TypeInference.cpp
Bug 1484382 - Use mozilla::ScopeExit in jit/JitcodeMap.cpp
Bug 1484382 - Use mozilla::ScopeExit in jit/JitFrames.cpp

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

--HG--
extra : moz-landing-system : lando
2018-08-21 08:59:31 +00:00
Nathan Froyd
3f79c03f8b Bug 1482294 - disable jit unwind handling on aarch64 windows; r=jandem
As the comment for SetJitExceptionHandler makes clear, the
infrastructure we have for generating unwind information on 64-bit
Windows is only necessary to permit Breakpad to generate crash reports.
We don't even have crash reporting for our non-existent AArch64 Windows
builds, and it will likely take us some time to make the necessary
changes in Breakpad and elsewhere.  In addition, the unwind information
format is completely different on AArch64, and there's no decent
documentation on it yet.

Given all of this, the easiest way forward right now is to simply
disable this code to get things compiling.  We can reenable it later
once we understand how to add appropriate support.
2018-08-21 15:29:23 -04:00