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

69286 Коммитов

Автор SHA1 Сообщение Дата
Boris Zbarsky f619616521 Bug 1471496 part 2. Change the way we do cross-compartment wrappers for Window and Location so they don't ever need to be recomputed. r=bholley
The end result we want is that on the web cross-compartment wrappers for
WindowProxy and Location are always CrossOriginObjectWrapper.  That needs to be true
for both cases that are different-origin (as now) and cases that are
same-origin, since they might become different-origin due to document.domain
changes but we don't want that to affect the wrappers involved.

On the web, all security checks are symmetric, so in WrapperFactory::Rewrap we
would have originSubsumesTarget == targetSubsumesOrigin in all web cases.

I claim that

  originSubsumesTarget == targetSubsumesOrigin &&
  (!targetSubsumesOrigin ||
   (!originCompartmentPrivate->wantXrays &&
    !targetCompartmentPrivate->wantXrays)) &&
  "object is a WindowProxy or Location"

is a necessary and sufficient condition for using CrossOriginObjectWrapper.

Comparing to our current code, if originSubsumesTarget and targetSubsumesOrigin
are both false, then for the WindowProxy and Location cases we currently end up
with the following arguments to SelectWrapper:

  securityWrapper: true
  xrayType: XrayForDOMObject
  waiveXrays: false

So SelectWrapper ends up returning CrossOriginObjectWrapper, which the new
condition keeps doing.

If originSubsumesTarget and targetSubsumesOrigin are both true, then there are
two cases.  If both compartments have wantXrays false (which is always the case
on the web), then we end up with the following arguments to SelectWrapper:

  securityWrapper: false
  xrayType: NotXray
  waiveXrays: false

and SelectWrapper returns CrossCompartmentWrapper.  We want to do
CrossOriginObjectWrapper instead, as explained above.

Finally, if originSubsumesTarget and targetSubsumesOrigin are both true but one
of the compartments has wantXrays set, then we get:

  securityWrapper: false
  xrayType: XrayForDOMObject
  waiveXrays: might be true or false

and then SelectWrapper might return a WaiveXrayWrapper or a PermissiveXrayDOM.
In this case we do _not_ want to start returning CrossOriginObjectWrapper, and
this is a non-web case anyway, since web compartments can't set wantXrays.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 14:53:48 +00:00
Gurzau Raul 800cbc5955 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-02-06 23:59:24 +02:00
Boris Zbarsky 32d6918e13 Bug 1521677 followup. Fix jsapi test to reopen the CLOSED TREE. r=me 2019-02-06 12:38:14 -05:00
Brindusan Cristian 2ad6bc9f9b Backed out 2 changesets (bug 1523993) for build bustages on WasmStubs.cpp. CLOSED TREE
Backed out changeset e8a0e28d1443 (bug 1523993)
Backed out changeset 454d1b05007a (bug 1523993)

--HG--
extra : histedit_source : f24f6597ab5e03d2c55da7a040cbe213234ae81a
2019-02-06 19:12:54 +02:00
Boris Zbarsky 250e088daf Bug 1521677. Change defineProperties to handle non-configurable properties on WindowProxy like defineProperty does. r=evilpie
We want to indicate "we didn't actually manage to define your properties as
non-configurable" but we don't want to throw exceptions when people try to
Object.defineProperties with a non-configurable property in the list on a
WindowProxy.

Though maybe we should just silently ignore the "can't define non-configurable
on WindowProxy" bits in defineProperties and just return the object anyway?
The reason we do the "return null" bit in defineProperty is so that Caja and
the like can detect it, but if they're not using defineProperties to start with
they may not need to detect this "failure".  On the other hand, Mark Miller
thinks the detection will be needed...

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

--HG--
extra : moz-landing-system : lando
2019-02-06 16:55:08 +00:00
Benjamin Bouvier a371e5fe19 Bug 1523993: Spew debug information for wasm calls; r=luke
Differential Revision: https://phabricator.services.mozilla.com/D18342

--HG--
extra : moz-landing-system : lando
2019-02-06 16:38:24 +00:00
Benjamin Bouvier 2ce2c5e407 Bug 1523993: Add JitOptions to disable wasm fast paths; r=luke
This adds a new configure option `--enable-wasm-codegen-debug`, which defaults
to true in debug builds (disable otherwise).

It's a first step so as to be able to use this in both the shell and browser,
using the env variables JIT_OPTION_{JitOption field name}.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 16:39:31 +00:00
Alex Gaynor 75c7d1fa76 Bug 1512990 - Part 2 - implement direct calls in the IPDL compiler; r=froydnj
When calling a Recv/Alloc/Dealloc method on most types, cast `this` to the
derived class.

There is a heuristic to figure out what the correct derived type is. There is a
blacklist of types which we can't do direct calls on for the moment, as well as
an override for types that do work with direct calls but which don't match the
heuristic.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:57:37 +00:00
Mike Hommey ad80231236 Bug 1525227 - Remove unnecessary dependency on bindgen in js/src/rust/shared/Cargo.toml. r=mshal
The crate doesn't even have a build script.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 10:39:07 +00:00
Jan de Mooij b14c45db82 Bug 1524499 part 4 - Some minor changes to address review feedback. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D18569

--HG--
extra : moz-landing-system : lando
2019-02-06 07:57:34 +00:00
Jan de Mooij 4f0d5ada84 Bug 1524499 part 3 - Move HasFreezeConstraints and TypesGeneration flags from JSScript to TypeScript. r=tcampbell
This is pretty straight-forward now and it's much nicer to encapsulate this in
TypeScript instead of having these types-related flags in JSScript.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 07:57:09 +00:00
Jan de Mooij ad64261325 Bug 1524499 part 2 - Move the AutoSweepTypeScript& from JSScript::types() to TypeScript methods that depend on swept data. r=tcampbell
As we add more fields to TypeScript (= JitScript in the future), the
AutoSweepTypeScript argument to JSScript::types() is becoming annoying.
This patch moves the argument to TypeScript::typeArray() and
TypeScript::inlinedCompilations() because that's the data affected by type
sweeping.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 07:56:49 +00:00
Jan de Mooij 15b5b64c02 Bug 1524499 part 1 - Move active flag from BaselineScript to TypeScript. r=tcampbell
Baseline interpreter frames will have a TypeScript/ICScript we want to keep
around on GC.

The JSScript::typesDontCheckGeneration method will be removed in the next patch.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 07:56:17 +00:00
Jan de Mooij 14ff15bd15 Bug 1524707 - Ensure we're in the global's realm in GlobalObject::resolveConstructor. r=jorendorff
In js::SetPrototype we call GlobalObject::ensureConstructor. I think this is
only a problem for evalcx because other globals have an immutable prototype
chain.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 07:55:50 +00:00
Kris Maglione 47c2c349a9 Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm
--HG--
extra : rebase_source : 17756d218c39acadefbc6af9ef7ce31beef1ff36
2019-01-29 16:03:41 -08:00
André Bargull ade3d0c3e7 Bug 1524943 - IsPackedArray must only be called with objects. r=jandem 2019-02-05 03:09:28 -08:00
Lars T Hansen f27d09b731 Bug 1524692 - Additional ARM register constraints for 64-bit wasm atomics. r=nbp
The 64-bit wasm atomic ops have particularly stringent register
constraints on many platforms.  These constraints were not expressed
well at the lowering stage, and in the case of cmpxchg and rmw on ARM
a constraint that the input value must be in registers distinct from
other values and the output was missing; gvn would therefore be
allowed to common values that should have been considered distinct.

--HG--
extra : rebase_source : 07dfb1cc82feeee5d83a1cc2269ee90825a792cb
extra : amend_source : 7462f1467fee417b7c37abe7f6b7b2060f2b4423
2019-02-04 10:05:24 +01:00
Benjamin Bouvier 18f2199cba Bug 1525873: Temporary workaround to reload TLS state after a Cranelift call; r=sunfish
--HG--
extra : rebase_source : 2630b368ff86e057ee4d699f54ed10f1868f9de8
2019-02-04 15:13:32 +01:00
Benjamin Bouvier 79a2cf3e92 Bug 1523993: Add js/Printf.h to WasmStubs.cpp; r=bustage
--HG--
extra : rebase_source : 9682eb945fd00556293c1ee5ee716ec77421b855
2019-02-07 12:23:02 +01:00
Benjamin Bouvier b0b53e03f0 Bug 1523993: Expose AddressOf in WasmBuiltins.h; r=bustage 2019-02-07 11:56:10 +01:00
Benjamin Bouvier e6b45eb392 Bug 1523993: Spew debug information for wasm calls; r=luke
Differential Revision: https://phabricator.services.mozilla.com/D18342

