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

8002 Коммитов

Автор SHA1 Сообщение Дата
smolnar 1afbbe67e1 Backed out 5 changesets (bug 1691894) for causing hazard failures in nsXULPrototypeCache. CLOSED TREE
Backed out changeset 22dc870ee609 (bug 1691894)
Backed out changeset 58c31e9d6ae3 (bug 1691894)
Backed out changeset 7483e84149d8 (bug 1691894)
Backed out changeset f977d6cfa973 (bug 1691894)
Backed out changeset db4503476f34 (bug 1691894)
2021-02-15 16:43:23 +02:00
Simon Giesecke 3c29a68440 Bug 1691894 - Make Put accept DataType instead of wrapping UserDataType. r=xpcom-reviewers,necko-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D104850
2021-02-15 10:04:46 +00:00
Lars T Hansen cda3e5d212 Bug 1686652 - Generalize the SIMD wormhole. r=yury
Generalize the SIMD wormhole to both x86 and x64, and both baseline
and Ion, so that we can start experimenting with it on a broader
scale.

Change the config so that the feature will ride the trains,
preffed-off by default (the current setting).  The pref disappears
from view in late betas, though the feature remains; it can be
requested by another means (later patch) from privileged content only.

Differential Revision: https://phabricator.services.mozilla.com/D101709
2021-02-12 08:44:08 +00:00
Chris Peterson 2b2bd12de6 Bug 1684092 - Part 1: Replace MOZ_MUST_USE with [[nodiscard]] in js/src/. r=jandem
The MOZ_MUST_USE macro is defined as clang's and gcc's nonstandard __attribute__((warn_unused_result)). Now that we compile as C++17 by default (bug 1560664), we can replace MOZ_MUST_USE with C++17's standard [[nodiscard]] attribute.

Differential Revision: https://phabricator.services.mozilla.com/D100412
2021-02-12 04:09:22 +00:00
Jan de Mooij 0006dbabb4 Bug 1674777 part 12 - Add test for XPConnect array conversions involving large typed arrays. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D104052
2021-02-10 11:23:00 +00:00
Jan de Mooij df5c2e2c5e Bug 1674777 part 10 - Fix XPConnect callers for JS_GetTypedArrayLength returning size_t. r=kmag
For enumerateNames on Xrays, throw an OOM exception upfront. This matches what we do
inside the JS engine when enumerating large typed arrays.

Differential Revision: https://phabricator.services.mozilla.com/D103902
2021-02-10 11:22:59 +00:00
Andrew McCreight 64add637bd Bug 1624705 - Let Xray waiver nuking for local window proxies ride the trains. r=kmag
This has been on Nightly for almost a year and I don't think we've
seen any breakage, so I think it is time to let it ride the trains.

Differential Revision: https://phabricator.services.mozilla.com/D104555
2021-02-09 20:09:05 +00:00
Jan Varga 89ca2a95fb Bug 1690515 - Add missing do_get_profile calls to appropriate tests; r=dom-workers-and-storage-reviewers,necko-reviewers,sg,valentin
Differential Revision: https://phabricator.services.mozilla.com/D103886
2021-02-09 05:30:57 +00:00
Kris Maglione ee5e228113 Bug 1662846: Add memory reporter for loaded JS modules and components. r=mccr8
This makes it much easier to determine which modules and components are loaded
in which processes now that they no longer each have their own compartments.

Differential Revision: https://phabricator.services.mozilla.com/D99717
2021-02-08 23:36:14 +00:00
Kershaw Chang 22a60154b9 Bug 1685942 - Only fallback to original conn info when network error happens r=necko-reviewers,valentin,dragana
Differential Revision: https://phabricator.services.mozilla.com/D102703
2021-02-08 11:46:51 +00:00
Ryan Hunt 481e12d80f Bug 1689273 - Remove expiring JS and wasm probes. r=lth
This commit removes the expiring probes:
 * wasm.compile_time_baseline_us
 * wasm.compile_time_cranelift_us
 * wasm.compile_time_ion_us
 * js.run_time_us

Execution runtime is still measured in the JS interpreter for still
active probes.

Differential Revision: https://phabricator.services.mozilla.com/D104143
2021-02-05 15:04:14 +00:00
Oleg Skoromnik cd2514ec74 Bug 1428742 - use Value::toGCCellPtr and delegating ctr of GCCellPtr. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D103589
2021-02-03 20:13:10 +00:00
Matthew Gaudet d5c7f81a2c Bug 1690115 - Remove off_thread_parse_global preference r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D103718
2021-02-02 03:24:31 +00:00
Jan de Mooij 6b0004f4f5 Bug 1688616 part 1 - Add a browser pref for large ArrayBuffers. r=lth
The pref is only checked on startup and sets a process-wide flag, so that we
don't have to worry about the value changing from under us.

