Commit Graph

69796 Commits

Author SHA1 Message Date
shindli
6820dc6ccd Backed out changeset cc20c56545bd (bug 1527900) for spidermoneky build bustages CLOSED TREE 2019-03-01 00:15:42 +02:00
Oana Pop Rus
12c70e6b88 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-03-01 00:00:53 +02:00
Oana Pop Rus
5c86c9efec Merge inbound to mozilla-central. a=merge 2019-02-28 23:47:12 +02:00
Jon Coppeard
c889724a1b Bug 1531018 - Update BigInt hashing to account for the possiblity of moving GC r=sfink 2019-02-28 17:33:49 +00:00
Jon Coppeard
bf58123016 Bug 1531035 - Assert that weak map keys are not null r=sfink 2019-02-28 16:38:49 +00:00
Jon Coppeard
ef9a7b7a27 Bug 1530643 - Check for allocation failure when initialising sweep actions r=sfink 2019-02-28 16:38:48 +00:00
Cosmin Sabou
e4dc7046ec Backed out changeset c21e3a9d4457 (bug 1530641) for causing SM bustages on debugger-no-script.js. CLOSED TREE 2019-02-28 18:08:04 +02:00
Yoshi Cheng-Hao Huang
92ccfd4d30 Bug 1529006 - Use Rooted for NewObjectMetadataState. r=jonco
Remove the `if (!mozilla::IsPointer<T>::value || thing)` check in
GCVariantImplementation::trace, as GCPolicy will dispatch these to
GCPointerPolicy and InternalPointerPolicy (for pointers) and StructGCPolicy (for
non-pointers).

Also use Rooted for prevState_ in AutoSetNewObjectMetadata and remove
inherit from CustomAutoRooter.
2019-02-28 16:05:23 +01:00
Ashley Hauck
3578e2838b Bug 1531323 - Fix incorrect classTypeCode in ClassField. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D21530

--HG--
extra : moz-landing-system : lando
2019-03-01 01:17:47 +00:00
Ashley Hauck
f549afa691 Bug 1528020 - Document high-level overview of the structure of parser support classes. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D21363

--HG--
extra : moz-landing-system : lando
2019-03-01 01:20:27 +00:00
Jan de Mooij
d6b56823da Bug 1521906 part 4 - Remove CheckedUnwrap and rename UnwrapOneChecked to UnwrapOneCheckedStatic. r=bzbarsky
The CacheIR code only sees transparent CCWs so it's fine to do a static unwrap.

DebuggerObject::unwrap is more complicated. We're in the debugger's compartment
there; I went with UnwrapOneCheckedStatic as it seems safest and simplest for
now.

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

--HG--
extra : moz-landing-system : lando
2019-03-01 09:21:11 +00:00
Boris Zbarsky
3f1bb52920 Bug 1530146 part 2. Back out the fix for bug 1526624, since it's no longer needed. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D21482

--HG--
extra : moz-landing-system : lando
2019-03-01 00:19:53 +00:00
Boris Zbarsky
05b3097da8 Bug 1530146 part 1. Switch XrayWaiver to always being same-realm with its target. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D21481

--HG--
extra : moz-landing-system : lando
2019-03-01 02:54:41 +00:00
Andy Wingo
678f6efcbf Bug 1527900 - Throw exception if StructuredClone sees bigint in realm without bigint r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D21206

--HG--
extra : moz-landing-system : lando
2019-02-27 17:10:05 +00:00
Cosmin Sabou
9aed4b2b35 Merge mozilla-central to mozilla-inbound. 2019-02-28 13:43:36 +02:00
Cosmin Sabou
00f3836a87 Merge mozilla-inbound to mozilla-central. a=merge 2019-02-28 12:57:50 +02:00
Lars T Hansen
70a2eb7d3c Bug 1524923 - Support local.get, local.set, global.get, global.set. r=bbouvier
I've only added support for these, renamed in a couple of error
messages and a few test cases, not renamed all the uses, because there
are so many.  Will file followup bugs for that work, but it won't be
urgent.

Note, wabt no longer recognizes get_local et al, it requires local.get
etc.  But we should remain backward compatible for a long while still.

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

--HG--
extra : rebase_source : b78b23ee5edb6121da6884b1bf36336e07ea82ef
2019-02-28 09:55:51 +01:00
Lars T Hansen
9a333813fc Bug 1530273 - Make 'funcref' the canonical name. r=bbouvier
Wabt is now supporting funcref exclusively, and with the reftypes
proposal I think there's broad agreement that we will stop using
anyfunc.  So let's accept funcref both in the text format and in the
table creation dictionary, and let's use this name as the canonical
name in error messages and similar.

But let's also continue to accept anyfunc, since there may be
in-flight tests and other content that uses it.  This includes a
couple of emscripten-compiled benchmarks currently in the repo; I
chose not to change those.

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

--HG--
extra : rebase_source : 078ffbac2c3d88b2ce74fdcf06493b4db8000dac
2019-02-27 18:03:44 +01:00
Yoshi Cheng-Hao Huang
474140112e Bug 1319468 - P3: Use Rooted for RootedCount. r=jonco 2019-02-28 10:26:55 +01:00
Yoshi Cheng-Hao Huang
f875b24960 Bug 1319468 - Part 2: Use Rooted<GCVector> for AutoLookupVector. r=sfink 2019-02-28 10:26:37 +01:00
Yoshi Cheng-Hao Huang
b198f186ed Bug 1319468 - P1: Use Rooted for AutoRooterGetterSetter::Inner. r=jonco 2019-02-28 10:26:19 +01:00
Jeff Walden
637b436666 Bug 1530883 - Stop skipping some tests that actually pass. r=anba
--HG--
extra : rebase_source : 7fc2fa335fa3ef9e578cfba5f576ebaefb5c7131
2019-02-27 17:24:06 -08:00
Julian Seward
e6111cabb2 Bug 1530991 - wasm baseline: fix the "don't create stackmap" criterion in createStackMap(). r=lhansen.
StackMapGenerator::createStackMap() creates stack maps in the wasm baseline
compiler.  For release builds, it first performs a check to determine whether
the stackmap would describe only non-ref words, and if so, exits without
creating the map, since the map would be useless.