--HG--
extra : rebase_source : 4a960ff846bec020976b758709e322434e2d43b8
2019-01-31 15:42:44 +01:00
Benjamin Bouvier 62e9c068e7 Bug 1523993: Add JitOptions to disable wasm fast paths; r=luke
This adds a new configure option `--enable-wasm-codegen-debug`, which defaults
to true in debug builds (disable otherwise).

It's a first step so as to be able to use this in both the shell and browser,
using the env variables JIT_OPTION_{JitOption field name}.

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

--HG--
extra : rebase_source : 37c717f4cc225a9a7d162df3b0312b68e39ad07e
2019-01-31 18:29:02 +01:00
Oana Pop Rus 4663ddb53a Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-02-07 11:57:33 +02:00
Tooru Fujisawa b93157cc4d Bug 1523440 - Handle WTF-8 in AtomHasher::Lookup. r=jwalden 2019-02-07 18:12:10 +09:00
Jan de Mooij 892e111b8b Bug 1522837 part 8 - Implement JSOP_GETIMPORT in BaselineInterpreterCodeGen. r=tcampbell
Eventually this op could use an IC or some frontend/bytecode refactoring to make
it faster in the interpreter. For now following the C++ interpreter is the
simplest solution though.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 07:55:25 +00:00
Jan de Mooij 0de2de5a18 Bug 1522837 part 7 - Implement JSOP_NEWARRAY_COPYONWRITE in BaselineInterpreterCodeGen. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D17938

--HG--
extra : moz-landing-system : lando
2019-02-06 07:54:47 +00:00
Jan de Mooij eafe4a10dd Bug 1522837 part 6 - Implement JSOP_BUILTINPROTO in BaselineInterpreterCodeGen. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D17937

--HG--
extra : moz-landing-system : lando
2019-02-06 07:53:44 +00:00
Jan de Mooij 83e77e93f3 Bug 1522837 part 5 - Implement JSOP_IMPORTMETA in BaselineInterpreterCodeGen. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D17936

--HG--
extra : moz-landing-system : lando
2019-02-06 07:52:43 +00:00
Noemi Erli 314a6bb0a2 Backed out changeset 1d20638b3253 (bug 1525227) for build bustages on build/src/Cargo.lock CLOSED TREE 2019-02-06 07:05:59 +02:00
Mike Hommey ec8999b18a Bug 1525227 - Remove unnecessary dependency on bindgen in js/src/rust/shared/Cargo.toml. r=mshal
The crate doesn't even have a build script.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 04:41:35 +00:00
Robin Templeton e11487a677 Bug 1507484 - Implement minimal Ion support for BigInt r=wingo,jandem
Co-authored-by: Andy Wingo <wingo@igalia.com>

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

--HG--
extra : moz-landing-system : lando
2019-02-05 23:19:44 +00:00
Noemi Erli 845539c92f Backed out 2 changesets (bug 1492629) for failures in mozJSComponentLoader.cpp
Backed out changeset 02f749ccdc4b (bug 1492629)
Backed out changeset cae6d1eec658 (bug 1492629)
2019-02-06 03:27:24 +02:00
Jim Blandy e68817d63a Bug 1145201: Document OffThreadPromiseRuntimeState fields in more detail. r=luke
Differential Revision: https://phabricator.services.mozilla.com/D17543

--HG--
extra : moz-landing-system : lando
2019-01-30 18:59:02 +00:00
Adrian Wielgosik 74008d7bbb Bug 1492629 - de-COM mozJSComponentLoader. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D18388

--HG--
extra : moz-landing-system : lando
2019-02-05 00:47:48 +00:00
Cosmin Sabou 3bd26d627f Backed out 2 changesets (bug 1471496) as requested by developer on irc. CLOSED TREE
Backed out changeset 00cdd5991ace (bug 1471496)
Backed out changeset 317151999412 (bug 1471496)
2019-02-06 01:23:17 +02:00
Boris Zbarsky 6e6a41683e Bug 1471496 part 2. Change the way we do cross-compartment wrappers for Window and Location so they don't ever need to be recomputed. r=bholley
The end result we want is that on the web cross-compartment wrappers for
WindowProxy and Location are always CrossOriginObjectWrapper.  That needs to be true
for both cases that are different-origin (as now) and cases that are
same-origin, since they might become different-origin due to document.domain
changes but we don't want that to affect the wrappers involved.

On the web, all security checks are symmetric, so in WrapperFactory::Rewrap we
would have originSubsumesTarget == targetSubsumesOrigin in all web cases.

I claim that

  originSubsumesTarget == targetSubsumesOrigin &&
  (!targetSubsumesOrigin ||
   (!originCompartmentPrivate->wantXrays &&
    !targetCompartmentPrivate->wantXrays)) &&
  "object is a WindowProxy or Location"

is a necessary and sufficient condition for using CrossOriginObjectWrapper.

Comparing to our current code, if originSubsumesTarget and targetSubsumesOrigin
are both false, then for the WindowProxy and Location cases we currently end up
with the following arguments to SelectWrapper:

  securityWrapper: true
  xrayType: XrayForDOMObject
  waiveXrays: false

So SelectWrapper ends up returning CrossOriginObjectWrapper, which the new
condition keeps doing.

If originSubsumesTarget and targetSubsumesOrigin are both true, then there are
two cases.  If both compartments have wantXrays false (which is always the case
on the web), then we end up with the following arguments to SelectWrapper:

  securityWrapper: false
  xrayType: NotXray
  waiveXrays: false

and SelectWrapper returns CrossCompartmentWrapper.  We want to do
CrossOriginObjectWrapper instead, as explained above.

Finally, if originSubsumesTarget and targetSubsumesOrigin are both true but one
of the compartments has wantXrays set, then we get:

  securityWrapper: false
  xrayType: XrayForDOMObject
  waiveXrays: might be true or false

and then SelectWrapper might return a WaiveXrayWrapper or a PermissiveXrayDOM.
In this case we do _not_ want to start returning CrossOriginObjectWrapper, and
this is a non-web case anyway, since web compartments can't set wantXrays.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 18:06:18 +00:00
Noemi Erli 18a515c6f9 Backed out changeset dfefd2d4d63f (bug 1525346) for failures in test_bug862380.html CLOSED TREE 2019-02-06 00:10:11 +02:00
Lars T Hansen 857bccc98d Bug 1502033 - Implement partial write for memInit, memFill, memCopy. r=jseward
The new rules for bounds checks for the bulk operations are that they
are per-element, this means we'll read and write individual elements
(bytes, table slots) until we hit an error or we've finished the task
according to the parameters.

Furthermore, reading and writing is from low addresses toward higher
as a general rule.  However, for memory.copy, if the source and target
regions overlap and src < target then the direction is higher toward
lower.

In the absence of a memory.protect instruction (that could render
pages in the memory inaccessible) or a memory.shrink instruction
(ditto) this is pretty straightforward.  This is so even in shared
memory that can be growing concurrently with the bulk operation, since
there are no fences and the write order therefore is not actually
observable absent a trap.  We obtain the memory size, compute the
in-bounds portion of the source and target, and perform the operation
using a standard libc-level bulk operation.  If there were
out-of-bounds portions of the source or target we then throw an
exception.  Note that in the case of high-to-low order for memory copy
this may mean nothing is written (because we're OOB at the high end of
the regions, where we start reading and writing).

One final wrinkle is that we can't error out for arithmetic overflow
when we compute the bounds: we must work as-if we're checking the
source bound, reading the source byte, checking the target bound,
writing the target byte, and so on.  So we go from using CheckedInt
for arithmetic to using 64-bit integers.

Additionally, we need to be mindful to use safe-for-races operations
when we might be operating on shared memory.

--HG--
extra : rebase_source : 638b5cb2dd539d18f5340019ca9a94ac21155355
2019-01-25 17:00:28 +01:00
Lars T Hansen 1cbbf93422 Bug 1523908 - Require zero byte encoding for memory/table index in the absence of multi-memory/multi-table. r=jseward
Once we have the reftypes proposal (which we already have, but behind
another ifdef) we'll need to go to varuint32 for the table index but
not for the memory index, hence a wee bit of complexity here, hidden
behind a function.

--HG--
extra : rebase_source : 9d51b410cb4a32855c8362f70219b53111ed3a2f
2019-02-04 14:31:13 +01:00
Lars T Hansen a6608edf6d Bug 1521939 - Correct the offset for reading stack args on ARM64. r=bbouvier
In the optimized stub, we forgot to account for the frameAlignExtra
word when computing the offset from the SP at which stack args are
read.  The test case finds the problem on the ARM64 simulator, and
does not need any special parameters, just to run long enough for a JS
JIT to kick in.