Differential Revision: https://phabricator.services.mozilla.com/D102911
2021-01-30 16:14:30 +00:00
Butkovits Atila 80ba5dd933 Backed out 2 changesets (bug 1688616) for casing failures on test_large_arraybuffers.html. CLOSED TREE
Backed out changeset 560718ce8d2c (bug 1688616)
Backed out changeset 7985fd012bc7 (bug 1688616)
2021-01-30 18:10:09 +02:00
Jan de Mooij 950369e123 Bug 1688616 part 1 - Add a browser pref for large ArrayBuffers. r=lth
The pref is only checked on startup and sets a process-wide flag, so that we
don't have to worry about the value changing from under us.

Differential Revision: https://phabricator.services.mozilla.com/D102911
2021-01-27 11:53:23 +00:00
Ted Campbell f5fafb46ce Bug 1689734 - Further restrict ScriptPreloader use of CompileOptions. r=kmag,arai
The JS CompileOptions used to load cache entries must be consistent with
eachother to avoid subtle and serious bugs. This adds additional checks and
makes more consistent use of `FillCompileOptionsForCachedScript`.

This patch is a refactoring and should not change any behaviour.

Depends on D103515

Differential Revision: https://phabricator.services.mozilla.com/D103516
2021-01-29 22:54:59 +00:00
Nick Alexander 6629e8cc0c Bug 1688861 - Fix test_categoryBackgroundTaskRegistration when !MOZ_BACKGROUNDTASK. r=nika
This was an oversight: as the commit series progressed, I didn't
re-test with !MOZ_BACKGROUNDTASK defined.

Differential Revision: https://phabricator.services.mozilla.com/D103081
2021-01-26 21:37:52 +00:00
Nick Alexander 4803fb7c62 Bug 1675848 - Post: In tests, camelCase for mutable variables and reasons for assertions. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D100821
2021-01-25 23:48:17 +00:00
Nick Alexander dc4f42262e Bug 1675848 - Part 1: Add "backgroundtask" filter to chrome manifest parsing. r=mossop,kmag
This allows to filter chrome manifest registration by the current
background task(s, in the future).  Filtration behaves just like
filtering by "application":

* filter with `backgroundtask=` means disable for all background
  tasks, since no background task will match ""

* filter with `backgroundtask!=` means enable for all background task,
  since every background task will not match ""

Differential Revision: https://phabricator.services.mozilla.com/D96482
2021-01-25 23:44:46 +00:00
Tooru Fujisawa 51226a3690 Bug 1688190 - Part 6: Make JS::RealmBehaviorsRef return const reference. r=tcampbell
Depends on D102761

Differential Revision: https://phabricator.services.mozilla.com/D102762
2021-01-22 21:52:30 +00:00
Nika Layzell 588666a81d Bug 1686825 - Don't perform PropertyKey::fromPinnedString if the string creation failed, r=pbone
Differential Revision: https://phabricator.services.mozilla.com/D102483
2021-01-21 23:36:36 +00:00
Gijs Kruitbosch 208fdcb45f Bug 1686816 - use AppendFloat to fix floating point separator issues with the slow script warning probe in localized environments, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D101852
2021-01-15 03:11:34 +00:00
Shane Caraveo 6a2b434485 Bug 1594234 remove extensions.content_script_csp preferences in favor of extensions.manifestV3.enabled r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D101212
2021-01-19 19:43:09 +00:00
Shane Caraveo 4a14410028 Bug 1594234 manifest v3 content security policy support r=robwu,geckoview-reviewers,agi
Implement manifest v3 CSP that is compatible with the current chrome implementation.

Support for content_security_policy.isolated_world (a.k.a. content_security_policy.content_scripts)
has been removed for consistency with
345390adf6%5E%21/

Differential Revision: https://phabricator.services.mozilla.com/D100573
2021-01-07 14:53:18 +00:00
Luke Wagner 96147a3ab6 Bug 1647791 - WebAssembly: add telemetry for duplicate imports r=lth
Differential Revision: https://phabricator.services.mozilla.com/D100555
2021-01-07 23:50:38 +00:00
Steve Fink 67527b7f14 Bug 1685420 - ~nsCOMPtr and related hazard fixes. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D100966
2021-01-12 22:25:07 +00:00
Jan de Mooij 3e48042164 Bug 1682767 part 48 - Remove Ion optimization levels. r=iain
Warp doesn't use this and there's a lot of complexity to support recompiling
an IonScript while continuing to use the current one.