To make the check cheaper, it is inexact but safe, so it sometimes causes a
map to be created even though it is unnecessary.  Specifically, the vector
|extras|, which may contain a description of exit stub register save
locations, is regarded as possibly-contributing-refs if it is merely
non-empty.  The actual contents are not checked.  This causes creation of
33,688 unnecessary stack maps in the Tanks test case, probably one for each
function.

The fix is simple.  Actually check every element of |extras| to see if any are
|true|.  This makes the test exact, removes all unnecessary map creation, and
reduces the Tanks compile cost from 2.43 billion instructions to 2.39 billion
instructions.  That is, the shortcut was overall a loss anyway, presumably due
to the extra costs incurred by the pointless stackmap creation.

--HG--
extra : rebase_source : 4990f28ec6d3d50e289432572c79a6ca105aecc3
2019-02-27 17:49:30 +01:00
Matthew Gaudet
2451b401b7 Bug 1473830 - Add testcase r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D21014

--HG--
extra : moz-landing-system : lando
2019-02-27 11:53:01 +00:00
Steve Fink
7e1603e74a Bug 1529428 - Remove unused "collectNurseryBeforeDump" argument from dumpHeap() test function r=pbone
Differential Revision: https://phabricator.services.mozilla.com/D20595

--HG--
extra : moz-landing-system : lando
2019-02-27 04:02:11 +00:00
Paul Bone
f454488dff Bug 1530573 - Protect maybeResizeNursery() from overflow r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D21158

--HG--
extra : moz-landing-system : lando
2019-03-01 00:09:09 +00:00
Greg Tatum
0477c3b4e0 Bug 1529125 - Add IOInterposerInit to xpc shell tests; r=froydnj
Add an RAII guarded initialization for the IO interposer to the
initialization process for xpc shell tests. This ensures that whenever
an xpcshell tests uses the IOInterposer, that it will correctly
catch all registered threads, and will not miss any.

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

--HG--
extra : moz-landing-system : lando
2019-02-26 15:27:20 +00:00
Ted Campbell
19ce0ac165 Bug 1527007 - Work around Windows fmod bugs r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D21407

--HG--
extra : moz-landing-system : lando
2019-02-28 13:22:17 +00:00
Benjamin Bouvier
f1a11814b4 Bug 1530641: Add test case; r=bhackett
Differential Revision: https://phabricator.services.mozilla.com/D21506

--HG--
extra : moz-landing-system : lando
2019-02-28 11:53:38 +00:00
Jan de Mooij
b4faab5772 Bug 1530937 part 2 - Add new VMFunction mechanism and use it for some Baseline callVMs. r=nbp,tcampbell
We are doing this to:

1) Eliminate (hundreds of) static constructors. These account for a significant
   fraction of all remaining static constructors in Gecko.

2) Use constexpr for VMFunction data. This was not possible with the linked list
   but the new design stores all data in a constexpr array. This will save a few
   KB per process.

3) Make it easier to define a new VMFunction.

4) Coalesce duplicate VMFunction copies in Baseline/Ion/ICs.

5) Get rid of the (read-only) HashMap for the VMFunction => code lookup. We can
   use a Vector instead.

6) Make it easier in the future to generate the wrappers at compile time.

This patch will let us incrementally convert the remaining VM functions. The
only thing not handled by this patch is support for the TailCall and
extraValuesToPop fields. We can do this when we convert the Baseline IC code
that uses these fields.

Once all VM functions have been converted we can remove and simplify more code.

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

--HG--
extra : moz-landing-system : lando
2019-02-28 12:31:01 +00:00
Jan de Mooij
7e8bf994ed Bug 1530937 part 1 - Remove FunctionInfo Context template parameter. r=nbp
This was useful when we had ExclusiveContext and PJS ThreadSafeContext but now we
only use JSContext* so it's simpler to just use that.

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

--HG--
extra : moz-landing-system : lando
2019-02-28 09:37:36 +00:00
Cosmin Sabou
48fed2590e Merge mozilla-central to autoland. CLOSED TREE
--HG--
extra : amend_source : 7b6922917d1ee0d20fd7127648e1fe5e422a1bd9
2019-02-28 16:33:22 +02:00
Ashley Hauck
8b84184b09 Bug 1526031 - remove initOrStmt field from NameNode. r=jorendorff,arai
Differential Revision: https://phabricator.services.mozilla.com/D19054

--HG--
extra : moz-landing-system : lando
2019-02-28 09:52:32 +00:00
Cosmin Sabou
75363ca2fb Backed out changeset 01d931a9140b (bug 1526031) for build bustages on frontend/ParseNode.h CLOSED TREE 2019-02-28 11:15:46 +02:00
Ashley Hauck
83ff13eec8 Bug 1526031 - remove initOrStmt field from NameNode. r=jorendorff,arai
Differential Revision: https://phabricator.services.mozilla.com/D19054

--HG--
extra : moz-landing-system : lando
2019-02-28 01:29:19 +00:00
Marco Bonardo
5c4e44ce0a Bug 1528751 - Add a custom eslint rule to check "consistent" if bracing. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D20753

--HG--
extra : moz-landing-system : lando
2019-02-28 08:39:33 +00:00
Jeff Walden
9b370ac30c Bug 1037100 - Replace a bunch of uses of Scoped with uses of UniquePtr in ICU-related code, and remove a couple pointless Scoped.h #includes. r=anba
--HG--
extra : rebase_source : 0172522f3e06e0f11eb4b462282734df97161f30
2019-02-25 15:02:01 -08:00
Jeff Walden
afc60ecfcb Bug 1530848 - Make the SupportedLocales internal operation from ECMA-402 return an array of writable, enumerable, and configurable elements and length. r=anba
--HG--
extra : rebase_source : c704be7d2f4f850859f270f67c2a6e521c8c0294
2019-02-27 13:58:36 -08:00
Sean Stangl
d850c582b4 Bug 1529400 - Summary: Disable ARM64 atomics tests in-simulator: the simulator lacks atomics emulation. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D20576