Also a drive-by fix for an incorrect NaN canonicalization along the
non-toValue path, cf the Double case right above it.  This code
changed recently when I introduced the ScratchFloat32Scope, but the
bug predates that.

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

--HG--
extra : rebase_source : 703a516fd6b7ac0e5a3dbb0a9ee2703d04188a9b
extra : amend_source : b9b86223bd2f7153c55c45854a12056b1217210f
2019-02-07 11:12:06 +01:00
Gurzau Raul 926bca0232 Backed out changeset 7cab6219f4db (bug 1523791) for failing at src/js/src/frontend/ObjectEmitter.cpp on a CLOSED TREE 2019-02-12 00:57:43 +02:00
Bogdan Tara dee73f16c3 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-02-12 00:01:16 +02:00
André Bargull 7cb17defee Bug 1523791: Set "name" property as part of ClassDefinitionEvaluation. r=jorendorff 2019-02-11 10:46:10 -08:00
André Bargull 3b31a164da Bug 1526403 - Part 1: Inline TypedArray "length" getter when called with mixed TypedArray objects. r=jandem 2019-02-08 10:15:46 -08:00
André Bargull 363d49f1af Bug 1526403 - Part 5: Skip runtime call when the TypedArray buffer was already created. r=jandem 2019-02-08 10:45:21 -08:00
André Bargull e3320aac4c Bug 1526403 - Part 4: Inline TypedArrayElementShift in Ion. r=jandem 2019-02-11 05:10:31 -08:00
André Bargull 249b82f253 Bug 1526403 - Part 3: Add inlining support for TypedArray "byteOffset" getter. r=jandem 2019-02-11 05:08:33 -08:00
André Bargull d0a6de319b Bug 1526403 - Part 2: Don't track buffer content changes for TypedArrays using shared memory. r=jandem 2019-02-08 10:36:28 -08:00
Lars T Hansen 8fe88d9999 Bug 1524530 - Fix encoding/decoding of passive element segments. r=jseward
Passive segments carry a type code (currently always AnyFunc but in
the future also AnyRef and other ref types) and each element is not a
raw function reference, but an initializer expression that must be a
RefFunc opcode with a function index, followed by End.

This use of RefFunc creates a circularity in the proposal space, since
reftypes has not definitively assigned an opcode to that operation.
Also, we want to ship bulk copy without having to ship reftypes or
handle RefFunc generally.  So RefFunc is defined provisionally here
outside the opcode space and is only recognized in this one context;
that will change once we have function support in our reftypes
implementation.

--HG--
extra : rebase_source : b63b343c37e697e92dcbee21c4137aace8492e93
extra : histedit_source : b1d0879255b7116f27a26151398d31e5283a78c3%2Cf8067891a3483a0f2c5e429c83888bead4091b3a
2019-02-05 14:25:48 +01:00
Boris Zbarsky c48f274465 Bug 1525346. Fix the cross-compartment bug in MaybeCrossOriginObject::enumerate. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D18714

--HG--
extra : moz-landing-system : lando
2019-02-05 18:45:27 +00:00
Ted Campbell d30333735e Bug 1518377 - Fix the way isIon accesses current script r=nbp
Existing code crashes on IonIC frames. Instead, use FrameIter to
determine caller. This also simplifies WASM handling. Also make inJit
use a similar approach for consistency.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 18:08:54 +00:00
Andy Wingo 6b615827de Bug 1510624 - StructuredClone array reader should initialize target array even in error cases r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D17801

--HG--
extra : moz-landing-system : lando
2019-01-31 22:32:34 +00:00
Tooru Fujisawa 3469b17a67 Bug 1518391 - Part 4: Use pn_u.function.syntaxKind instead of pn_op for FunctionNode. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D18329

--HG--
extra : moz-landing-system : lando
2019-02-05 14:59:11 +00:00
Tooru Fujisawa 2f0e1b5e4e Bug 1518391 - Part 3: Add pn_u.function.syntaxKind for FunctionNode. r=jorendorff
This is a replacement for pn_op that is used in BytecodeEmitter.
This patch just adds the field, but keeps using pn_op.
Part 4 removes the usage of pn_op for FunctionNode.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 14:58:42 +00:00
Tooru Fujisawa 43929c139f Bug 1518391 - Part 2: Separate CodeNode into FunctionNode and ModuleNode. r=jorendorff
CodeNode was shared between ParseNodeKind::Function and ParseNodeKind::Module,
but Module only uses `pn_u.code.body`.
Separated them for further refactoring for function part.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 14:58:17 +00:00
Tooru Fujisawa 24c65d0fc6 Bug 1518391 - Part 1: Remove unused case/code from function node ops. r=jorendorff
pn_op for CodeNode can only be JSOP_NOP, JSOP_LAMBDA, and JSOP_LAMBDA_ARROW.
Removed other cases.
Also removed the override with JSOP_FUNWITHPROTO given the field is never read
after the function.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 14:57:47 +00:00
Mike Hommey 029e8b5700 Bug 1524461 - Run the clock_gettime(CLOCK_MONOTONIC) configure check on OSX. r=froydnj
That will make it detected when we bump the MACOSX_DEPLOYMENT_TARGET
to a value >= 10.12.

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

--HG--
extra : moz-landing-system : lando
2019-02-04 23:26:34 +00:00
Coroiu Cristina 667401357b Merge mozilla-central to autoland a=merge on a CLOSED TREE 2019-02-04 23:47:17 +02:00
Coroiu Cristina 98926c4646 Merge inbound to mozilla-central a=merge 2019-02-04 23:42:26 +02:00
Tooru Fujisawa dd11979649 Bug 1524969 - Use 2-spaces indent in BinSource.yaml. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D18551

--HG--
extra : moz-landing-system : lando
2019-02-04 20:46:02 +00:00
Sylvestre Ledru 14486004b6 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-04 19:10:18 +00:00
Bogdan Tara c39a332eaa Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-04 19:39:48 +02:00
Jon Coppeard 1add144308 Bug 1522204 - Add profiler label for gray unmarking r=mstange 2019-02-04 10:55:11 +00:00
Brindusan Cristian 0e637b692d Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-02-03 23:45:10 +02:00
Denis Palmeiro ad385bf56a Bug 1384808 - Implement a linear cache for searching the shape lineage r=djvj
Linearly searching the shape lineage can be expensive.  It is going to cause branch misses and cache misses since we are traversing a linked list.  Since this is done frequently enough, it may be worth while to "cache" results from the linear search.  This revision hopes to lazily allocate a small linear cache after the first linear search on a shape.  The results from each linear search afterwards will be placed into the cache.  If the jsid that is being searched for is frequently looked up then we obtain a "cache hit" from a quick search in the cache.  Otherwise, we fall back to a linear search and append the new entry to the cache.  Once the cache is full, it will transform into a shape hash table like the previous approach.

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

--HG--
extra : moz-landing-system : lando
2019-02-03 00:03:35 +00:00
Jan de Mooij d9d405b919 Bug 1522837 part 4 - Implement JSOP_CALLSITEOBJ in BaselineInterpreterCodeGen. r=tcampbell
This is just a VM call in the interpreter. We could optimize this with an IC or
inline path if it ever becomes a problem.

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

--HG--
extra : moz-landing-system : lando
2019-02-03 10:08:41 +00:00
Jan de Mooij 1f750cdfb7 Bug 1522837 part 3 - Refactor JSOP_OBJECT in BaselineCodeGen. r=tcampbell
This adds js::SingletonObjectLiteralOperation and calls it from both the
interpreter and Baseline. The Baseline compiler still has a fast path for the
cloning-not-necessary case.

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

--HG--
extra : moz-landing-system : lando
2019-02-03 10:07:31 +00:00
Jan de Mooij ae765c9ac3 Bug 1522837 part 2 - Implement subtractScriptSlotsSize, loadGlobalLexicalEnvironment, loadGlobalThisValue, pushScriptArg. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D17645

--HG--
extra : moz-landing-system : lando
2019-02-03 10:07:01 +00:00
Jan de Mooij aa34bcb168 Bug 1522837 part 1 - Implement loadScript, emitInitializeLocals, storeFrameSizeAndPushDescriptor for BaselineInterpreterHandler. r=djvj
This also removes computeFullFrameSize because we don't really need it.

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