It might make sense to add a similar hot tier to Warp at some point, but because
Warp uses trial inlining the implementation would likely be pretty different:
we could invalidate, flag the JitScript as supporting different inlining thresholds,
and go back to Baseline to gather information.

Differential Revision: https://phabricator.services.mozilla.com/D101457
2021-01-13 12:05:30 +00:00
Christoph Kerschbaumer a560a97624 Bug 1686003: Use different origin in test test_sandbox_fetch.html to comply with Principal based vetting in ContentParent. r=mt
Differential Revision: https://phabricator.services.mozilla.com/D101336
2021-01-12 11:05:28 +00:00
yulia 0ff486bf16 Bug 1681664 - Allow Top-level await modules which fail to evaluate due to user action to fail without crashing. r=jonco,mconley
Differential Revision: https://phabricator.services.mozilla.com/D99809
2021-01-11 17:08:59 +00:00
Brindusan Cristian 26d3d1cbc4 Backed out changeset 748d8c28435d (bug 1662846) for mochitest failures at test_memoryReporters.xhtml. CLOSED TREE 2021-01-09 01:03:12 +02:00
Kris Maglione 874e9acf8e Bug 1662846: Add memory reporter for loaded JS modules and components. r=mccr8
This makes it much easier to determine which modules and components are loaded
in which processes now that they no longer each have their own compartments.

Differential Revision: https://phabricator.services.mozilla.com/D99717
2020-12-14 23:05:03 +00:00
Gerald Squelart 0048130855 Bug 1684389 - Move profiler_init/shutdown from shared XRE_XPCShellMain to xpcshell.cpp's main - r=canaltinova
XRE_XPCShellMain is called from either nsBrowserApp.cpp's main (Firefox app) and xpcshell.cpp's main (XPCShell stand-alone app).
Since bug 1673623, XRE_XPCShellMain calls profiler_init and profiler_shutdown, as needed by some other code.
Unfortunately nsBrowserApp.cpp's main already calls profiler_init, the new calls are nested, which is not allowed and triggers an assertion when running `firefox -xpcshell`.

So the calls to profiler_init/shutdown are now moved out of XRE_XPCShellMain, and up into xpcshell.cpp's main; this way the Base Profiler will be properly initialized&shutdown once in both the Firefox and XPCShell apps.

Differential Revision: https://phabricator.services.mozilla.com/D100754
2021-01-06 13:17:08 +00:00
Razvan Maries 47f941747c Backed out changeset 540c9159c3c6 (bug 1681664) for perma failures on test_bug1681664.html. 2020-12-18 22:00:52 +02:00
yulia a1a1c495ea Bug 1681664 - Allow Top-level await modules which fail to evaluate due to user action to fail without crashing. r=jonco,mconley
Differential Revision: https://phabricator.services.mozilla.com/D99809
2020-12-18 12:37:36 +00:00
Steve Fink a1215827bb Bug 1673756 - Add GCCC subcategories for several phases of CC r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D99737
2020-12-15 16:48:23 +00:00
Lars T Hansen 810305d3e2 Bug 1672160 - SIMD wormhole. r=rhunt
Introduce a mechanism for experimenting with unary and binary SIMD
instructions (x64 + ion only, nightly only, and behind flags).
Basically this is useful for performance experiments.

A specific pattern of the first 15 bytes of the mask of the shuffle
opcode is recognized as a trigger; the last byte has the opcode 0..31.
For unary operations the two input values should be the same; the lhs
will always be chosen.  The pattern is recognized during lowering and
translated to specific machine instructions.

This mechanism is preferable to custom opcodes because it allows
existing tools (emscripten/llvm/binaryen/linkers) to be used without
change.

To trigger this, use --wasm-compiler=ion --wasm-simd-wormhole in the
shell or set javascript.options.wasm_baselinejit=false and
javascript.options.wasm_simd_wormhole=true in about:config.

This patch is mostly infrastructure but also introduces three
experimental opcodes: one to test for the presence and operation of
the wormhole, one to invoke the Intel PMADDUBSW instruction, and one
to invoke the Intel PMADDWD instruction.

Differential Revision: https://phabricator.services.mozilla.com/D94101
2020-12-15 09:49:35 +00:00
Butkovits Atila 5f456b2985 Backed out changeset ab835b3d50f9 (bug 1672160) for causing bustage on codegen-x64-test.js. CLOSED TREE 2020-12-15 10:43:44 +02:00
Lars T Hansen e67a161e57 Bug 1672160 - SIMD wormhole. r=rhunt
Introduce a mechanism for experimenting with unary and binary SIMD
instructions (x64 + ion only, nightly only, and behind flags).
Basically this is useful for performance experiments.