--HG--
extra : moz-landing-system : lando
2019-02-28 14:45:20 +00:00
shindli
b27cb46fce Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-03-06 06:58:43 +02:00
shindli
21c6171ef3 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-03-05 23:48:26 +02:00
Julian Seward
ccc5d4c0c1 Bug 1517924 - Stackmap creation for wasm-via-Ion. r=lhansen.
This patch creates stackmaps when compiling wasm via Ion.  The resulting maps
(wasm::StackMap) have the same type as those created by the baseline compiler,
and the user thereof (Instance::traceFrame) is unchanged -- it doesn't know or
care which compiler produced a map.

Maps are created for calls and for resumable traps -- that is, the stack
overflow checks at function entry and at loop heads.

As with the baseline compiler, for non-debug builds, stackmaps are omitted
when they would cover only non-ref words.  For debug builds, they are never
omitted, as that makes GC-time assertions on map-boundary-correctness more
effective.

Summary of implementation
~~~~~~~~~~~~~~~~~~~~~~~~~

(1) The front end (WasmIonCompile.cpp) is assumed to generate MIR nodes with
    type MIRType::RefOrNull to indicate ref-ness as needed.

(2) When lowering MIR to LIR, nodes requiring a stackmap are marked by calling
    assignWasmSafepoint [LIRGenerator::{lowerWasmCall,
    visitWasmInterruptCheck}].

(3) When lowering LIR to machine insns, for calls and traps, the LSafepoint
    created by (2) is associated with a specific assembler offset (machine
    insn) and is tagged with the relevant lower-limit masm.framePushed value
    [CodeGenerator::{emitWasmCallBase, visitWasmInterruptCheck}].

(4) After code generation (including regalloc) has finished, all the
    LSafepoints created by (2)/(3) are visited, and from them wasm::StackMaps
    are created [CodeGenerator::generateWasm, CreateStackMapFromLSafepoint].
    The StackMaps are added to our running collection thereof.

    CodeGenerator::generateWasm also creates the function entry stack map
    [CreateStackMapForFunctionEntryTrap].

Changes to existing structure
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

When generating stackmaps for call instructions, it is crucial to correctly
establish the boundary between the caller and callee's stackmaps.  The
boundary is defined thusly: the upper end of the callee's stackmap corresponds
with the the highest-addressed stack word that carries an argument value, and
the lower end of the caller's stackmap is the next word above that, and
includes any and all padding pushed before the arguments proper.

Hence the following change: all MWasmCallNodes must now carry the value
StackArgAreaSizeUnaligned(outgoing arg tys), and so that has been added as an
extra field, stackArgAreaSizeUnaligned_.  [FunctionCompiler::{callDirect,
callIndirect, callImport, builtinCall, builtinInstanceMethodCall].

This applies to MWasmCallNodes created by callDirect, callIndirect,
callImport, builtinCall and builtinInstanceMethodCall.  For the latter two,
the outgoing argument size is derived from type information in the callee's
SymbolicAddressSignature.

Other details of implementation not mentioned above, in no particular order
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Some JitSpewery has been added.

* There has been some renaming of variables in BaseCompiler::beginFunction so
  as to emphasise the commonality with new function
  CreateStackMapForFunctionEntryTrap, since they perform essentially the same
  job.

* LSafepoint has two new wasm-only fields isWasmTrap_ and
  framePushedAtStackMapBase_, needed to determine the map base point when
  converting to a wasm::StackMap.

* (debug only) MDefinition::printOpcode now prints the type of each value, so
  it's possible to look at MIR dumps and see if the types are right.

* MacroAssembler::wasmReserveStackChecked has been rewritten, although it
  generates the same code:

  - it returns both: the assembler offset of the trapping insn, so we can key
    the associated StackMap to it, and

  - the number of bytes of stack allocated before the trap, so that
    CreateStackMapForFunctionEntryTrap can take those into account

  - The somewhat krunky control flow
    if (amount > MAX_UNCHECKED_LEAF_FRAME_SIZE), and the opposite test later,
    has been merged into a single test.  I find this safer and easier to
    reason about.

* GenerateStackmapEntriesForTrapExit is used by both compilers and so has been
  moved to the common area WasmGC.{cpp,h}.

* |struct StackMap| and |class StackMaps| have been moved from WasmTypes.h to
  WasmGC.h.

--HG--
extra : rebase_source : c3da878fdf81b81b09d14a3b7098252cc2cae3dc
2019-03-05 16:03:32 +01:00
Boris Zbarsky
2e5c884144 Bug 1489308 part 5. Align the work we do on document.open with the spec. r=mccr8,smaug
The main behavior changes are:

1) We no longer create a new Window when doing document.open().  We use the
same Window but remove all the event listeners on it and on the existing DOM
tree before removing the document's existing kids.

2) We no longer create a new session history entry.  The existing one always
gets replaced instead.

3) We now support document.open on documents that are not in a Window.

The reasons for the various test changes are as follows:

The change to browser_modifiedclick_inherit_principal.js is because we no
longer set the docshell to a wyciwyg URL when document.open() happens and the
test was depending on that to terminate.

browser_wyciwyg_urlbarCopying.js is being removed because it's trying to test
wyciwyg URIs, which no longer exist.

The changes in docshell/test/navigation are because document.open() no longer
affects session history.  One of the tests was testing the interactions there
and is being removed; another is being repurposed to just test that
document.open() does not affect history.length.

The change to test_x-frame-options.html is because document.open() now removes
event listeners on the window, which it didn't use to do (and in the specific
case in this test reused the existing inner too, so the listener was still
around in practice).  The new behavior matches other browsers.

The removal of test_bug172261.html is because document.open() no longer affects
session history, so you can't go back across it or forward to the "opened"
state, so the situation that test is trying to test no longer exists.

The changes to test_bug255820.html are because reloading a document after
document.open() will now just load the URL of the document that was the entry
document for the open() call, not reload the written content.  So there's not
much point testing reload behavior, and in this test it was just reloading the
toplevel test file inside the frames.

The change to test_bug346659.html is because now we no longer create a new
Window on document.open().

The change to test_bug1232829.html is because document.open() (implicit in this
test) no longer adds history entries, so the back() was just leaving the test
page instead of going back across the document.open().  The test is a
crashtest in practice, so might still be testing something useful about how
document.open() interacts with animations.

The change to test_bug715739.html is because the URL of the document after
document.open() is now the URL of the entry document, not a wyciwyg URL, so
reload() has different behavior than it used to.