--HG--
extra : moz-landing-system : lando
2019-02-03 10:06:39 +00:00
Ciure Andrei 9c86f4019d Backed out 2 changesets (bug 1471496) for causing CycleCollectedJSRuntime.cpp perma failures CLOSED TREE
Backed out changeset 9658187a54fb (bug 1471496)
Backed out changeset 2ff333373fe4 (bug 1471496)
2019-02-02 20:44:08 +02:00
Bob Clary 5e07455d7b Bug 1524352 - [jittest] Improve ADBProcessError messages in run_test_remote, r=gbrown. 2019-02-04 09:45:28 -08:00
Jon Coppeard 6ab95aed88 Bug 1520783 - Check whether the path passed to createMappedArrayBuffer() is a regular file. r=sfink
--HG--
extra : histedit_source : 80f8a356833d5dd92e4084da17e9565750301fde
2019-02-01 02:07:00 +02:00
Boris Zbarsky 10ed8acc81 Bug 1471496 part 2. Change the way we do cross-compartment wrappers for Window and Location so they don't ever need to be recomputed. r=bholley
The end result we want is that on the web cross-compartment wrappers for
WindowProxy and Location are always CrossOriginObjectWrapper.  That needs to be true
for both cases that are different-origin (as now) and cases that are
same-origin, since they might become different-origin due to document.domain
changes but we don't want that to affect the wrappers involved.

On the web, all security checks are symmetric, so in WrapperFactory::Rewrap we
would have originSubsumesTarget == targetSubsumesOrigin in all web cases.

I claim that

  originSubsumesTarget == targetSubsumesOrigin &&
  (!targetSubsumesOrigin ||
   (!originCompartmentPrivate->wantXrays &&
    !targetCompartmentPrivate->wantXrays)) &&
  "object is a WindowProxy or Location"

is a necessary and sufficient condition for using CrossOriginObjectWrapper.

Comparing to our current code, if originSubsumesTarget and targetSubsumesOrigin
are both false, then for the WindowProxy and Location cases we currently end up
with the following arguments to SelectWrapper:

  securityWrapper: true
  xrayType: XrayForDOMObject
  waiveXrays: false

So SelectWrapper ends up returning CrossOriginObjectWrapper, which the new
condition keeps doing.

If originSubsumesTarget and targetSubsumesOrigin are both true, then there are
two cases.  If both compartments have wantXrays false (which is always the case
on the web), then we end up with the following arguments to SelectWrapper:

  securityWrapper: false
  xrayType: NotXray
  waiveXrays: false

and SelectWrapper returns CrossCompartmentWrapper.  We want to do
CrossOriginObjectWrapper instead, as explained above.

Finally, if originSubsumesTarget and targetSubsumesOrigin are both true but one
of the compartments has wantXrays set, then we get:

  securityWrapper: false
  xrayType: XrayForDOMObject
  waiveXrays: might be true or false

and then SelectWrapper might return a WaiveXrayWrapper or a PermissiveXrayDOM.
In this case we do _not_ want to start returning CrossOriginObjectWrapper, and
this is a non-web case anyway, since web compartments can't set wantXrays.

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

--HG--
extra : moz-landing-system : lando
2019-01-31 15:56:22 +00:00
Jan de Mooij 6ddcffaa4e Bug 1524565 - Clone ScriptSourceObject just once when cloning a script with inner functions. r=tcampbell
Creating too many SSOs can apparently slow down the debugger and it's just
wasteful.

This patch passes the SSO down to the cloning functions. One nice side-effect is
that the self-hosting SSO code now lives in SelfHosting.cpp instead of JSScript.cpp

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

--HG--
extra : moz-landing-system : lando
2019-02-02 10:42:27 +00:00
Daniel Varga 69d3c6c61d Merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : toolkit/components/passwordmgr/test/test_xhr.html => toolkit/components/passwordmgr/test/mochitest/test_xhr.html
2019-02-02 11:44:15 +02:00
Boris Zbarsky 44e2b07ad2 Bug 1521907 part 7. Start using CheckedUnwrapStatic/Dynamic in JS debugger. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D17889

--HG--
extra : moz-landing-system : lando
2019-02-02 03:26:24 +00:00
Boris Zbarsky d9fc29464f Bug 1521907 part 5. Start using CheckedUnwrapStatic/Dynamic in XPConnect. r=peterv
I am not a huge fan of the UnwrapReflectorToISupports setup here.  Maybe we
should introduce two differently-named methods that make it somewhat clear what
the limitations of not taking a JSContext are?  I couldn't think of sane
naming...

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

--HG--
extra : moz-landing-system : lando
2019-02-02 03:24:45 +00:00
Boris Zbarsky 7e5a37a024 Bug 1521907 part 3. Start using CheckedUnwrapStatic/Dynamic in bindings. r=peterv
The basic idea for the changes around UnwrapObjectInternal and its callers
(UnwrapObject, UNWRAP_OBJECT, etc) is to add a parameter to the guts of the
object-unwrapping code in bindings which can be either a JSContext* or nullptr
(statically typed).  Then we test which type it is and do either a
CheckedUnwrapDynamic or CheckedUnwrapStatic.  Since the type is known at
compile time, there is no actual runtime check; the compiler just emits a call
to the right thing directly (verified by examining the assembly output on
Linux).

The rest of the changes are mostly propagating through that template parameter,
adding static asserts to make sure people don't accidentally pass nullptr while
trying to unwrap to a type that might be a WindowProxy or Location, etc.

There are also some changes to places that were calling CheckedUnwrap directly
to use either the static or dynamic version, as needed.

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

--HG--
extra : moz-landing-system : lando
2019-02-02 03:23:49 +00:00
Boris Zbarsky e5fac88563 Bug 1521907 part 2. Add dynamic CheckedUnwrap support to CrossOriginObjectWrapper. r=peterv,sfink
This will allow us to correctly handle CheckedUnwrapDynamic on wrappers around
WindowProxy and Location.

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

--HG--
extra : moz-landing-system : lando
2019-02-02 03:23:16 +00:00
Boris Zbarsky 1fa4aa00d2 Bug 1521907 part 1. Add a version of CheckedUnwrap that can do a dynamic security check. r=jandem,sfink
We're going to need this because we will have multiple Realms in the same
compartment which want different CheckedUnwrap behavior in some cases.  So we
need to be able to check which Realm we're in.

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

--HG--
extra : moz-landing-system : lando
2019-02-02 03:22:29 +00:00
Bogdan Tara 8c569d6761 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-02-02 01:39:31 +02:00
Bogdan Tara add2612cc6 Backed out 8 changesets (bug 1522837) for buffer-full-inspect-buffer-during-callback.html failures a=backout
Backed out changeset 2bd187c04fd9 (bug 1522837)
Backed out changeset 47c7f936579b (bug 1522837)
Backed out changeset 8fb361192757 (bug 1522837)
Backed out changeset 877d383189f4 (bug 1522837)
Backed out changeset 814aa7e78267 (bug 1522837)
Backed out changeset 2d7be3f59c9d (bug 1522837)
Backed out changeset 893db1319f23 (bug 1522837)
Backed out changeset 3eeb76f0f5d8 (bug 1522837)
2019-02-02 01:34:58 +02:00
Gurzau Raul 34253a9d78 Backed out changeset 56023d83552d (bug 1518377) for bustages at /tests/basic/bug908915.js on a CLOSED TREE 2019-02-01 21:36:39 +02:00
Ted Campbell 8bc1fdd88f Bug 1518377 - Fix the way isIon accesses current script r=nbp
Existing code didn't handle IonIC frames, but the
FrameScriptIter::script function does the right thing for us here.

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

--HG--
extra : moz-landing-system : lando
2019-02-01 11:19:03 +00:00
Ciure Andrei 3fc7bec4e3 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-01 19:57:45 +02:00
Ciure Andrei 71db6522be Merge inbound to mozilla-central. a=merge 2019-02-01 19:56:27 +02:00
Benjamin Bouvier d9ab10a50d Bug 1522882: Define SpewBeginWasmFunction in non-debug builds too to fix bustage on a CLOSED TREE; r=me 2019-02-01 16:05:40 +01:00
Robin Templeton 98afdc103b Bug 1524136 - Fix BigInt errors in string conversion and remainder operations r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D18171