A specific pattern of the first 15 bytes of the mask of the shuffle
opcode is recognized as a trigger; the last byte has the opcode 0..31.
For unary operations the two input values should be the same; the lhs
will always be chosen.  The pattern is recognized during lowering and
translated to specific machine instructions.

This mechanism is preferable to custom opcodes because it allows
existing tools (emscripten/llvm/binaryen/linkers) to be used without
change.

To trigger this, use --wasm-compiler=ion --wasm-simd-wormhole in the
shell or set javascript.options.wasm_baselinejit=false and
javascript.options.wasm_simd_wormhole=true in about:config.

This patch is mostly infrastructure but also introduces three
experimental opcodes: one to test for the presence and operation of
the wormhole, one to invoke the Intel PMADDUBSW instruction, and one
to invoke the Intel PMADDWD instruction.

Differential Revision: https://phabricator.services.mozilla.com/D94101
2020-12-15 07:39:15 +00:00
Chris H-C a0efcbcf74 Bug 1673660 - C++ and JS API for Glean Custom Pings r=janerik,webidl,smaug
Covers adding the new JS global `GleanPings` for JS, the new structs for C++ at
mozilla::glean_pings, ping-id and string-table-index codegen, the usual
boilerplate for JS and C++ stuff, and tests.

Unresolved:
* What happens if we call this on a non-parent process?
  (This isn't a supported mode of operation)

Differential Revision: https://phabricator.services.mozilla.com/D98671
2020-12-14 16:50:07 +00:00
Chris H-C 8a65ae0861 Bug 1673660 - Move FOG C++ and JS API scaffolding headers to subdir r=janerik
Headers we want our consumers to use remain in mozilla/glean,
but scaffolding now lives in mozilla/glean/bindings.

This will allow me to have a binding for the GleanPings global in GleanPings.h
AS WELL AS a GleanPings.h which is the C++ consumer API for custom pings.

Differential Revision: https://phabricator.services.mozilla.com/D98670
2020-12-14 16:49:43 +00:00
Ted Campbell c90491dbe9 Bug 1601632 - Cleanup ScriptPreloader Runnable behaviour. r=kmag,Gankro,decoder
Add `mWaitingForDecode` to indicate that main-thread is blocked on the
Monitor and should be woken. This avoids generating some of the unused
Runnables. Also ensure `mFinishDecodeRunnablePending` is only accessed while
holding the lock.

Depends on D99403

Differential Revision: https://phabricator.services.mozilla.com/D99404
2020-12-14 15:23:56 +00:00
Ted Campbell d8e3670c2f Bug 1601632 - Make ScriptPreloader::mToken updates Atomic. r=kmag,Gankro,decoder
The `mToken` is used across threads without full locking so it must be marked
as atomic. At the same time, we can use `exchange` operations to read or
write outside of the mMonitor lock.

Depends on D99402

Differential Revision: https://phabricator.services.mozilla.com/D99403
2020-12-14 15:23:48 +00:00
Ted Campbell 70f361ffe6 Bug 1608462 - Simplify locking for ScriptPreloader::MaybeFinishOffThreadDecode. r=kmag,Gankro,decoder
Be consistent about always calling `MaybeFinishOffThreadDecode` without
holding the lock to simplify code. This lets us remove a TSAN deadlock
exception.

Differential Revision: https://phabricator.services.mozilla.com/D99402
2020-12-14 15:23:34 +00:00
Andrew McCreight 215e494a20 Bug 1640445 - Avoid a race between the GC and WriteCache() with an extra field. r=kmag,decoder
See the comment on ScriptHolder for an explanation.

Differential Revision: https://phabricator.services.mozilla.com/D78711
2020-12-11 23:25:27 +00:00
Simon Giesecke e06a2d56fc Bug 1680269 - Fix build when building without MOZ_GECKO_PROFILER. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D99063
2020-12-09 08:58:06 +00:00
Dan Minor 0b1722fcb7 Bug 1635561 - Use RegionalPrefLocales rather than AppLocale in xpc_LocalizeRuntime; r=zbraniecki
Differential Revision: https://phabricator.services.mozilla.com/D98390
2020-12-07 19:27:36 +00:00
Tom Schuster 738aaeb6e6 Bug 1658308 - Implement the .at() proposal. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D98743
2020-12-04 14:46:00 +00:00
Jan de Mooij fa7884fad8 Bug 1673553 part 79 - Remove now dead TI memory reporters. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D98583
2020-12-04 10:08:53 +00:00
yulia 21b5f80d1d Bug 1519100 - Add flag for experimental Top Level Await feature; r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D97180
2020-12-04 08:52:29 +00:00