The change to test_bug329869.html is because now when we go back we're
reloading the original document we had, not doing a wyciwyg load, and the
security info now doesn't include the untrusted script.

The changes to the wpt expectations are removing a bunch of expected failures
now that we pass those tests and disabling some tests that are fundamentally
racy and hence fail randomly.  The latter all have github issues filed for the
test problem.

The change to testing/web-platform/tests/common/object-association.js is fixing
tests that were not matching the spec (and were failing in other browsers).

The change to parser-uses-registry-of-owner-document.html is fixing tests that
were not matching the spec (and were failing in other browsers).

The change to document-write.tentative.html is because the test was buggy: it
was using the same iframe element for all its tests and racing loads from some
tests against API calls from other tests, etc.  It's a wonder it ever managed
to pass, independent of these patches (and in fact it doesn't pass according to
wpt.fyi data, even in Firefox).

The changes in html/browsers/history/the-history-interface are because
document.open() no longer adds history entries.  The test was failing in all
other browsers for the same reason.

The changes in html/browsers/history/the-location-interface are because
reloading a document.open()-created thing now loads the URL of the page that
was the entry document for the open() call.  The test was failing in all other
browsers.

The change to reload_document_open_write.html is because we now reload the url
of the document that entered the script that called open() when we reload, not
the written content.  Other browsers were failing this test too; Gecko with
the old document.open implementation was the only one that passed.

The change to http-refresh.py is to fix a test bug: it was not returning a
Content-Type header, so we were putting up helper app dialogs, etc.

The change to test_ext_contentscript.js is because we no create a new global
for document.open() calls.  Kris Maglione OKed this part.

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

--HG--
extra : moz-landing-system : lando
2019-02-27 23:24:48 +00:00
Nika Layzell
8faa2cd588 Bug 1528383 - Allow getting 'wrappedJSObject' without the attribute being defined, r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D20016

--HG--
extra : moz-landing-system : lando
2019-02-26 21:19:11 +00:00
Sean Stangl
16371d080e Bug 1530031 - Summary: Allow ARM64 Simulator to return a different error message. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D21288

--HG--
extra : moz-landing-system : lando
2019-02-27 10:52:42 +00:00
Nicolas B. Pierron
7612e299fd Bug 1530396 - Move the AutoFlushICache to the Linker. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D21025

--HG--
extra : moz-landing-system : lando
2019-02-27 18:00:02 +00:00
Robin Templeton
effd19ec9c Bug 1530406 - Make HashableValue comparison of BigInts infallible r=wingo,jwalden
Differential Revision: https://phabricator.services.mozilla.com/D21032

--HG--
extra : moz-landing-system : lando
2019-02-27 15:50:04 +00:00
Dorel Luca
ca0e748103 Backed out changeset 9970e92003a2 (bug 1530396) for spidermonkey failure 2019-02-27 19:13:35 +02:00
Nicolas B. Pierron
d2152481ed Bug 1530396 - Move the AutoFlushICache to the Linker. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D21025

--HG--
extra : moz-landing-system : lando
2019-02-27 16:53:51 +00:00
Nicolas B. Pierron
403cf83c2c Bug 1528399 - ARM64: EnterJIT should align on 16 bytes instead of 256. r=sstangl
Differential Revision: https://phabricator.services.mozilla.com/D20174

--HG--
extra : moz-landing-system : lando
2019-02-27 16:49:10 +00:00
Robin Templeton
8be440b71b Bug 1527729 - Skip range computation for non-int32 bitwise ops r=wingo,jandem
Differential Revision: https://phabricator.services.mozilla.com/D20618

--HG--
extra : moz-landing-system : lando
2019-02-27 12:10:23 +00:00
Matthew Gaudet
4a071db7df Bug 1519077 - Don't mutate inputs in CacheIR operations r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D18708

--HG--
extra : moz-landing-system : lando
2019-02-27 14:29:08 +00:00
Matthew Gaudet
2b81ce4743 Bug 1526024 - Handle rcx as a destination register r=tcampbell
Also add unit tests

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

--HG--
extra : moz-landing-system : lando
2019-02-27 14:31:36 +00:00
Ehsan Akhgari
5b6eeea29c Bug 1531020 - Initialize MWasmLoadRef::aliasSet_ based on the argument passed to the constructor; r=lhansen
Differential Revision: https://phabricator.services.mozilla.com/D21367

--HG--
extra : moz-landing-system : lando
2019-02-27 13:59:24 +00:00
Andy Wingo
ee4a9d22d1 Bug 1527897 - Optimize js::getProperty on bigint values to not create wrapper object r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D21221

--HG--
extra : moz-landing-system : lando
2019-02-27 12:03:04 +00:00
Csoregi Natalia
d713b1a85a Merge mozilla-central to autoland. CLOSED TREE 2019-02-27 06:35:29 +02:00
Csoregi Natalia
2a6f3dde00 Merge inbound to mozilla-central. a=merge 2019-02-27 06:31:28 +02:00
Paul Bone
5a9e06b14f Bug 1506761 - Fix existing spelling error r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D20813

--HG--
extra : moz-landing-system : lando
2019-02-27 03:36:56 +00:00
Paul Bone
1913e73f45 Bug 1506761 - Add a fraction threshold for collecting the nursery r=sfink
We collect the nursery in idle time if there is less than 256KB of space
remaining.  However when the nursery is small this doesn't make sense, so
add a percentage-based threshold to be used when the nursery is small.

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

--HG--
extra : moz-landing-system : lando
2019-02-27 03:36:54 +00:00
Nicholas Nethercote
f476546aaa Bug 1530311 - Add a length check to HashTable::reserve(). r=luke
Also add an assertion to a similar function in PLDHashTable.cpp.

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

--HG--
extra : moz-landing-system : lando
2019-02-27 00:08:13 +00:00
Csoregi Natalia
86fd564657 Merge mozilla-central to mozilla-inbound. CLOSED TREE 2019-02-26 23:53:15 +02:00
Ashley Hauck
9421beff16 Bug 1499448 - Implement .initializers local variable. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D21042