--HG--
extra : moz-landing-system : lando
2019-02-01 12:17:06 +00:00
Ciure Andrei 63b0f3f854 Backed out 7 changesets (bug 1521907) for JSObject Wrapper.cpp bustages and failures CLOSED TREE
Backed out changeset ce3108090e77 (bug 1521907)
Backed out changeset efd05f4979f1 (bug 1521907)
Backed out changeset 2d0895148907 (bug 1521907)
Backed out changeset 192152fe986a (bug 1521907)
Backed out changeset ca65b46b0d37 (bug 1521907)
Backed out changeset b3daf5ca3d11 (bug 1521907)
Backed out changeset 1b0a09a46c70 (bug 1521907)
2019-02-01 19:38:25 +02:00
Emanuel Hoogeveen 77a300f11a Bug 1520783 - Don't assert if we fail to map a file after reserving the memory. r=sfink
--HG--
extra : histedit_source : 3665ff06fffa8d2ea6c1f38518c35ea15f72d5ae
2019-01-31 12:17:00 +02:00
Csoregi Natalia 9423fa7897 Merge mozilla-central to mozilla-inbound. CLOSED TREE 2019-02-02 00:14:12 +02:00
Boris Zbarsky f195e65a70 Bug 1521907 part 7. Start using CheckedUnwrapStatic/Dynamic in JS debugger. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D17889

--HG--
extra : moz-landing-system : lando
2019-01-30 17:45:22 +00:00
Boris Zbarsky bed98f8c98 Bug 1521907 part 5. Start using CheckedUnwrapStatic/Dynamic in XPConnect. r=peterv
I am not a huge fan of the UnwrapReflectorToISupports setup here.  Maybe we
should introduce two differently-named methods that make it somewhat clear what
the limitations of not taking a JSContext are?  I couldn't think of sane
naming...

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

--HG--
extra : moz-landing-system : lando
2019-02-01 16:17:44 +00:00
Boris Zbarsky a3784f4489 Bug 1521907 part 3. Start using CheckedUnwrapStatic/Dynamic in bindings. r=peterv
The basic idea for the changes around UnwrapObjectInternal and its callers
(UnwrapObject, UNWRAP_OBJECT, etc) is to add a parameter to the guts of the
object-unwrapping code in bindings which can be either a JSContext* or nullptr
(statically typed).  Then we test which type it is and do either a
CheckedUnwrapDynamic or CheckedUnwrapStatic.  Since the type is known at
compile time, there is no actual runtime check; the compiler just emits a call
to the right thing directly (verified by examining the assembly output on
Linux).

The rest of the changes are mostly propagating through that template parameter,
adding static asserts to make sure people don't accidentally pass nullptr while
trying to unwrap to a type that might be a WindowProxy or Location, etc.

There are also some changes to places that were calling CheckedUnwrap directly
to use either the static or dynamic version, as needed.

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

--HG--
extra : moz-landing-system : lando
2019-01-31 15:50:06 +00:00
Boris Zbarsky 9abee38822 Bug 1521907 part 2. Add dynamic CheckedUnwrap support to CrossOriginObjectWrapper. r=peterv
This will allow us to correctly handle CheckedUnwrapDynamic on wrappers around
WindowProxy and Location.

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

--HG--
extra : moz-landing-system : lando
2019-01-31 11:22:53 +00:00
Boris Zbarsky 9927e55b7e Bug 1521907 part 1. Add a version of CheckedUnwrap that can do a dynamic security check. r=jandem
We're going to need this because we will have multiple Realms in the same
compartment which want different CheckedUnwrap behavior in some cases.  So we
need to be able to check which Realm we're in.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 17:33:49 +00:00
Benjamin Bouvier 5ca6ea03da Bug 1522882: Drive-by comment fixes; r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D18194

--HG--
extra : rebase_source : 1a9f3468a1d8dd3ddd347d10b38f52468c86f364
2019-01-28 16:10:17 +01:00
Benjamin Bouvier eed37cd072 Bug 1522882: Exit early and print help when IONFLAGS isn't correctly set; r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D18193

--HG--
extra : rebase_source : a16fc95b5a27140d3231bf3db70bf7ec33558f9a
extra : amend_source : 2e7c1831bb577fb29826ef161a16642e1a2747a1
2019-01-25 17:47:42 +01:00
Benjamin Bouvier 2e4330200f Bug 1522882: Add wasm function number to Iongraph spew; r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D18192

--HG--
extra : rebase_source : d596d59a40fb660c35df7018bed605a847942ad9
2019-01-25 17:10:28 +01:00
André Bargull 2ee80e7ac9 Bug 1520286 - Part 2: Add VM-call for TypedArray constructor with Array/TypedArray arguments. r=jandem
--HG--
extra : rebase_source : 899acfc898773aec0a1b3b69aeb1aae07958cdc6
2019-02-01 05:14:41 -08:00
André Bargull 24cd46ac83 Bug 1520286 - Part 1: Switch over inlinable natives via JSJitInfo instead of performing pointer comparisons. r=tcampbell
--HG--
extra : rebase_source : 3293dc0ba2cb953b14d1cca56c8abc4985681b9a
2019-02-01 05:14:40 -08:00
Jan de Mooij 0c7e884af5 Bug 1522837 part 8 - Implement JSOP_GETIMPORT in BaselineInterpreterCodeGen. r=tcampbell
Eventually this op could use an IC or some frontend/bytecode refactoring to make
it faster in the interpreter. For now following the C++ interpreter is the
simplest solution though.

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

--HG--
extra : moz-landing-system : lando
2019-01-31 18:13:25 +00:00
Jan de Mooij bd4243cae1 Bug 1522837 part 7 - Implement JSOP_NEWARRAY_COPYONWRITE in BaselineInterpreterCodeGen. r=tcampbell
Depends on D17937

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

--HG--
extra : moz-landing-system : lando
2019-01-29 18:05:13 +00:00
Jan de Mooij 59fb8e7b5d Bug 1522837 part 6 - Implement JSOP_BUILTINPROTO in BaselineInterpreterCodeGen. r=tcampbell
Depends on D17936

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

--HG--
extra : moz-landing-system : lando
2019-01-29 17:58:04 +00:00
Jan de Mooij 0b373aec27 Bug 1522837 part 5 - Implement JSOP_IMPORTMETA in BaselineInterpreterCodeGen. r=tcampbell
Depends on D17935

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

--HG--
extra : moz-landing-system : lando
2019-01-29 17:44:30 +00:00
Jan de Mooij 120ec68d75 Bug 1522837 part 4 - Implement JSOP_CALLSITEOBJ in BaselineInterpreterCodeGen. r=tcampbell
This is just a VM call in the interpreter. We could optimize this with an IC or
inline path if it ever becomes a problem.

Depends on D17934

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

--HG--
extra : moz-landing-system : lando
2019-01-29 17:41:30 +00:00
Jan de Mooij fabe18cff5 Bug 1522837 part 3 - Refactor JSOP_OBJECT in BaselineCodeGen. r=tcampbell
This adds js::SingletonObjectLiteralOperation and calls it from both the
interpreter and Baseline. The Baseline compiler still has a fast path for the
cloning-not-necessary case.

Depends on D17645

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

--HG--
extra : moz-landing-system : lando
2019-01-29 16:54:05 +00:00
Jan de Mooij 4cd1653ee0 Bug 1522837 part 2 - Implement subtractScriptSlotsSize, loadGlobalLexicalEnvironment, loadGlobalThisValue, pushScriptArg. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D17645

--HG--
extra : moz-landing-system : lando
2019-01-29 14:06:37 +00:00
Jan de Mooij 5758a38618 Bug 1522837 part 1 - Implement loadScript, emitInitializeLocals, storeFrameSizeAndPushDescriptor for BaselineInterpreterHandler. r=djvj
This also removes computeFullFrameSize because we don't really need it.

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

--HG--
extra : moz-landing-system : lando
2019-01-31 20:06:06 +00:00
Lars T Hansen b9f9b240f5 Bug 1523941 - Always use ScratchDoubleScope / ScratchFloat32Scope. r=nbp
Remove all(*) uses of ScratchDoubleReg / ScratchFloat32Reg in common
code and tier-1 macro-assemblers, and use ScratchDoubleScope /
ScratchFloat32Scope exclusively.  This sometimes leads to a very minor
amount of extra code, but ensures that we do not reuse a live
register.

(*) There are a couple of uses left, but these only check that the
scratch regs aren't used where they can't be used or check whether the
scratch regs need to be saved and restored across a call to external
code.

