Commit Graph

67375 Commits

Author SHA1 Message Date
Brian Hackett
3c4231fd5b Bug 1488808 Part 10 - Notify the record/replay system when a message pump thread blocks after diverging from the recording, r=froydnj.
--HG--
extra : rebase_source : c82088f0903b618caee3b0366a8c681ff6f445a1
2018-10-17 10:05:02 -06:00
Lars T Hansen
979031918c Bug 1500120 - fix compiler state for struct.narrow. r=bbouvier
This makes sure that the compiler's view of the stack matches the run-time stack
when we generate code for struct.narrow.  The bug crept in here because I
insisted on generating an in-line test for null before calling out to the
instance.  But this is unnecessary; the code in the instance can do this just
fine, and null is not a common case here.  (And struct.narrow is extremely slow
in any case, as it's just prototype code)

So, move the null check to C++ and generate straight-line code in Rabaldr.

--HG--
extra : rebase_source : 701c7c461683793cfc84f38461507c73eb4e96a0
2018-10-18 17:15:19 +02:00
Lars T Hansen
ed8704203d Bug 1496582 - add required flags to bulk memory/table operations. r=jseward
The encodings are specified at the very bottom of
https://github.com/WebAssembly/bulk-memory-operations/blob/master/proposals/bulk-memory-operations/Overview.md

I have opted to call the byte memOrTableFlags because that is the
meaning it will eventually have, even though currently the spec calls
it a "memory" (even when the subject is a table).

--HG--
extra : rebase_source : 878e3aa728c34322807d9ea4e7be64d387256ab2
extra : source : 5181d6aefd2cf3881c3d18fc6919b3f5eb9ec576
2018-10-17 13:25:58 +02:00
Lars T Hansen
add2a1f849 Bug 1495731 - remove JS_VOLATILE_ARM, it is no longer relevant. r=waldo
JS_VOLATILE_ARM was a workaround for a gcc 4.7 bug on B2G where it
would generate unaligned word accesses that should have been
individual byte accesses.  We now require at least gcc 6.1 (and ARM
systems support unaligned accesses).

--HG--
extra : rebase_source : a00a0bf0758e009e362275197ac4718c4d02489f
extra : source : 0448c0a2081eb71cf5f9449d9c9f32a2aaa38e2d
2018-10-02 16:16:12 +02:00
Margareta Eliza Balazs
201d77abf9 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-18 13:27:07 +03:00
Margareta Eliza Balazs
c56977420d Merge inbound to mozilla-central. a=merge 2018-10-18 13:20:43 +03:00
Jon Coppeard
034bf3c449 Bug 1498980 - Remove module environment from live debugger envionments after execution r=jorendorff 2018-10-18 10:33:33 +01:00
Dorel Luca
88bfc3786c Backed out 5 changesets (bug 1497707) for android mass failures. CLOSED TREE
Backed out changeset bb1b80139e37 (bug 1497707)
Backed out changeset 11c813f192e2 (bug 1497707)
Backed out changeset 32595f9e73d3 (bug 1497707)
Backed out changeset f37f2d39ec9c (bug 1497707)
Backed out changeset 80bf9ddf5bed (bug 1497707)

--HG--
extra : rebase_source : 598b7732d9b994dfeb63c417841a4b9516ecdf19
2018-10-18 00:35:39 +03:00
Andrew McCreight
114c3035be Bug 1497707, part 5 - Inline mozilla::ModuleLoader into mozJSComponentLoader r=froydnj
Now that the XPCOM component loader infrastructure has stopped
pretending to support other file extensions, this intermediate
interface is no longer needed.

Depends on D8171

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

--HG--
extra : moz-landing-system : lando
2018-10-17 20:45:43 +00:00
Andrew McCreight
eefa2cf094 Bug 1497707, part 4 - Only support loading JS files in the component manager r=froydnj
JS is the only file extension actually supported, and there are a few
layers of cruft that can be eliminated if we specialize it.

This eliminates one XPCOM registration of the JS component loader.

Depends on D8170

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

--HG--
extra : moz-landing-system : lando
2018-10-17 20:45:43 +00:00
Andrew McCreight
7c9511ad37 Bug 1497707, part 1 - Get rid of xpcIJSModuleLoader r=kmag
This interface is only used for a few testing functions. Just move
them to Cu.

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

--HG--
extra : moz-landing-system : lando
2018-10-17 20:45:41 +00:00
Nick Alexander
d56eb2a314 Bug 1489443 - Set GCC_USE_GNU_LD based on linker kind. r=froydnj
The desired outcome of this change is that we'll set
-Wl,--version-script based on linker kind and not on the output of
$LINKER -v.

This is a cheap way to address a simple problem that has a complicated
ideal solution. The underlying issue is that in some situations, when
targeting Android, a macOS system ld is interrogated to determine if
a cross-compiling linker "is GNU ld" and a particular linker feature
is set in that situation. The macOS system ld doesn't pass the "is
GNU ld" test, and the linker feature isn't set; that causes link
failures, even though the actual linker has nothing to do with the
system ld.

The ideal solution is to test for linker capabilities dynamically. We
do a lot of that in old-configure.in, and we don't do any of that in
toolchain.configure. Rather than start testing in
toolchain.configure, we hard-code: a cheap solution to the immediate
problem.

MinGW suffers somewhat from the opposite problem: the linker "is GNU
ld" (compatible), but the linker checks don't happen at all. We hard-code
for MinGW based on the C compiler instead.

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

--HG--
extra : moz-landing-system : lando
2018-10-17 19:46:03 +00:00
Masatoshi Kimura
f38cdcfbf1 Bug 1496179 - Make mozglue.dll a private SxS assembly. r=aklotz,froydnj
SxS assemblies do not obey the usual DLL search order. It will make it possible
to load mozglue.dll from appdir even if the PreferSystem32Images mitigation is
enabled and System32 has a random mozglue.dll.
2018-10-10 22:57:53 +09:00
Coroiu Cristina
583cda7af6 Backed out 2 changesets (bug 1398354) for spidermonkey and hazard bustages at js/src/jsapi-tests/testStringIsArrayIndex.cpp on a CLOSED TREE
Backed out changeset 344b7e258ea5 (bug 1398354)
Backed out changeset 8e41c385edb9 (bug 1398354)
2018-10-18 06:23:14 +03:00
Boris Zbarsky
0bcbd42c1b Bug 1398354 part 1. Expose StringIsArrayIndex taking a char pointer in jsfriendapi. r=waldo 2018-10-17 23:00:49 -04:00
A. Wilcox
59da0021ff Bug 1499277 - Remove unnecessary SCInput::readNativeEndian; fix SCInput::readPtr on big endian systems. r=sfink 2018-10-16 05:43:43 +00:00
Kannan Vijayan
54485b65bc Bug 1494537: Add CacheIR stub for out-of-initialized-length-bounds assignments to arrays. r=tcampbell 2018-10-17 14:48:25 -04:00
Benjamin Bouvier
51fd95ec87 Bug 1499198 - Use a constant memory load instead of a word reference in convertUint64ToDouble. r=luke 2018-10-17 18:10:24 +02:00
shindli
6b3bca7b14 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-17 03:59:39 +03:00
shindli
2eb594138a Merge inbound to mozilla-central. a=merge 2018-10-17 03:55:26 +03:00
Jeff Walden
8ad68c266a Rename the current CharT typename parameter, used for either char16_t or mozilla::Utf8Unit, to Unit -- so that CharT can be used for actual C++ character types, when such are needed to intermesh with character-demanding APIs. Also change a few "chars" in function/variable names to "units" for consistency. No bug, rs=jorendorff over IRC 2018-10-16 15:41:32 -07:00
Steve Fink
e17d968203 Bug 1480129 followup - suppress flake8 complaint
Landing on a CLOSED TREE due to this problem (among others).

--HG--
extra : amend_source : b5acb18047df64771a6c7a4a04c92a1b79c26bde
2018-10-16 14:51:33 -07:00
Steve Fink
2fbae0eae1 Backed out changeset c7b32ffa822e (bug 1321014) on a CLOSED TREE
--HG--
extra : amend_source : 1a8f1a344d56d70673ec9977c62847ebb147f4ca
2018-10-16 14:35:48 -07:00
Steve Fink
04fc511d3d Backed out changeset c22b643cdf51 (bug 1479961, bug 1480129) 2018-10-16 14:35:44 -07:00
Steve Fink
1e4c6cc85c Backed out changeset 66d022f720b6 (bug 1480129) 2018-10-16 14:35:40 -07:00
Steve Fink
31f4a841b2 Backed out changeset de5dbc800bc7 (bug 1480129) 2018-10-16 14:35:34 -07:00
Iain Ireland
95556db740 Bug 1499471: Mark unsafe API functions to allow calling from recovery code r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D8899

--HG--
extra : moz-landing-system : lando
2018-10-16 20:55:41 +00:00
Cosmin Sabou
5f9d087c63 Merge mozilla-central to autoland. a=merge 2018-10-16 19:27:54 +03:00
Cosmin Sabou
884e6b7585 Merge mozilla-inbound to mozilla-central. a=merge 2018-10-16 19:24:57 +03:00
Kannan Vijayan
634aca703e Bug 1496847 - Restrict GetElem generic stub to access on sparse indexes only. r=tcampbell 2018-10-16 09:24:42 -04:00
Matthew Gaudet
58a9386709 Bug 1494647: Add flags section to CacheIR spew, and report dictionary mode r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D8761

--HG--
extra : rebase_source : 0f4bed666a27dfbf9db9f35c28f3f78187a6603a
2018-10-15 15:14:29 -04:00
Jon Coppeard
18de456bcf Bug 1482153 - Provide a way of associating a private value with a script or module r=jandem rs=hsivonen 2018-10-16 13:44:12 +01:00
Sylvestre Ledru
8d30e3fa8e Bug 1498618 - Never apply clang-format on code in {{{ check_macroassembler_style r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D8571

--HG--
extra : moz-landing-system : lando
2018-10-15 10:02:00 +00:00
Tooru Fujisawa
3a981730ce Bug 1498464 - Part 2: Fix BytecodeEmitter parameter type and name. r=jorendorff 2018-10-16 15:01:15 +09:00
Tooru Fujisawa
830f30f6a7 Bug 1498464 - Part 1: Fix comment for CallOrNewEmitter. r=jorendorff 2018-10-16 15:01:15 +09:00
Tooru Fujisawa
87a8dd1a9d Bug 1493870 - Remove ParseNode::name. r=jorendorff 2018-10-16 15:01:15 +09:00
Noemi Erli
6f5e7779a8 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-16 07:30:03 +03:00
Noemi Erli
43a767902f Merge inbound to mozilla-central. a=merge 2018-10-16 07:27:42 +03:00
Jeff Walden
52f3ecf834 Bug 1498458 - Add a test for OOM on failure to allocate ArrayBuffer contents that won't fit in a typed array's inline storage. r=nbp
--HG--
extra : rebase_source : 5ef813c93a05b6fe45477179fa1d91e0d478c295
2018-10-15 15:07:29 -07:00
Noemi Erli
f63cc2b795 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-16 01:21:28 +03:00
Noemi Erli
014b37a409 Merge inbound to mozilla-central. a=merge 2018-10-16 01:20:08 +03:00
Jim Blandy
9c8348c3d5 Bug 1488385: Default class constructors are no longer self-hosted once they're cloned. r=tcampbell
When we clone the script of a default class constructor (derived or base), we
need to clear its SELF_HOSTED flag, since such functions are supposed to behave
just like ordinary functions from user code: their frames should appear on the
stack, and so on. However, the SELF_HOSTED flag must remain set until the script
is actually cloned from the original, to satisfy the (quite reasonable)
assertion that only SELF_HOSTED functions get their scripts cloned from the
self-hosted compartment.

Depends on D8620

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

--HG--
extra : moz-landing-system : lando
2018-10-13 01:56:53 +00:00
Jim Blandy
44bcf42c89 Bug 1488385: Remove JSFunction::infallibleIsDefaultClassConstructor and its uses. r=tcampbell
This function is used only by js::MakeDefaultConstructor, which uses it to
assert that the self-hosted function clone it just created is a default class
constructor. This assertion is not very valuable:

- The function is always a self-hosted builtin, since we created it by calling
  createLazySelfHostedFunctionClone a few lines earlier.

- In the self-hosted builtin case, infallibleIsDefaultClassConstructor can't
  consult the script's isDefaultClassConstructor predicate, so it just checks
  the function's LAZY_FUNCTION_NAME_SLOT, verifying that it is one of the two
  names supplied in MakeDefaultConstructor, also a few lines above the call.

- It then asserts that, if the function is a default class constructor, its
  `isConstructor` and `isClassConstructor` predicates agree. This is also
  checked in MakeDefaultConstructor.

So the checks are superfluous.

In the next patch, we want to clear the SELF_HOSTED flag on default
constructors, since they should appear in all respects as if they originated
with the class declaration, in user code. Having a predicate like
infallibleIsDefaultClassConstructor around insisting that they must be
self-hosted builtins would be confusing.

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

--HG--
extra : moz-landing-system : lando
2018-10-13 01:51:12 +00:00
Jeff Walden
def84d6ecb Bug 1498458 - Properly report OOM on failure to allocate ArrayBuffer contents for a fresh ArrayBuffer that can't fit in inline storage. r=nbp
--HG--
extra : rebase_source : 5f1e4672615f03b61120b714b968e8be11a0aa99
2018-10-11 20:32:11 -07:00
Andrew McCreight
2df0136940 Bug 1498404 - Fix some errors in manifests r=froydnj
In FxAccountsComponents.manifest, the previous line registers the
component CID, but only for the main process. This means we hit an
error while parsing the manifest in the child process, because the CID
is not recognized. The fix is simply to not try to use the CID to
register the contract in the child process.

As for the rest of the changes, since bug 1438688, XPT information is
compiled into the Firefox binary, so the interfaces manifest entry is
no longer needed. This patch removes instances of this line from
manifest files. This makes some manifest files empty, so the patch
also removes the now-empty files.

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

--HG--
extra : moz-landing-system : lando
2018-10-16 13:26:23 +00:00
Paul Bone
6460cad3b5 Bug 1498095 - Only poison the portion of the nursery we used r=jonco
We have to do this both for sweeping and when setting the current chunk.  We
set the current chunk after sweeping so to have an effect when there's only
one chunk (the main reason for this code) we need to do this correctly then
also.

--HG--
extra : rebase_source : a7b3515588e4b7421d88cc855221b27c5d437038
2018-10-11 16:29:55 +11:00
Paul Bone
a53652b589 Bug 1498177 - Use size_t for integer values particularly for comparisons r=sfink
These values were compared as floats, where there was no sagnificant
difference and the assertion failed.

--HG--
extra : rebase_source : 78540e23c113c781c515073f376ed5aa74322a07
2018-10-12 20:17:58 +11:00
Noemi Erli
a52231df87 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-16 01:22:27 +03:00
Eric Faust
180a06778b Bug 1497796 - Mark with block contents in BinAST as being "in a with". (r=arai)
--HG--
extra : rebase_source : ce5fa6f9cdd8884a191762ef31fb46ccbf8b73b3
2018-10-15 17:17:58 -04:00
Eric Faust
ae0de9dc24 Bug 1497792 - Make arguments objects for more functions in BinAST. (r=arai)
--HG--
extra : rebase_source : 774ac7ef9c638786baa62364bdbeb86504158b35
2018-10-15 17:17:58 -04:00