--HG--
extra : moz-landing-system : lando
2019-02-26 21:23:46 +00:00
Gurzau Raul
e3f56d9481 Backed out 2 changesets (bug 1519077, bug 1526024) for jsapi-tests failures on a CLOSED TREE
Backed out changeset 8a75915b2541 (bug 1519077)
Backed out changeset 87514c3aaa3a (bug 1526024)
2019-02-27 00:18:02 +02:00
Matthew Gaudet
5fdd3d2d45 Bug 1530484: Rewrite DeadIfUnused to clarify conditions r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D21057

--HG--
extra : moz-landing-system : lando
2019-02-26 20:26:58 +00:00
Chris Manchester
c7f1151b94 Bug 1527553 - Update the mozilla-central workspace hack. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D20738

--HG--
extra : moz-landing-system : lando
2019-02-26 19:37:49 +00:00
shindli
c442603050 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-26 18:58:45 +02:00
shindli
c780ef516c Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-02-26 12:20:22 +02:00
Tom Schuster
4d90baf832 Bug 1529939 - Remove JSVAL_TYPE_MISSING. r=bzbarsky,jandem
Differential Revision: https://phabricator.services.mozilla.com/D20936

--HG--
extra : moz-landing-system : lando
2019-02-26 08:48:01 +00:00
Tom Schuster
40aeb7e710 Bug 1528931 - Use Value::type in dumpValue. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D20818

--HG--
extra : moz-landing-system : lando
2019-02-26 16:54:06 +00:00
Ashley Hauck
adaa388508 Bug 1530084 - Don't crash on unsupported syntax when fields are disabled. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D20989

--HG--
extra : moz-landing-system : lando
2019-02-25 22:10:17 +00:00
Jim Blandy
0f90566ff7 Bug 1530104: Correct documentation for newGlobal JS shell function. r=jorendorff
This clarifies the descriptions of newCompartment, sameCompartmentAs, and
sameZoneAs.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 18:54:25 +00:00
Paul Bone
b4c70224d2 Bug 1530575 - Reduce SubChunkStep r=sfink
I initially set this to 64K thinking that it'd prevent too much changing of
the nursery size and therefore (once implemented) too many calls to
madvise.  But that's not true, because the nursery only changes size when a
tenure rate threshold is hit, and once it does it always changes size.  So
we can reduce this to 4K for simplicity and alignment with other constants.

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

--HG--
extra : moz-landing-system : lando
2019-02-27 02:59:27 +00:00
David Major
00ff182cab Bug 1526276 - Add a fake unwind code to arm64 JIT function entries r=luke
This works around the issue where if the PC and SP don't change while unwinding our JIT frame, we'll fail the unwinder's sanity checks and it won't call our exception handler.

Ideally we'd store proper unwind info, but that's a larger change for another day.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 21:04:41 +00:00
Benjamin Bouvier
3de7ef5d2e Bug 1530641: Use hasScript() to check if a script exists; r=bhackett
Differential Revision: https://phabricator.services.mozilla.com/D21219

--HG--
extra : moz-landing-system : lando
2019-02-26 14:45:18 +00:00
Tooru Fujisawa
b0d83e4a75 Bug 1530238 - Use ParseContext::checkBreakStatement in Parser. r=Yoric
Depends on D20993

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

--HG--
extra : moz-landing-system : lando
2019-02-26 13:20:54 +00:00
Tooru Fujisawa
1a49c9338c Bug 1525855 - Add testcase with WTF-8 characters in several places. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20993

--HG--
extra : moz-landing-system : lando
2019-02-26 13:20:52 +00:00
Tooru Fujisawa
eec12de124 Bug 1530389 - Enclose BinAST code in Parser.h with JS_BUILD_BINAST. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D21091

--HG--
extra : moz-landing-system : lando
2019-02-26 13:21:02 +00:00
Ted Campbell
c800cd1068 Bug 1530513 - Fix handling of LazyScript HasBeenCloned flag r=jandem
- Ensure that HasBeenCloned flag is set on LazyScript when setting it on
  JSScript so it is preserved by relazification.
- Never preserve HasBeenCloned flag in LazyScript XDR.
  NOTE: With the first fix, this is not needed for tests to pass anymore.
- Add a LazyScript::packedFieldsForXDR() helper to strip out runtime
  flags before serializing.

Depends on D21069

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

--HG--
extra : moz-landing-system : lando
2019-02-26 09:26:26 +00:00
Ted Campbell
c877ff3880 Bug 1530513 - Preserve LazyScript::treatAsRunOnce during XDR r=jandem
This brings LazyScript behaviour of this flag in sync with JSScript and
the split between ImmutableFlags and MutableFlags.

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