--HG--
extra : rebase_source : 9113a93e4d9a63c17257329302f9d648b7cf7298
extra : amend_source : b6b234553602713032ca034e6d11fa1942a3ca17
2019-01-31 07:51:14 +01:00
shindli d6dd350c66 Merge inbound to mozilla-central. a=merge 2019-02-01 05:56:53 +02:00
shindli dc35f3b972 Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
extra : rebase_source : 44b5c3aa6b6562ada42dd6c60e3522a8bc97993b
2019-01-31 23:51:27 +02:00
Razvan Maries 503092bab5 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-01-31 19:05:01 +02:00
Razvan Maries 17a96a3646 Merge mozilla-inbound to mozilla-central a=merge 2019-01-31 18:57:48 +02:00
Ms2ger 7dac6b7365 Bug 1524256 - Remove two copies of wast.js; r=bbouvier 2019-01-31 14:51:04 +01:00
Lars T Hansen 4a93abc816 Bug 1524201 - add message to static_assert. r=bugfix, CLOSED TREE 2019-01-31 13:48:48 +01:00
Lars T Hansen 9221ab830a Bug 1524201 - Do not claim the FP scratch when it's already claimed. r=nbp
--HG--
extra : rebase_source : 8e0e464f550e7f117a10cf7e070fe51f6f330671
extra : histedit_source : d4e7636920968f9ecb73beb9930c636ac86221f7%2C6b773e9ac327e8c5364e306246c46b68140b8e36
2019-01-31 10:28:18 +01:00
Lars T Hansen 6430c5c428 Bug 1524178 - Enable lock-free 8-byte atomics for ARM+ARM64 simulators. r=jseward
--HG--
extra : rebase_source : 2a2e17c64a79b7fdb35093610a70194dd7576e87
extra : histedit_source : 855775800c92ee641c1a0c8d6218352820cb3262
2019-01-31 08:50:38 +01:00
Steve Fink ccd55b7b4e Bug 1513614 - Preemptively register a outline typed object owner in the whole cell buffer, r=jonco
--HG--
extra : topic : TO.preempt
extra : rebase_source : c9a7998a0a77b7ed14bebcd820e4ae2edd23dbc6
extra : amend_source : a0e9aa46c56c98f6740b438812d343ad4027e39b
2019-01-30 16:22:42 -08:00
Nicolas B. Pierron 7d6d0729bd Bug 1522276 - IonMonkey ARM64: Add generic UDiv implementation. r=sstangl
Differential Revision: https://phabricator.services.mozilla.com/D17929

--HG--
extra : moz-landing-system : lando
2019-01-31 10:47:54 +00:00
Jim Blandy e7a8bf5e74 Bug 1522945: Dequeue OffThreadPromiseTasks one at a time, to support reentrant draining. r=luke
`OffThreadPromiseRuntimeState::internalDrain` assumes that if
`internalDispatchQueue_` is empty but `live_` is not, then there must be
`OffThreadPromiseTasks` still in flight that it should block for. To support
reentrant calls to `internalDrain`, we need to make two changes:

- First, `internalDrain` needs to dequeue jobs one at a time, rather than
  swapping out the entire queue, which makes the queue look empty when there are
  still jobs yet to be run.

- Second, `OffThreadPromiseTask::run` needs to remove each task from `live_`
  *before* calling its `resolve` method, so that if the last task in the queue
  reenters `internalDrain`, that won't mistake the final entry in `live_` for
  something it must block on.

Since there are still `OffThreadPromiseTasks` that get registered in `live_`
but then get destructed without being run (for example, in `WasmJS.cpp`'s
`ResolveResponse_OnFulfilled`), we cannot assume that the `run` method will
unregister all tasks; the destructor still needs to check if unregistration is
necessary. So we factor out unregistration into its own method.

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

--HG--
extra : moz-landing-system : lando
2019-01-31 16:12:50 +00:00
Jim Blandy 77e8adf354 Bug 1522945: Use a FIFO for OffThreadPromiseRuntimeState::internalDispatchQueue. r=luke
To support reentrant calls to OffThreadPromiseRuntimeState::internalDrain, we
need to be able to tell reliably whether the queue is empty or not. The present
implementation tactic of using a Vector to represent the queue, pushing new jobs
onto the end, and then stealing the entire vector and processing all the jobs in
one pass over its make it appear that the queue is empty when, in fact, there
remain jobs that have not yet been run.

Since we have a true FIFO type ready at hand, we can use that to give the
off-thread promise machinery a more traditional implementation that dequeues one
job at a time.

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

--HG--
extra : moz-landing-system : lando
2019-01-31 16:12:49 +00:00
Tooru Fujisawa b70ec2e916 Bug 1501578 - Add LexicalScopeEmitter. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D16938

--HG--
extra : moz-landing-system : lando
2019-01-31 16:48:38 +00:00
Mike Hommey 9f9fcb476e Bug 1523851 - Remove the dynamic_cast<void*> test. r=froydnj
It relies on AC_TRY_RUN, which doesn't work on cross-compiles. What this
means is that the feature has been disabled on mac builds on automation
ever since we switched to cross-compiles. It's still enabled on local
mac builds because the test runs there, and returns "yes". It also means
it's disabled on Android, where it probably works (at least debug tests
on try don't complain).

It also doesn't currently run on Windows because it's in a skipped
section on Windows, but if moved out of that section, the test returns
"no".

So, we remove any configure test for the feature, in favor of
preprocessor checks in nsTraceRefcnt.cpp.

Depends on D18055

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

