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

70264 Коммитов

Автор SHA1 Сообщение Дата
Jason Orendorff 02d6ab5f67 Bug 1541193 - Part 2: Parse `--args` arguments POSIX-style too. r=khyperia
Ran across this while adding `--feature-args`. jstests.py and jit_test.py both
accept `--args`, but with slightly different behavior. The two test runners
should behave the same, as much as reasonably possible. In this case
jit_test.py is doing it right; parsing a string of command-line arguments by
splitting on spaces is not the best idea.

(Alas, this does not fix the ludicrous restriction that `skip-if` expressions
can't have spaces in them.)

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

--HG--
extra : moz-landing-system : lando
2019-04-03 19:50:19 +00:00
Jason Orendorff 58772ecfb9 Bug 1541193 - Part 1: Add `--feature-args ARGS` option to JS shell test runner. r=khyperia
Regular `--args` are ignored when running a `skip-if` or `slow-if` test; these are not.

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

--HG--
extra : moz-landing-system : lando
2019-04-03 19:49:59 +00:00
Jason Orendorff 1b93cfd3a6 Bug 1530687 - Check for recursion when delegating `instanceof` to a bound function target. r=anba
Differential Revision: https://phabricator.services.mozilla.com/D25409

--HG--
extra : moz-landing-system : lando
2019-04-02 09:46:03 +00:00
Jeff Walden c9ad0cdcc7 Bug 1541286 - Remove "vm/RegExpConstants.h" and move the sole symbol in it into the sole header that #include'd it. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D25892

--HG--
extra : moz-landing-system : lando
2019-04-03 01:27:54 +00:00
Matthew Gaudet 6035570881 Bug 1536768 - Check completeness of FunctionDispatch without fallbacks r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D25456

--HG--
extra : moz-landing-system : lando
2019-04-03 14:05:17 +00:00
Matthew Gaudet c2c31c421b Bug 1536768 - Check completeness of ObjectGroupDispatch in opt builds r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D25304

--HG--
extra : moz-landing-system : lando
2019-04-03 14:05:12 +00:00
Matthew Gaudet e11b2b7ba3 Bug 1536880 - Add accessors to ReceiverGuard, and assert invariants r=iain
Differential Revision: https://phabricator.services.mozilla.com/D25643

--HG--
extra : moz-landing-system : lando
2019-04-02 21:06:35 +00:00
Matthew Gaudet 0a91ab062e Bug 1536880 - Clean out HeapReceiverGuard r=iain
Differential Revision: https://phabricator.services.mozilla.com/D25642

--HG--
extra : moz-landing-system : lando
2019-04-02 21:06:31 +00:00
Luke Wagner 5f00552ff7 Bug 1539865 - Baldr: lower baseline tiering threshold to 10ms (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D25421

--HG--
extra : moz-landing-system : lando
2019-04-03 05:36:12 +00:00
Anthony Aillerie 5d3499c4a9 Bug 1540771 - LIR.cpp: Remove nested redundant #ifdef r=nbp
Remove nested redundant #ifdef

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

--HG--
extra : moz-landing-system : lando
2019-04-03 09:35:19 +00:00
Khyati Agarwal 7907f0c225 bug 1529981 - ArenasToUpdate::shouldProcess is dead code r=sfink
ArenasToUpdate::shouldProcessKind() removed

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

--HG--
extra : moz-landing-system : lando
2019-04-03 12:08:35 +00:00
Robin Templeton 0093033657 bug 1456569 - Implement BigInt64 and BigUint64Array. r=wingo,jwalden,sfink
Differential Revision: https://phabricator.services.mozilla.com/D12581

--HG--
extra : moz-landing-system : lando
2019-04-02 17:11:13 +00:00
Jan de Mooij b05db42180 Bug 1540944 - Get new group from the correct realm in SetProto. r=luke
Differential Revision: https://phabricator.services.mozilla.com/D25803

--HG--
extra : moz-landing-system : lando
2019-04-02 19:41:07 +00:00
Jan de Mooij f42c632f54 Bug 1522837 part 16 - Implement pushUint8BytecodeOperandArg and pushUint16BytecodeOperandArg in BaselineInterpreterCodeGen. r=djvj
Differential Revision: https://phabricator.services.mozilla.com/D23299

--HG--
extra : moz-landing-system : lando
2019-03-28 14:05:50 +00:00
Jan de Mooij 72a15183ba Bug 1522837 part 15 - Implement aliased var ops in BaselineInterpreterCodeGen. r=djvj
Differential Revision: https://phabricator.services.mozilla.com/D23298

--HG--
extra : moz-landing-system : lando
2019-04-02 15:32:28 +00:00
Jan de Mooij 2edc0fd24d Bug 1522837 part 14 - Implement JSOP_ENVCALLEE, JSOP_NEWTARGET and JSOP_CHECKLEXICAL in BaselineInterpreterCodeGen. r=djvj
The JSOP_NEWTARGET code for non-arrow functions now uses cmov instead of an if-else. This is
a bit simpler (especially for the interpreter) and shorter and I didn't see any difference
in performance in some Baseline new.target micro-benchmarks.

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

--HG--
extra : moz-landing-system : lando
2019-04-03 07:32:45 +00:00
Jan de Mooij 3bc02af39a Bug 1382650 part 8 - Add a JitOption to disable use of Ion optimization levels. r=nbp
We might uplift these patches to beta. Having a JitOption makes it easier to
turn this off if needed.

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

--HG--
extra : moz-landing-system : lando
2019-04-02 12:34:09 +00:00
Julian Seward 5f5a58bc1c Bug 1533705 - Baldr: for instance function calls, don't redundantly re-state the arg types. r=lth
For Baldr and Rabaldr, bug 1528983 moved some way towards centralising
information about argument and return types of instance-function calls, with
the aim of having a single point-of-truth for such information.

Unfortunately the functions in Baldr that create instance function calls (in
WasmIonCompile.cpp) still state explicitly the type of each argument, despite
having to hand the relevant SymbolicAddressSignature.  Hence they state these
types redundantly and potentially in conflict with the single-point-of-truth
version.

This patch changes all relevant calls to passArg() so that they pull the
argument type out of the SymbolicAddressSignature rather than pass it ad-hoc.
It also changes passInstance() to take the first argument type, for
assertional purposes only.

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

--HG--
extra : moz-landing-system : lando
2019-04-03 06:05:27 +00:00
Paul Bone 35c57a98a6 Bug 1540670 - Forbid a nursery size of 0 r=jonco
The nursery uses capacity_ == 0 to determine if it is disabled.  This patch
avoids setting the capacity to zero by requring the minimum size to be at
least ArenaSize (usually 1 page).

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

--HG--
extra : moz-landing-system : lando
2019-04-03 01:41:21 +00:00
Paul Bone 1c472b4e64 Bug 1540670 - Only re-enable the nursery if generation GC is configured r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D25716

--HG--
extra : moz-landing-system : lando
2019-04-03 01:41:01 +00:00
Paul Bone d118d7b441 Bug 1538594 - Fix disabling the nursery r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D25715

--HG--
extra : moz-landing-system : lando
2019-04-03 01:40:39 +00:00
Petr Sumbera c54d6f748b Bug 1434726 - Avoid SIGBUS on SPARC systems in HashIIDPtrKey r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D25429

--HG--
extra : moz-landing-system : lando
2019-04-02 17:27:23 +00:00
Jeff Gilbert e6f79726e5 Bug 1540357 - Fix implicit int truncation dom/canvas's js/* includes. r=sfink
Depends on D25495

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

--HG--
extra : moz-landing-system : lando
2019-04-02 17:00:43 +00:00
Nicolas B. Pierron 65c7dcde2a Bug 1530351 - GenerateProfilerExit frame use 64-bits math to remove the rectifier frame size. r=sstangl
Differential Revision: https://phabricator.services.mozilla.com/D25755

--HG--
extra : moz-landing-system : lando
2019-04-02 15:44:58 +00:00
Gerald Squelart e1bd1f5588 Bug 1429613 - Using upgraded Variant::match where appropriate - r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D24891

--HG--
extra : moz-landing-system : lando
2019-04-02 11:53:55 +00:00
Gerald Squelart e2d15a1cfb Bug 1429613 - Variant matcher callbacks renamed from `match` to `operator()` - r=froydnj
Mechanical change from Matcher::match(...) to Matcher::operator()(...).
This will now permit the use of generic lambdas, and facilitate the
implementation of multi-lambda match.

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

--HG--
extra : moz-landing-system : lando
2019-04-02 11:53:47 +00:00
André Bargull 00087edc02 Bug 1539782: Don't attempt to resolve an already settled promise in the debugger. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D25575

--HG--
extra : moz-landing-system : lando
2019-04-01 10:18:21 +00:00
Jan de Mooij c5b3ecc620 Bug 1540940 - Use growByUninitialized instead of growBy for BytecodeEmitter code and notes vectors. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D25724

--HG--
extra : moz-landing-system : lando
2019-04-02 09:10:30 +00:00
Jan de Mooij 1eafec159b Bug 1501310 - Move Baseline IC fallback code from JitRealm to JitRuntime. r=tcampbell
Fallback code is now generated (as a single JitCode instance) when we create the
JitRuntime.

In ICScript::Create we can now allocate the fallback stubs directly (we no
longer need a Compiler class for each fallback stub) because we no longer have
to handle the compile-code case.

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

--HG--
extra : moz-landing-system : lando
2019-04-02 09:16:43 +00:00
Camil Staps b04078973e Bug 1513492 - Add support for a number of new (2018/12) text versions of WebAssembly instructions r=lth
The text format of the instructions wrap, extend, trunc, convert, demote,
promote, and reinterpret was changed recently to make them more consistent.
Signedness now appears after the type; e.g. trunc_f32_s instead of trunc_s/f32.
Also, local.tee can now be used besides tee_local.

See https://github.com/WebAssembly/wabt/issues/933 for reference.

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

--HG--
extra : moz-landing-system : lando
2019-04-02 06:22:35 +00:00
Jeff Walden feb28d4555 Bug 1539690 - Make a JS::RegExpFlag public API for flag bits, and make a JS::RegExpFlags flag-set abstraction. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D25177

--HG--
rename : js/public/RegExp.h => js/public/RegExpFlags.h
extra : moz-landing-system : lando
2019-04-02 03:16:43 +00:00
Noemi Erli 5d1c793bad Backed out changeset 6ccad746f5d8 (bug 1456569) for Linting opt failure in TypedArray.js CLOSED TREE 2019-04-02 05:40:09 +03:00
Noemi Erli 1416a50250 Backed out changeset 6f8d311064d9 (bug 15396900) for bustages in bug1033946.js CLOSED TREE 2019-04-02 05:38:56 +03:00
Eden Chuang 72b79c6fbd Bug 1442778 - Add "chromeContext" parameter to console API and console service messages. r=smaug
1. Adding a new attribute chromeContext in ConsoleEvent
2. Adding a new boolean attribute isFromChromeContext in nsIConsoleMessage
3. Sending IsFromChromeContext to the parent process

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

--HG--
extra : moz-landing-system : lando
2019-04-01 22:42:34 +00:00
Robin Templeton d1fd3eb1c9 bug 1456569 - Implement BigInt64 and BigUint64Array. r=wingo,jwalden,sfink
Differential Revision: https://phabricator.services.mozilla.com/D12581

--HG--
extra : moz-landing-system : lando
2019-04-01 22:22:28 +00:00
Jeff Walden c6c6107545 Bug 1539690 - Make a JS::RegExpFlag public API for flag bits, and make a JS::RegExpFlags flag-set abstraction. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D25177

--HG--
rename : js/public/RegExp.h => js/public/RegExpFlags.h
extra : moz-landing-system : lando
2019-04-02 02:07:50 +00:00
Paul Bone ac15f56db5 Bug 1539341 - Exit the loop after the first (and only) match r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D25326

--HG--
extra : moz-landing-system : lando
2019-03-29 11:51:19 +00:00
Ted Campbell 5618ea6265 Bug 1536159 - Crash diagnositic for js::TypeZone::addPendingRecompile. r=jwalden
Record the size of allocation in crashreporter to determine if these are
genuine small OOM or if something problematic has happened.

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

--HG--
extra : moz-landing-system : lando
2019-04-01 22:33:12 +00:00
Ted Campbell a1fa6d5d62 Bug 1530412 - Use LazyScriptData for LazyScript r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D23404

--HG--
extra : moz-landing-system : lando
2019-04-01 21:33:28 +00:00
Ted Campbell aa2f52cdd7 Bug 1530412 - Add js::LazyScriptData type r=jorendorff
This will later replace the |void* table_| field of js::LazyScript.

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

--HG--
extra : moz-landing-system : lando
2019-04-01 20:36:18 +00:00
Ted Campbell f318e1c232 Bug 1530412 - Use JSScript::ImmutableFlags in LazyScript r=jandem
Using the same flags as JSScript gives a consistent story of how to
handle flag preservation (in XDR and other cases). This also provides
consistent naming of flags which cover the same concept and will make it
simpler to inherit flags in de-lazification.

The LazyScript::packedFieldsForXDR concept exactly matches immutable
flags behaviour (which is on purpose). As a result of the split we don't
need to manually reset runtime flags in LazyScript::CreateRaw.

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

--HG--
extra : moz-landing-system : lando
2019-03-19 15:19:46 +00:00
Ted Campbell da7ce5d164 Bug 1530412 - Use mozilla::Span for LazyScript tables r=jorendorff
The Span abstraction lets us use range-based iteration and simplifies
changes if we move where the underlying data is stored.

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

--HG--
extra : moz-landing-system : lando
2019-04-01 15:08:56 +00:00
Ted Campbell 281b3d9300 Bug 1530412 - Move LazyScript::numClosedOverBindings/numInnerFunctions to normal fields r=jorendorff
These fields will later be moved into LazyScriptData.

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

--HG--
extra : moz-landing-system : lando
2019-04-01 21:30:43 +00:00
Ted Campbell c7e3e10efd Bug 1530412 - Add toStringEnd argument to LazyScript::CreateForXDR r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D23399

--HG--
extra : moz-landing-system : lando
2019-04-01 20:21:24 +00:00
Ted Campbell d5951924ed Bug 1530412 - Fix LazyScript constructor argument names r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D23941

--HG--
extra : moz-landing-system : lando
2019-04-01 14:32:10 +00:00
Cosmin Sabou 6f67a6f9e5 Merge mozilla-inbound to mozilla-central. a=merge 2019-04-02 00:55:55 +03:00
James Graham 6b19864a52 Bug 1539787 - Fix wptreport import, r=Ms2ger 2019-04-01 14:43:57 +01:00
Oana Pop Rus 07960ab2da Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-04-01 13:03:45 +03:00
Oana Pop Rus 201450283c Merge inbound to mozilla-central. a=merge 2019-04-01 12:48:18 +03:00
Philip Chimento 7262bcdffb Bug 1506324 - Use DefaultGlobalClassOps in existing code. r=tcampbell
Reviewers: tcampbell

Subscribers: jandem

Bug #: 1506324

Differential Revision: https://phabricator.services.mozilla.com/D11571
2019-03-31 15:30:45 -07:00
Sylvestre Ledru ef0bfc3822 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-03-31 15:12:55 +00:00
Sean Stangl 6661b6d612 Bug 1533295 - Ignore basic/testTypedArrayInit.js in ARM64 Simulator. r=nbp
The ARM64 Simulator can take upwards of 6 minutes to execute this test, causing intermittent timeouts.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 16:06:03 +00:00
Jon Coppeard 7b5f8dce00 Bug 1539570 - Improve documentation of our various barrier classes r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D25367
2019-03-29 11:08:16 +00:00
Jon Coppeard 82ed2af516 Bug 1540105 - Remove some unnecessary uses of PreBarriered<> and tidy Barrier.h r=sfink
This removes a couple of unnecessary uses of Prebarriered<> and improves comments in places where it is required. I removed a bunch of unused typesdefs from Barrier.h and tidied up.
2019-03-29 16:22:37 +00:00
Philip Chimento 4ecb2fb6f0 Bug 1539036 - Mark JSAPI headers as "system headers". r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D24846

--HG--
extra : moz-landing-system : lando
2019-03-31 22:26:43 +00:00
Oana Pop Rus a759d6f62b Merge inbound to mozilla-central. a=merge 2019-03-29 23:54:39 +02:00
Ashley Hauck 612a6562d8 Bug 1540243 - Run test262-update.py. r=jorendorff
Depends on D25480

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

--HG--
extra : moz-landing-system : lando
2019-04-01 17:46:16 +00:00
Ashley Hauck 8f3316b9dc Bug 1540243 - Move class-fields-public from UNSUPPORTED_FEATURES to FEATURE_CHECK_NEEDED. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25480

--HG--
extra : moz-landing-system : lando
2019-04-01 17:45:04 +00:00
shindli 25421d707e Backed out 2 changesets (bug 1540243) for mozlint failure in /builds/worker/checkouts/gecko/js/src/tests/test262-update.py CLOSED TREE
Backed out changeset 56f89628841e (bug 1540243)
Backed out changeset c3d4d8a91af7 (bug 1540243)
2019-04-01 19:34:57 +03:00
Ashley Hauck fd0942cd4d Bug 1540243 - Run test262-update.py. r=jorendorff
Depends on D25480

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

--HG--
extra : moz-landing-system : lando
2019-04-01 15:57:50 +00:00
Ashley Hauck c6c449fd5f Bug 1540243 - Move class-fields-public from UNSUPPORTED_FEATURES to FEATURE_CHECK_NEEDED. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25480

--HG--
extra : moz-landing-system : lando
2019-04-01 15:51:50 +00:00
Jonathan Kew 243b72de64 Bug 1533428 - patch 1 - Use fully-qualified name for mozilla::ipc::FileDescriptor in AutoMemMap.h, rather than depending on a 'using' declaration. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D22908

--HG--
extra : moz-landing-system : lando
2019-04-01 14:32:12 +00:00
Nathan Froyd 206cdc4471 Bug 1540273 - fix undefined behavior in nsXPCWrappedJSClass; r=mccr8
Left shifts exhibit undefined behavior if the sign bit changes, which
would happen in this code for indices that are 31 mod 32.  Fix this by
always making sure the shifted value is an unsigned integer.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 22:58:07 +00:00
Jan de Mooij 126dd4fe64 Bug 1534902 - Move more of XPConnect's PreWrap code into the JS engine. r=kmag
This ensures the JS shell and browser behave the same way and it's nice for fuzzing.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 09:06:31 +00:00
violet de4e05e120 Bug 1538622 - StructuredClone serialize and deserialize should treat back reference consistently r=jorendorff
1. If an object needs a custom function to |write|, it will be added to |memory|
   in |JSStructuredCloneWriter| before calling the custom function. But in
   JSStructuredCloneReader::startRead we did the opposite. This will cause
   out-of-order if the custom function also writes some objects (e.g.
   WriteStructuredCloneImageData). We fix this by keeping the same order in
   |startRead|.
2. |JS_WriteTypedArray| should not call |writeTypedArray| directly, because it
   will miss an entry in |memory| for the typed array itself. We fix this by calling
   |startWrite| instead.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 00:42:08 +00:00
Tom Schuster e79fae2c02 Bug 1536860 - Remove Array.slice from lib/asm.js. r=jorendorff
This was causing test failures in some uncommon try configurations like fuzzing.

Depends on D24208

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

--HG--
extra : moz-landing-system : lando
2019-03-28 18:35:27 +00:00
Tom Schuster 9d316167b9 Bug 1536860 - Telemetry for deprecated Array generics. r=jorendorff datareview=chutten
Differential Revision: https://phabricator.services.mozilla.com/D24208

--HG--
extra : moz-landing-system : lando
2019-03-28 17:15:37 +00:00
Tom Schuster 0be4c58b6c Bug 1536860 - Warn about deprecated Array generics. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D24207

--HG--
extra : moz-landing-system : lando
2019-03-28 17:15:07 +00:00
André Bargull 20cf72c49d Bug 1538542: Report an error in the transplant testing function when new wrappers can't be created. r=jandem
And also assert this case can't happen in the browser case.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 17:27:49 +00:00
André Bargull d87f68a742 Bug 1512491 - Part 2: Hoist access to MConstantElements. r=nbp
Depends on D24351

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

--HG--
extra : moz-landing-system : lando
2019-03-25 17:55:37 +00:00
André Bargull 841d19e8b9 Bug 1512491 - Part 1: Hoist bound checks with constants. r=nbp,jandem
Differential Revision: https://phabricator.services.mozilla.com/D24351

--HG--
extra : moz-landing-system : lando
2019-03-28 08:30:26 +00:00
André Bargull cbe9fd9d7a Bug 1538690: Emit char-code comparison when comparing strings character by character. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D24701

--HG--
extra : moz-landing-system : lando
2019-03-28 08:18:01 +00:00
Matthew Gaudet 0f28ae1172 Bug 1536439 - [Part 3] Convert shape pointer to a GCPtrShape and remove manual barriering r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D25075

--HG--
extra : moz-landing-system : lando
2019-03-28 15:03:20 +00:00
Matthew Gaudet 342cb7924c Bug 1536439 - [Part 2] Simplify ensureShape and maybeShape into nothingness r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D25074

--HG--
extra : moz-landing-system : lando
2019-03-28 15:03:09 +00:00
Matthew Gaudet d5a58c7249 Bug 1536439 - [Part 1] Removing Shaped Objects r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D25072

--HG--
extra : moz-landing-system : lando
2019-03-28 15:02:59 +00:00
Peter Van der Beken 85c5f963e6 Bug 1532025 - Remove support for WrappedNatives from PreserveWrapper, since we don't have DOM objects using WrappedNatives anymore. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D21832

--HG--
extra : moz-landing-system : lando
2019-03-28 14:19:53 +00:00
Narcis Beleuzu 29bb054a50 Backed out 3 changesets (bug 1536439) for SM bustages on ProxyObject.h
Backed out changeset 4016c86b98ec (bug 1536439)
Backed out changeset f62fe53a0c53 (bug 1536439)
Backed out changeset 6043e621c80c (bug 1536439)
2019-03-28 16:09:16 +02:00
Matthew Gaudet a4adc10f55 Bug 1536439 - [Part 3] Convert shape pointer to a GCPtrShape and remove manual barriering r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D25075

--HG--
extra : moz-landing-system : lando
2019-03-28 13:37:01 +00:00
Matthew Gaudet c462483106 Bug 1536439 - [Part 2] Simplify ensureShape and maybeShape into nothingness r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D25074

--HG--
extra : moz-landing-system : lando
2019-03-28 13:36:57 +00:00
Matthew Gaudet e57412e591 Bug 1536439 - [Part 1] Removing Shaped Objects r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D25072

--HG--
extra : moz-landing-system : lando
2019-03-28 13:36:45 +00:00
Hamzah 3c675f7b60 Bug 1507368 - Use constants defined in util/Unicode.h in CharacterEncoding.cpp r=arai
Replacing values defined as constants in Unicode.h in the CharacterEncoding.cpp file

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

--HG--
extra : moz-landing-system : lando
2019-03-28 10:32:37 +00:00
Jan de Mooij 62e4f9a5cb Bug 1382650 part 7 - Use a separate Ion optimization level for very hot code. r=nbp
Ion can do aggressive inlining, but inlining a lot of code has a negative
effect on compilation time and memory usage. It also means we spend more time
in the slower Baseline code while compiling the Ion code off-thread or after an
invalidation.

To address this, Ion now consists of two tiers:

* Normal: the first tier (warm-up threshold of 1,000) only inlines small
          functions one level deep. This tier also has recompile checks to
          recompile the script when it becomes very hot.

* Full: the second tier (warm-up threshold of 100,000) is only used for very
        hot code so we can afford inlining a lot more code.

This improves Speedometer and GDocs by more than 5%.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 07:35:40 +00:00
Oana Pop Rus 47e94b5d6e Merge inbound to mozilla-central. a=merge 2019-03-28 12:11:35 +02:00
Andrew McCreight 44f182bf3b Bug 1539261, part 2 - Mark various JSStructuredCloneData methods MOZ_MUST_USE. r=sfink
Also, fix up various places that call these methods.

Depends on D24991

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

--HG--
extra : moz-landing-system : lando
2019-03-27 20:41:17 +00:00
arthur.iakab 7ae8fb76e1 Backed out 2 changesets (bug 1539261) for multiple build bustages on /fuzz-tests/testStructuredCloneReader.cpp CLOSED TREE
Backed out changeset 526daf87fff9 (bug 1539261)
Backed out changeset 5b070b6ae224 (bug 1539261)
2019-03-27 21:59:29 +02:00
Andrew McCreight c5ae898857 Bug 1539261, part 2 - Mark various JSStructuredCloneData methods MOZ_MUST_USE. r=sfink
Also, fix up various places that call these methods.

Depends on D24991

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

--HG--
extra : moz-landing-system : lando
2019-03-27 19:34:46 +00:00
Jan de Mooij 57ba0d7472 Bug 1382650 part 6 - Fix ARM64 implementation of branch32(AbsoluteAddress, Imm32). r=nbp
The old code would assert because we needed too many scratch registers, but it
was dead code until this patch.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 18:58:27 +00:00
Jan de Mooij ce4b1432b8 Bug 1382650 part 5 - Calculate OSR warm-up threshold difference based on the warm-up threshold instead of hard-coding 100. r=nbp
We want this to be more than 100 for the full-optimizations tier. Making this
relative also works better for tests that set a small Ion warm-up threshold.

Also disables OSR in some tests depending on the old behavior.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 18:58:13 +00:00
Jan de Mooij 3ad6efea42 Bug 1382650 part 4 - Split Ion warmup threshold JitOption in 'normal' and 'full' options. r=nbp
Also adds a javascript.options.ion.full.threshold browser pref and similar shell
flags.

This doesn't rename the existing prefs yet.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 18:57:58 +00:00
Jason Orendorff 785ed53165 Bug 1537609 - Cap the stack size at 2MB on Windows. r=jandem
In bug 256180, the size of the stack on 64-bit Windows was changed from 2MB to
8MB, and on 32-bit Windows, from 1MB to 1.5MB. This is so large that it takes
significantly longer for a runaway recursive function to throw "too much
recursion", which causes terrible performance in scripts obfuscated using
obfuscator.io.

This patch leaves the actual stack size as-is, but changes the
JS-engine-specific stack quota back to 2MB on 64-bit Windows (6MB if ASAN is
enabled). 32-bit Windows is unaffected by the new cap.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 15:12:00 +00:00
Emilio Cobos Álvarez cfa6b9a741 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.49.0

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

--HG--
extra : moz-landing-system : lando
2019-03-27 14:39:41 +00:00
Jan de Mooij d9bd846d1b Bug 1382650 part 3 - Clean up Ion eager compilation code. r=nbp
There's a lot of complexity around setting/unsetting the eagerCompilation flag.
It's simpler to determine this based on the warm-up threshold being 0.

The patch also fixes some jit-tests where this patch would result in a change in
behavior.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 12:18:59 +00:00
Jan de Mooij e3d555c94c Bug 1382650 part 2 - Store Ion warmup threshold only in JitOptions. r=nbp
Storing this also in IonOptimizationLevels.h/cpp is more complicated than
necessary.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 12:30:10 +00:00
Jan de Mooij 0aefddb6f9 Bug 1382650 part 1 - Remove separate Ion warmup threshold for small functions, as it's equivalent to the normal one. r=nbp
We used to have a different threshold for small functions but now they're both
set to 1000 so there's no need to special-case small functions.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 12:18:22 +00:00
Cosmin Sabou 224fe6cff2 Merge mozilla-central to autoland. 2019-03-27 06:51:51 +02:00
Cosmin Sabou 3d469329a4 Merge mozilla-inbound to mozilla-central. a=merge 2019-03-27 06:45:13 +02:00
Jeff Walden 9c165b28d3 Bug 1537536 - Forcibly generate Rust bindings for the JS::RootedValue typedef now that it happens the Rust bindings never themselves use the typedef. r=bustage
--HG--
extra : rebase_source : 171442f8da86a99ea0d6ad5b058825db2609705f
2019-03-26 16:32:42 -07:00
André Bargull 3b306926a8 Bug 1526394: Treat self-hosted functions the same as non-interpreted functions in Debugger code. r=jorendorff 2019-03-26 12:27:54 -07:00
Paul Bone b0496498f4 Bug 1539031 - (part 2) Add a incremental non-zonal mode r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D24850

--HG--
extra : moz-landing-system : lando
2019-03-26 23:18:05 +00:00
Paul Bone ce0c450e03 Bug 1539031 - (part 1) Rename JSGC_MODE_INCREMENTAL r=jonco
Since this mode covers both incremental and zonal GC, let's rename it to
reflect that.  JSGC_MODE_ZONE_INCREMENTAL.

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

--HG--
extra : moz-landing-system : lando
2019-03-26 16:57:40 +00:00