--HG--
extra : moz-landing-system : lando
2019-02-26 09:32:58 +00:00
Nika Layzell
f3274c2fd2 Bug 1522579 - Part 1: Remove PContentBridge, r=mccr8
This actor won't be being used anymore, and acts only as a maintenance burden
for people working on this code (which we're doing pretty often these days!).

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:45 +00:00
Cosmin Sabou
2bc99829bf Backed out changeset 4d220064bcf8 (bug 1529681) for causing Windows 2012 AArch64 build bustages. CLOSED TREE
--HG--
extra : histedit_source : a68af39c236effa1c63bb091f4f72146c84a1be3
2019-02-25 20:31:13 +02:00
Emilio Cobos Álvarez
a970076f63 Bug 1529681 - Update bindgen. r=bbouvier 2019-02-25 09:51:02 -08:00
Andreea Pavel
a3b096ca44 Backed out changeset e67aafaf366c (bug 1530396) for build bustages on a CLOSED TREE 2019-02-25 19:14:28 +02:00
Andy Wingo
dc3ca84f73 Bug 1528803 - Add decompile support for new instructions r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D20327

--HG--
extra : moz-landing-system : lando
2019-02-25 15:40:04 +00:00
Nicolas B. Pierron
2492902397 Bug 1530396 - Move the AutoFlushICache to the Linker. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D21025

--HG--
extra : moz-landing-system : lando
2019-02-25 17:00:25 +00:00
Andreea Pavel
6d82da21f3 Backed out changeset e99833064d36 (bug 1529681) for build bustages on a CLOSED TREE 2019-02-25 18:44:17 +02:00
Andreea Pavel
cd1b27ad4d Backed out 6 changesets (bug 1522579) for build bustages on a CLOSED TREE
Backed out changeset 3c8320baa230 (bug 1522579)
Backed out changeset 0a288a3d85cd (bug 1522579)
Backed out changeset ecfd27e7d150 (bug 1522579)
Backed out changeset eda40fca0758 (bug 1522579)
Backed out changeset 5c7aafa32a0a (bug 1522579)
Backed out changeset a3c5a2c16411 (bug 1522579)
2019-02-25 18:19:38 +02:00
Nika Layzell
7924bfa435 Bug 1522579 - Part 1: Remove PContentBridge, r=mccr8
This actor won't be being used anymore, and acts only as a maintenance burden
for people working on this code (which we're doing pretty often these days!).

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:10 +00:00
Emilio Cobos Álvarez
66f3c5b7eb Bug 1529681 - Update bindgen. r=bbouvier
This works around an LLVM bug and also pulls a fair amount of bugfixes and perf
improvements. None of the breaking changes affect either the style system or
cranelift stuff.

Changelog for convenience:

https://github.com/rust-lang/rust-bindgen/compare/v0.43.2...v0.47.2

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

--HG--
extra : moz-landing-system : lando
2019-02-25 09:43:11 +00:00
Andy Wingo
599935c3ff Bug 1454862 - Enable compaction for BigInt values r=tcampbell,jonco
Differential Revision: https://phabricator.services.mozilla.com/D20986

--HG--
extra : moz-landing-system : lando
2019-02-25 15:28:42 +00:00
Ted Campbell
f2fc977e20 Bug 1530034 - Use default initializers for BytecodeEmitter fields. r=jorendorff
Also replace a few packed bitfields with normal fields since this is a
stack type only.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:03:59 +00:00
Ted Campbell
5016fe699c Bug 1530034 - Use mozilla::Maybe in BytecodeEmitter when reasonable. r=jorendorff
Depends on D20884

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

--HG--
extra : moz-landing-system : lando
2019-02-25 14:04:14 +00:00
Nicolas B. Pierron
f4ce4fc793 Bug 1529072 - JS Fuzzing: Add flag to fuzz harder than --ion-eager. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D20477

--HG--
extra : moz-landing-system : lando
2019-02-25 10:38:26 +00:00
Matthew Gaudet
f35c0b7d5d Bug 1524419: Incrementally touch stack on arm64 r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D19992

--HG--
extra : moz-landing-system : lando
2019-02-25 13:58:15 +00:00
Andy Wingo
2f05020cb3 Bug 1528784 - Pass BigInt as receiver when retrieving "toJSON" property r=anba
Differential Revision: https://phabricator.services.mozilla.com/D20304

--HG--
extra : moz-landing-system : lando
2019-02-25 10:41:47 +00:00
Andreea Pavel
7734adfd57 Backed out changeset 95e3e6f91e6e (bug 1528803) for build bustages on a CLOSED TREE 2019-02-25 12:56:18 +02:00
Andy Wingo
a4201056d3 Bug 1528803 - Add decompile support for new instructions r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D20327

--HG--
extra : moz-landing-system : lando
2019-02-25 08:13:39 +00:00
Oana Pop Rus
c66e162357 Merge inbound to mozilla-central. a=merge 2019-02-25 12:23:30 +02:00
Paul Bone
437a03b092 Bug 1527532 - Make initial nursery size smaller r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D19349

--HG--
extra : moz-landing-system : lando
2019-02-25 02:49:17 +00:00
Tooru Fujisawa
ab3eee7b52 Bug 1529448 - Move {hasUsedName,hasUsedNamedeclareFunctionThis,declareFunctionThis,declareFunctionArgumentsObject,declareDotGeneratorName} to ParseContext. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D20779

--HG--
extra : moz-landing-system : lando
2019-02-24 03:35:44 +00:00
Tooru Fujisawa
54d153b42a Bug 1529439 - Share variable redeclaration code between regular parser and BinAST parser. r=Yoric
Shared the part to redeclare vars as body-level functions.

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

--HG--
extra : moz-landing-system : lando
2019-02-24 03:35:19 +00:00
Tooru Fujisawa
7f54ff4d1d Bug 1529823 - Remove untagged tuple. r=Yoric
Untagged tuple is not used in multipart format and entropy format.

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

--HG--
extra : moz-landing-system : lando
2019-02-24 03:34:46 +00:00
Tooru Fujisawa
765b149359 Bug 1529442 - Move BinASTParserBase fields to BinASTParserPerTokenizer. r=Yoric
Both BinASTParserBase.{lazyScript_,handler_} are not used in BinASTParserBase,
but in BinASTParserPerTokenizer.
Moved them to BinASTParserPerTokenizer.

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

--HG--
extra : moz-landing-system : lando
2019-02-24 03:34:03 +00:00
Tooru Fujisawa
de2a04e277 Bug 1528844 - Move ParseNode allocation from BinASTParserBase to FullParseHandler. r=Yoric
BinASTParserBase::allocParseNode was used only for creating
ParseNodeKind::ParamsBody node, and other nodes are created by FullParseHandler.
Added FullParseHandler::newParamsBody and removed ParseNode allocation
methods from BinASTParserBase.

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

--HG--
extra : moz-landing-system : lando
2019-02-24 09:42:53 +00:00
Tooru Fujisawa
5fc0c2d2a4 Bug 1528837 - Part 14: Add ParserSharedBase class. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20226

--HG--
extra : moz-landing-system : lando
2019-02-24 09:42:51 +00:00
Tooru Fujisawa
e520c68042 Bug 1528837 - Part 13: Rename PerHandlerParser::handler field to handler_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20225

--HG--
extra : moz-landing-system : lando
2019-02-24 03:32:09 +00:00
Tooru Fujisawa
a2a3955524 Bug 1528837 - Part 12: Rename BinASTParserBase::factory_ field to handler_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20224

--HG--
extra : moz-landing-system : lando
2019-02-24 03:31:45 +00:00
Tooru Fujisawa
2c43d5027c Bug 1528837 - Part 11: Rename BinASTParserBase::parseContext_ field to pc_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20223

--HG--
extra : moz-landing-system : lando
2019-02-24 03:31:04 +00:00
Tooru Fujisawa
1c79a6e610 Bug 1528837 - Part 10: Rename ParserBase::checkOptionsCalled field to checkOptionsCalled_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20222

--HG--
extra : moz-landing-system : lando
2019-02-24 03:30:36 +00:00
Tooru Fujisawa
01ccdbbf13 Bug 1528837 - Part 9: Rename ParserBase::foldConstants field to foldConstants_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20221

--HG--
extra : moz-landing-system : lando
2019-02-24 03:29:55 +00:00
Tooru Fujisawa
74d86a94c6 Bug 1528837 - Part 8: Rename ParserBase::keepAtoms field to keepAtoms_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20220

--HG--
extra : moz-landing-system : lando
2019-02-24 03:29:05 +00:00
Tooru Fujisawa
81fa03ab0a Bug 1528837 - Part 7: Rename ParserBase::sourceObject field to sourceObject_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20219

--HG--
extra : moz-landing-system : lando
2019-02-24 03:28:30 +00:00
Tooru Fujisawa
ba499c1e3c Bug 1528837 - Part 6: Rename ParserBase::usedNames field to usedNames_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20218

--HG--
extra : moz-landing-system : lando
2019-02-24 03:27:59 +00:00
Tooru Fujisawa
cdf4ccd07a Bug 1528837 - Part 5: Rename ParserBase::pc field to pc_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20217

--HG--
extra : moz-landing-system : lando
2019-02-24 03:27:55 +00:00
Tooru Fujisawa
1c9a1e2216 Bug 1528837 - Part 4: Rename ParserBase::traceListHead field to traceListHead_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20215

--HG--
extra : moz-landing-system : lando
2019-02-24 03:26:35 +00:00
Tooru Fujisawa
ae21598c38 Bug 1528837 - Part 3: Rename ParserBase::tempPoolMark field to tempPoolMark_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20214

--HG--
extra : moz-landing-system : lando
2019-02-24 03:26:08 +00:00
Tooru Fujisawa
d041c9aac7 Bug 1528837 - Part 2: Rename ParserBase::alloc field to alloc_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20213

--HG--
extra : moz-landing-system : lando
2019-02-24 03:25:38 +00:00
Tooru Fujisawa
a89251e758 Bug 1528837 - Part 1: Rename {ParserBase,SharedContext}::context field to cx_. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20211

--HG--
extra : moz-landing-system : lando
2019-02-24 09:42:28 +00:00
Tooru Fujisawa
7ac585a93e Bug 1524967 - Check if BinAST auto-generated source is update in build.sh. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D20228

--HG--
extra : moz-landing-system : lando
2019-02-24 09:42:26 +00:00
Razvan Maries
387d93bc1c Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-02-23 06:25:33 +02:00
Razvan Maries
d7a2f49ed8 Merge mozilla-inbound to mozilla-central a=merge 2019-02-23 06:15:14 +02:00
Robin Templeton
73b54fd50c Bug 1528582 - Add DataView methods for BigInt access r=wingo,jwalden
Differential Revision: https://phabricator.services.mozilla.com/D20081

--HG--
extra : moz-landing-system : lando
2019-02-22 23:31:53 +00:00
Kris Maglione
e97c8bb395 Bug 1527803: Make sure debug service is instantiated before starting Watchdog thread. r=erahm
The watchdog thread's stack is intentionally kept as small as possible, since
the work that it does is trivial and should not require much stack space.
One result of this is that the stack segment is generally too small to
instantiate a new service (and we really don't want to be instantiating
services on it anyway).

The debug service is generally instantiated before the watchdog thread tries
to touch it, but this isn't guaranteed (and, in particular, it often isn't for
xpcshell runs on some noopt debug builds). Instantiating it before starting
the watchdog thread solves this problem.

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

--HG--
extra : rebase_source : 2f9c3e412a7ad9a0b6f84c61907e4a7508f3b18c
2019-02-22 13:03:06 -08:00
Coroiu Cristina
6a915c899d Merge mozilla-central to inbound a=merge 2019-02-22 18:41:16 +02:00
Coroiu Cristina
4a72e9cc9a Merge inbound to mozilla-central a=merge 2019-02-22 18:30:44 +02:00
Paul Bone
5d3d1e589f Bug 1528867 - Add a new version of the GC_NURSERY_BYTES telemetry histogram r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D20248

--HG--
extra : moz-landing-system : lando
2019-02-22 04:00:24 +00:00
Bogdan Tara
72e4a39f71 Backed out 2 changesets (bug 1528409) for ParseNode.cpp caused Linux bustages CLOSED TREE
Backed out changeset 49ade2dbfd2b (bug 1528409)
Backed out changeset 76f2dc553878 (bug 1528409)
2019-02-22 07:08:52 +02:00
Luke Wagner
4cf59eac86 Bug 1529349 - Baldr: detect invalid section before code section during streaming compilation (r=bbouvier)
--HG--
extra : rebase_source : f960764027ba5e3d3f891560b30ad16af3d5c219
2019-02-22 09:35:19 -06:00
Brian Hackett
95d63e80b2 Bug 1528320 - Ensure correct record/replay progress flag after XDR-decoding a script, r=tcampbell.
--HG--
extra : rebase_source : 8c89ccde2627022a2d9d6becc66586d2a106b34d
2019-02-21 17:32:59 -10:00
Lars T Hansen
4c51ddc941 Bug 1508559 - Ion instructions for reftypes. r=jseward
Add support to WasmIonCompile for the instructions in the reftypes
proposal: ref.null, ref.is_null, table.get, table.set, table.grow,
table.size.

Also add support for the ref.eq instruction from the gc proposal.

Also update the test suite so that we will not ion-compile test cases
that use gc features that are not landed here.

Note that this patch does not change the compiler-selection behavior:
If --wasm-gc is enabled then only the baseline compiler will be used;
if --wasm-gc is not enabled then no compiler will recognize these
opcodes.  Enabling Ion for reftypes content is the subject of
subsequent work.

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

--HG--
extra : rebase_source : 0048acdd0235b231f74f51630826f0690340bc3b
2019-02-19 10:06:59 +01:00
Noemi Erli
ee7d7c1ee3 Merge mozilla-central to mozilla-inbound
--HG--
rename : tools/lint/test/files/flake8/bad.py => tools/lint/test/files/flake8/subdir/exclude/bad.py
rename : taskcluster/taskgraph/util/templates.py => tools/tryselect/util/dicttools.py
extra : rebase_source : 67b83a21bd5d4a6d964cf26db2cd7ca155336022
2019-02-26 06:24:02 +02:00
Emanuel Hoogeveen
90d375ec6a Bug 1520496 - Make address range check more reliable.
--HG--
extra : rebase_source : af539b3f396f32b7725e8b18b4dcb21d147ab19f
2019-02-22 16:11:00 +02:00
Jeff Walden
15186f6a95 Bug 1529298 - Initialize all ArrayBuffers that store their data inline using a single function. r=sfink 2019-02-18 23:06:28 -08:00
Jeff Walden
d2da599780 Bug 1529298 - Add BufferKind::NO_DATA for ArrayBuffers that have no data (whether because byteLength is zero or because the ArrayBuffer is detached), for which the value of |ownsData()| is irrelevant. r=sfink 2019-02-18 22:53:37 -08:00
Jeff Walden
6308d87577 Bug 1529298 - Remove ArrayBufferOffset::offsetOfFlags as unused. r=sfink 2019-02-18 22:52:42 -08:00
Jeff Walden
ba59f4ed50 Bug 1529298 - Add BufferContents::createFoo functions for every kind so that the templaty, harder-to-search-for create function can be removed. r=sfink 2019-02-18 22:52:42 -08:00
Jeff Walden
adf8ccf080 Bug 1529298 - Consistently use "ArrayBuffer" instead of the vaguer "array buffer" in ArrayBuffer-related JSAPI descriptions. r=sfink 2019-02-18 22:52:42 -08:00
Jeff Walden
2c3a26a56b Bug 1529298 - Simplify ArrayBufferObject::createForContents some now that it's only ever passed non-null contents. r=sfink 2019-02-18 22:52:42 -08:00
Jeff Walden
75b3991d95 Bug 1529298 - Only pass BufferContents containing a non-null pointer to |ArrayBufferObject::createForContents|. r=sfink 2019-02-18 22:52:42 -08:00
Jeff Walden
3f664260f6 Bug 1529298 - Make AllocateArrayBufferContents return uint8_t*, and make its callers consistently not redundantly report OOMs. r=sfink 2019-02-18 22:52:42 -08:00
Jeff Walden
cf48c9f262 Bug 1529298 - Remove trailing arguments to ArrayBufferObject::createForContents that are identical for every caller. r=sfink 2019-02-18 22:52:42 -08:00
Jeff Walden
0b28f92bdc Bug 1529298 - Rename the two ArrayBufferObject::create overloads to ArrayBufferObject::create{Zeroed,WithContents}, and inline a simplified form of the more-complex ArrayBufferObject::create into the new createZeroed function. r=sfink 2019-02-18 22:52:41 -08:00
Jeff Walden
770a4748b4 Bug 1529298 - Remove ArrayBufferObject::hasData and perform its operation in its sole caller in a more straightforward manner. r=sfink 2019-02-18 22:52:41 -08:00
Jeff Walden
7be1e6c028 Bug 1529298 - Remove JS_ExternalizeArrayBufferContents because it has no users except in tests, implements complicated ownership semantics, and is definite implementation complexity. r=sfink 2019-02-18 22:52:41 -08:00
Jeff Walden
851c01dd7e Bug 1529298 - Move most of JS_ExternalizeArrayBufferContents into a static member function on ArrayBufferObject so that internals-observing code isn't smeared across two functions. r=sfink 2019-02-18 22:52:41 -08:00
Jeff Walden
06f85a7986 Bug 1529298 - Split PLAIN into INLINE_DATA/MALLOCED for ArrayBuffer kinds. r=sfink 2019-02-18 22:52:25 -08:00
Jeff Walden
ed29a8a408 Bug 1529298 - Rename JS_NewArrayBufferWithExternalContents to JS_NewArrayBufferWithUserOwnedContents to better accord with the USER_OWNED ArrayBufferKind name, and to avoid namespace overload with the semantically distinct JS_NewExternalArrayBuffer and JS_ExternalizeArrayBufferContents functions. r=sfink
--HG--
rename : js/src/jsapi-tests/testExternalArrayBuffer.cpp => js/src/jsapi-tests/testArrayBufferWithUserOwnedContents.cpp
2019-02-18 22:48:06 -08:00
Jeff Walden
b0059a00fb Bug 1529294 - Add a test for ArrayBuffers with external contents not being serializable. r=sfink 2019-02-18 22:45:17 -08:00
Csoregi Natalia
c80b2680b6 Backed out 16 changesets (bug 1529298, bug 1529294) for spidermonkey bustages on testAtomicOperations.cpp. CLOSED TREE
Backed out changeset d80b681a68e6 (bug 1529298)
Backed out changeset 086849ef0dd5 (bug 1529298)
Backed out changeset 6f66e6c059df (bug 1529298)
Backed out changeset 6cc3cd982953 (bug 1529298)
Backed out changeset d80ce47bba52 (bug 1529298)
Backed out changeset deaa41ca96da (bug 1529298)
Backed out changeset e7fad41d68e0 (bug 1529298)
Backed out changeset b3e668a95d32 (bug 1529298)
Backed out changeset c9f62f10eeb5 (bug 1529298)
Backed out changeset 1477b8eb5442 (bug 1529298)
Backed out changeset 5be8cb19ad3d (bug 1529298)
Backed out changeset 432b2e88c651 (bug 1529298)
Backed out changeset 3512de18097c (bug 1529298)
Backed out changeset 9294b0d54597 (bug 1529298)
Backed out changeset c5a391fd808f (bug 1529298)
Backed out changeset 086f0ad27487 (bug 1529294)

--HG--
rename : js/src/jsapi-tests/testArrayBufferWithUserOwnedContents.cpp => js/src/jsapi-tests/testExternalArrayBuffer.cpp
2019-02-22 05:43:19 +02:00
Jeff Walden
c898e8fff9 Bug 1529298 - Initialize all ArrayBuffers that store their data inline using a single function. r=sfink
--HG--
extra : rebase_source : c265c87b4337f84390622aa788007a0f68b42899
2019-02-18 23:06:28 -08:00