--HG--
extra : moz-landing-system : lando
2019-01-30 14:25:33 +00:00
Mike Hommey 730c219ac9 Bug 1523851 - Remove the AC_FUNC_MEMCMP test. r=froydnj
Autoconf 2.13 documentation says: "If the memcmp function is not
available, or does not work on 8-bit data (like the one on SunOS 4.1.3),
add `memcmp.o' to output variable LIBOBJS."

The documentation of more recent versions of autoconf also mention NeXT
x86 OpenStep, and say "This macro is obsolescent, as current systems
have a working memcmp. New programs need not use this macro."

We're also not using LIBOBJS, so, even if somehow some machine had the
test detect something weird going on, the result of the test wouldn't
have an effect on the build anyways.

Apart from that, it's also one of the few tests that relies on actually
running a compiled binary during configure, which requires some
autoconf-specific definition of cross-compilation (where --target=i686
--host=x86_64 is not cross-compilation), and we're better off getting
rid of such tests completely.

Depends on D18054

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

--HG--
extra : moz-landing-system : lando
2019-01-30 14:38:56 +00:00
Mike Hommey 21c3b16892 Bug 1523851 - Remove AC_PROG_GCC_TRADITIONAL test. r=froydnj
While not related, it turns out this test was opted in by ourselves,
while it's practically useless. Recent autoconf documentation says it's
obsolescent, and even autoconf 2.13 documentation said with "recent
versions of the GNU C compiler", the issue it's detecting "is becoming
a less prevalent problem". Recent as of 20 years ago.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 14:39:01 +00:00
Benjamin Bouvier 1d77cf0e4d Bug 1523876: Replace uses of test-also-wasm-compiler by test-also in wasm tests; r=lth
--HG--
extra : rebase_source : b3db9e3815916c7d10d847f03625cfe79d492d5b
extra : amend_source : 91d0887c3c1743a8ad4049a9d8e458564291d3a0
2019-01-30 14:18:15 +01:00
Andrea Marchesini 506304e224 Bug 1522210 - Fingerprinting and cryptomining classifiers must have separate nsIWebProgressListener blocking state codes - part 7 - cryptomining, r=ehsan,johannh
Differential Revision: https://phabricator.services.mozilla.com/D17641
2019-01-30 14:01:51 +01:00
Andrea Marchesini 5a909353eb Bug 1522210 - Fingerprinting and cryptomining classifiers must have separate nsIWebProgressListener blocking state codes - part 6 - fingerprinting, r=ehsan,johannh
Differential Revision: https://phabricator.services.mozilla.com/D17640
2019-01-30 14:01:05 +01:00
Emanuel Hoogeveen c3e84c359a Bug 1521713 - Relax overzealous assertions on memory alignment in commit and decommit functions. r=sfink 2019-02-01 00:00:18 +02:00
Steve Fink 960ff86177 Bug 1442481 - Allocate strings in the nursery, r=flagflip 2019-01-31 08:22:03 -08:00
Chris Peterson 63ac28a54c Bug 1481097 - vixl: Remove vixl assembler workaround for gcc 4.8.2 bug. r=sstangl
This gcc 4.8.2 workaround (from bug 1219050) is no longer needed because Firefox currently requires gcc 6.1 or later (as of bug 1444274).

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

--HG--
extra : moz-landing-system : lando
2019-01-30 22:42:01 +00:00
Daniel Varga 007e1e4a2f Merge mozilla-inbound to mozilla-central. a=merge 2019-01-30 23:54:54 +02:00
Myk Melez 25349d2601 Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D17526

--HG--
extra : moz-landing-system : lando
2019-01-30 17:26:25 +00:00
Gurzau Raul 7555c5cdea Merge inbound to mozilla-central. a=merge 2019-01-30 19:03:12 +02:00
Sylvestre Ledru b6356f4723 Bug 1523092 - Enable codespell on more directories r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D17740

--HG--
extra : moz-landing-system : lando
2019-01-30 14:16:08 +00:00
Robin Templeton c908aacf24 Bug 1523831 - Disable BinAST's BigInt tests r=arai
BinAST's BigInt tests fail with syntax errors.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 12:00:48 +00:00
Andy Wingo 030344f199 Bug 1523888 - Fix rooting hazard in BigInt::toString when called by ValueToID<NoGC> r=arai,terpri
Differential Revision: https://phabricator.services.mozilla.com/D18059

--HG--
extra : moz-landing-system : lando
2019-01-30 12:09:09 +00:00
Paul Bone 15300146c9 Bug 1523816 - Tighten some assertions r=jonco
Now that we decide whether the collection will be incremental or
non-incremental before taking the session lock, we can tighten these
assertions.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 10:30:26 +00:00
Jan de Mooij 4fdfeb6a3f Bug 1521338 - Don't dump anything in dumpScopeChain in more-deterministic builds. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D17503

--HG--
extra : moz-landing-system : lando
2019-01-29 23:06:11 +00:00
shindli f7752f11b1 Merge inbound to mozilla-central. a=merge 2019-01-30 06:07:01 +02:00
Tooru Fujisawa 8bb6f4af0f Bug 1522339 - Part 2: Throw error when oomTest is used with promises while unhandled rejection tracking is enabled. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D17782

--HG--
extra : moz-landing-system : lando
2019-01-30 00:10:08 +00:00
Tooru Fujisawa 226a2840dc Bug 1522339 - Part 1: Do not assert the result of the delete operation when tracking unhandled promise rejections. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D17781

--HG--
extra : moz-landing-system : lando
2019-01-30 00:11:54 +00:00
shindli 011ea038cb Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-29 23:54:31 +02:00
shindli d5c5369355 Merge inbound to mozilla-central. a=merge 2019-01-29 23:37:33 +02:00
André Bargull 0c6abfde96 Bug 1523571: Prevent storing VMFunction return value when no actual return-data is present. r=nbp 2019-01-29 07:55:32 -08:00
Tooru Fujisawa 87f97d4316 Bug 1521696 - Fix PropertyEmitter not to use JSOP_OBJECT when the objest has accessor. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D17471

--HG--
extra : moz-landing-system : lando
2019-01-29 22:26:24 +00:00
André Bargull 547688fffd Bug 1523558: Fix test condition in VMFunction::returnsData(). r=nbp
--HG--
extra : rebase_source : 690234d9ce4edb98af4227d4307c8f3bc444b9c7
2019-01-29 02:24:15 -08:00
Jon Coppeard c0b1f87831 Bug 1519705 - Use a loop rather than recursion to mark enclosing scope r=sfink 2019-01-29 11:28:44 +00:00
Cosmin Sabou 599a15d354 Merge mozilla-inbound to mozilla-central. a=merge 2019-01-29 12:01:56 +02:00
Sebastian Hengst b78e4e8667 Merge mozilla-central to mozilla-inbound
--HG--
rename : browser/components/urlbar/tests/legacy/browser_urlbar_search_no_speculative_connect_with_client_cert.js => browser/components/urlbar/tests/browser/browser_urlbar_speculative_connect_not_with_client_cert.js
2019-01-29 02:55:55 +02:00
Razvan Maries c88bd55f59 Merge mozilla-inbound to mozilla-central a=merge 2019-01-28 23:46:39 +02:00
Coroiu Cristina 24a1e9a028 Backed out changeset 0121f2af5821 (bug 1523015) for spidermonkey failures at js/src/jit-test/tests/atomics/mutual-exclusion.js 2019-01-28 19:35:17 +02:00
Dorel Luca ce02c9eca3 Backed out changeset 159930eacfd7 (bug 1521491) for spidermonkey failure 2019-01-28 17:31:41 +02:00
Tom Schuster 35523d50cc Bug 1156077 - Remove the non-standard Proxy getPropertyDescriptor trap. r=bzbarsky,jorendorff
I am bit surprised myself, but just removing the getPropertyDescriptor trap seems to mostly work.
The only real special case here is the XPC Sandbox, which I changed to keep using its getPropertyDescriptorImpl.

testSetPropertyIgnoringNamedGetter.cpp didn't even really need its getPropertyDescriptor implementation.

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

--HG--
extra : moz-landing-system : lando
2019-01-25 16:41:34 +00:00
Jan de Mooij 501ac77053 Bug 1521491 part 4 - Store IC index in jump target ops. r=tcampbell
The interpreter will use this to set the frame's ICEntry* pointer at jump target
ops and then it will just bump this pointer after each JOF_IC op. This way the
interpreter can use Baseline ICs with minimal overhead compared to the Baseline
JIT.

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

--HG--
extra : moz-landing-system : lando
2019-01-28 13:51:07 +00:00
Jan de Mooij 3e1d451b87 Bug 1521491 part 3 - Fold BytecodeEmitter::checkTypeSet into BytecodeEmitter::emitCheck. r=tcampbell
The bytecode emitter used to call checkTypeSet for each JOF_TYPESET op. Despite
correctness asserts in the TypeScript code, this was pretty error prone. Doing
something similar for JOF_IC ops would have made it worse.

The solution is to move this check to BytecodeEmitter::emitCheck (called for
each opcode we emit), so we don't have to worry about this anymore.

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

--HG--
extra : moz-landing-system : lando
2019-01-28 13:50:38 +00:00
Jan de Mooij 628d68e8b0 Bug 1521491 part 2 - Stop treating JSOP_TRY as a jump target op. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D17113

--HG--
extra : moz-landing-system : lando
2019-01-28 13:50:13 +00:00
Jan de Mooij 59f47e9fa3 Bug 1521491 part 1 - Stop treating JSOP_ENDITER as a jump target op. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D17112

--HG--
extra : moz-landing-system : lando
2019-01-28 13:49:37 +00:00
Andy Wingo 30503c1b25 Bug 1522431 - Implement IC support for BigInt r=jandem,terpri
Differential Revision: https://phabricator.services.mozilla.com/D17483

--HG--
extra : moz-landing-system : lando
2019-01-28 00:21:41 +00:00
Nicolas B. Pierron 1db81fda08 Bug 1522284 - ARM64: record when JitCode is storing nursery pointers. r=sstangl
Differential Revision: https://phabricator.services.mozilla.com/D17655

--HG--
extra : moz-landing-system : lando
2019-01-25 23:28:23 +00:00
Sean Stangl c0f0b5f68c Bug 1523015 - Enable Ion on ARM64, but disable in-browser by pref. r=nbp 2019-01-25 15:25:00 +02:00
Benjamin Bouvier 610baba3fe Bug 1523263: Limit wasm deserialization to available compiler backends; r=lth
--HG--
extra : rebase_source : 9f9d39a8e62931c6101abb4d5579351f948a6ce9
extra : amend_source : 19276b38b24e80f8935f75ed851cc8d13f589589
2019-01-28 16:29:57 +01:00
Jon Coppeard 2babbba18b Bug 1512042 - Fix bustage on MacOS X r=me on a CLOSED TREE 2019-01-28 10:52:15 +00:00
Jon Coppeard 0746e98005 Bug 1512042 - Try using SegmentedVector for gray root buffers r=pbone 2019-01-28 10:23:35 +00:00
Sebastian Hengst 4781ad4554 Bug 1523081 - ifdef all of wasm DataCount, DataDrop and ElemDrop to fix bustage if ENABLE_WASM_BULKMEM_OPS is not set r=arai
Differential Revision: https://phabricator.services.mozilla.com/D17784

--HG--
extra : moz-landing-system : lando
2019-01-27 23:45:11 +00:00
Robin Templeton 009662feee Bug 1522433 - Check for a toJSON method on the BigInt prototype when stringifying BigInts. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D17541

--HG--
extra : moz-landing-system : lando
2019-01-27 09:08:31 +00:00
Jan de Mooij f0435fe944 Bug 1520744 - Move prologue/epilogue methods from BaselineCompiler to BaselineCodeGen. r=djvj
This will change a bit in the future but I think this is a reasonable
initial version.

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

--HG--
extra : moz-landing-system : lando
2019-01-27 08:55:18 +00:00
Brindusan Cristian ffcfbf9239 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-01-27 11:37:49 +02:00
Jan de Mooij ce40188f86 Bug 1520452 part 2 - Move remaining compiler-specific fields from BaselineCodeGen to BaselineCompilerHandler. r=djvj
Differential Revision: https://phabricator.services.mozilla.com/D16690

--HG--
extra : moz-landing-system : lando
2019-01-27 08:54:48 +00:00
Randell Jesup 76bd9e73cc Bug 1522150: Add a DeferredTimers queue ahead of the normal Idle EventQueue r=froyd
* * *
Bug 1522150: Rename NS_IdleDispatch* functions since they take queue identifiers r=froyd
2019-01-26 12:18:05 -05:00
Ciure Andrei fbdba3f818 Merge inbound to mozilla-central. a=merge 2019-01-26 11:37:07 +02:00
Dorel Luca e1e5c4c775 Backed out 4 changesets (bug 1521191) for causing leaks on multiple tests
Backed out changeset 138e162d2778 (bug 1521191)
Backed out changeset 3782d011cc9f (bug 1521191)
Backed out changeset 38d3da4804d7 (bug 1521191)
Backed out changeset d6ce4b187195 (bug 1521191)
2019-01-26 03:23:40 +02:00
Coroiu Cristina 1ec6503fd8 Merge mozilla-central to inbound a=merge on a CLOSED TREE 2019-01-25 23:55:33 +02:00
Coroiu Cristina caf5db8e62 Merge inbound to mozilla-central a=merge 2019-01-25 23:49:49 +02:00
Coroiu Cristina cacbab45bd Merge mozilla-central to autoland a=merge on a CLOSED TREE 2019-01-25 23:52:42 +02:00
Jeff Walden 8ca83fbf1e Bug 1522710 - Assert |!mod->isZero()| in bigint code where such is not entirely obvious unless you think about it. r=terpri
--HG--
extra : rebase_source : 075a2cb07b70744247bb129b24b0c2ff6418da4e
2019-01-24 16:00:51 -08:00
Andrew McCreight 5c1bc6074f Bug 1521191, part 3 - Add a function to create a negative leak. r=froydnj
This is needed to test the test harness's handling of a negative leak
being reported by the XPCOM leak checker.

Depends on D17535

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

--HG--
extra : moz-landing-system : lando
2019-01-24 21:29:40 +00:00
Andrew McCreight 0eb5d04802 Bug 1521191, part 1 - Add method to disable dump statistics. r=froydnj
In order to test the test harness's handling of a process failing to
produce a leak log, add a special function that disables the bloat log
output.

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

--HG--
extra : moz-landing-system : lando
2019-01-24 21:30:44 +00:00
Tooru Fujisawa c9819d375b Bug 1522096 - Skip BinAST jit-tests if BinAST is not enabled. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D17475

--HG--
extra : moz-landing-system : lando
2019-01-25 18:35:43 +00:00
Csoregi Natalia eb81fdc3cb Merge mozilla-central to autoland. CLOSED TREE 2019-01-25 19:02:11 +02:00
Benjamin Bouvier e3e01de090 Bug 1522824: Add an ENABLE_WASM_REFTYPES around the use of wasmGc(); r=lth
--HG--
extra : rebase_source : 9e7bb17c39a3d66a10a91026e0e223151db909d0
2019-01-25 14:59:11 +01:00
Jon Coppeard a7246ce305 Bug 1522481 - Tidy individual store buffer classes by giving them a back pointer to the owning StoreBuffer r=sfink 2019-01-25 13:21:32 +00:00
Jon Coppeard fdf93350f9 Bug 1514480 - Print more information when verfiying weakmap marking r=sfink 2019-01-25 13:21:04 +00:00
André Bargull b70f38bced Bug 1522465 - Part 1: Remove JSCLASS_IS_ANONYMOUS for classes without a JSProtoKey. r=jorendorff 2019-01-24 05:35:52 -08:00
André Bargull 6b7d6152d7 Bug 1522465 - Part 3: Remove remaining users of JSCLASS_IS_ANONYMOUS. r=jorendorff 2019-01-24 05:46:03 -08:00
André Bargull d1c55f2478 Bug 1522465 - Part 2: Don't resolve properties on the global object when ClassSpec::DontDefineConstructor is set. r=jorendorff 2019-01-24 05:38:18 -08:00
André Bargull 7536900fdd Bug 1522157 - Part 2: Inline IsTypedArrayConstructor with a constant if possible. r=jandem
--HG--
extra : rebase_source : 78c7b7bb330bccf063b542a396bf73043d1e6065
2019-01-31 10:37:39 -08:00
André Bargull c0de58457b Bug 1522157 - Part 1: Add fast path when TypedArray.from is called with packed arrays. r=jandem
--HG--
extra : rebase_source : e2061e355eaf7ae8e65f8d20ec7a123f08fbc6ad
2019-01-31 10:36:27 -08:00
André Bargull 9cc5cc88f9 Bug 1523592: Move %TypedArray%.prototype[@@toStringTag] getter from JS to C++. r=jorendorff 2019-01-29 05:28:14 -08:00
André Bargull 00330837a5 Bug 1523664: Inline IsPossiblyWrappedTypedArray when the type-set contains unknown objects. r=jandem 2019-01-29 08:28:42 -08:00
André Bargull e584265735 Bug 1523720: Allow for-of var-redeclarations within a catch-block. r=jorendorff 2019-01-31 10:34:39 -08:00
Benjamin Bouvier f5918e13c5 Bug 1522458: Add a resume point after wasm calls inlined in Ion; r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D18247

--HG--
extra : rebase_source : 2aa1ac1f4219bd0fb6b690ac20d981aa52dd3535
extra : amend_source : 50fdcc263d96a0615257340b3aaf0f0e6d9c616a
2019-01-31 17:03:41 +01:00
Lars T Hansen 25bbc1970d Bug 1502037 - Better error messages when accessing dropped data/elem segments. r=jseward
--HG--
extra : rebase_source : 86e6cbb799c87dee3087be5bae8e8700f7f02738
extra : histedit_source : 9258ae18f9c3ae66516be5c8ff8d104690f53b8e
2019-01-24 14:23:35 +01:00
Benjamin Bouvier 97cb21c541 Bug 1522173: Bump Cranelift to 0.28; r=sunfish
--HG--
extra : rebase_source : 0f772aa20c592a46cfdbc83a64b218a4568ff28d
extra : histedit_source : 7148969780d2ba4fb5aeecdcb413855a4babef33
2019-01-24 10:51:17 +01:00
Paul Bone 362857a4e8 Bug 1497873 - Add a kind-of goal seeking herustic for nursery resizing r=jonco
Also allow the nursery to shrink up to half it's current size, previously
it'd be one chunk at a time.  Growing is still capped at twice the current
size.  These limits tend to prevent it changing too dramantically for small
changes in allocation patterns.

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

--HG--
extra : moz-landing-system : lando
2019-01-29 02:04:10 +00:00
Paul Bone 10b064b867 Bug 1497873 - Tweak the pretenure condition r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D17593

--HG--
extra : moz-landing-system : lando
2019-01-29 02:03:50 +00:00
Lars T Hansen 79d76d7756 Bug 1502035 - DataCount section. r=luke
We now require the presence of a DataCount section to forward-declare
the number of data segments if the code uses memory.init or data.drop.
Those instructions may only reference segments in the range
[0..dataCount-1].

If there is a DataCount section then the number of forward-declared
segments must match the actual count of segments.

We no longer need the deferred validation state, so we can remove it.
That's pretty mechanical and comprises the bulk of the patch.

text->binary translation will insert a DataCount section if
memory.init or data.drop is used and the DataCount section is not
present in the text (this will be the common case); however, if the
section is present in the text then translation will just encode
whatever the text contains.  The section is not synthesized if it is
not needed.

Also: test cases for all of this.

Also: drive-by fix the passive-segments test cases: do not duplicate
functionality from wasm-binary.js, and use opcode names when possible.

--HG--
extra : rebase_source : 1f24050fce4b70124d124c705230a4c818dc74df
extra : histedit_source : 55cf265210ecdd8ea234e66949866e9d5beafb11%2C59e3ef279dd0f63f0bfb448951d61ebe5707d74c
2019-01-23 16:06:16 +01:00
Tooru Fujisawa e6a4370664 Bug 1522756 - Part 2: Add README.md to js/src/jit-test/tests/binast/. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D17603

--HG--
extra : moz-landing-system : lando
2019-01-25 11:36:23 +00:00
Tooru Fujisawa a52c210065 Bug 1522756 - Part 1: Make it possible to encode specific files to BinAST, and add description. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D17601

--HG--
extra : moz-landing-system : lando
2019-01-25 11:36:18 +00:00