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

7977 Коммитов

Автор SHA1 Сообщение Дата
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
Razvan Maries d1855adf59 Backed out 4 changesets (bug 1635561) for perma failures on test_intlUtils_getLocaleInfo.html. CLOSED TREE
Backed out changeset d4ef63a42094 (bug 1635561)
Backed out changeset 21d942cfc35d (bug 1635561)
Backed out changeset 562e4afa8a10 (bug 1635561)
Backed out changeset 05b8c9d0b50d (bug 1635561)
2020-12-03 23:07:09 +02:00
Dan Minor d30c3cd567 Bug 1635561 - Use RegionalPrefLocales rather than AppLocale in xpc_LocalizeRuntime; r=zbraniecki
Differential Revision: https://phabricator.services.mozilla.com/D98390
2020-12-03 18:53:27 +00:00
Razvan Maries 8cbedc3a4d Backed out 15 changesets (bug 1519100) as per Yulia's request. CLOSED TREE
Backed out changeset 16dc37dadf05 (bug 1519100)
Backed out changeset 019b00c63941 (bug 1519100)
Backed out changeset 1155eecec034 (bug 1519100)
Backed out changeset 53a792431e11 (bug 1519100)
Backed out changeset 55918f941155 (bug 1519100)
Backed out changeset 683743bd0395 (bug 1519100)
Backed out changeset 63d506024693 (bug 1519100)
Backed out changeset 8b5244786634 (bug 1519100)
Backed out changeset 3a0a021acc08 (bug 1519100)
Backed out changeset d5bff6c95feb (bug 1519100)
Backed out changeset bab7e81a6c2c (bug 1519100)
Backed out changeset b521ccd694f8 (bug 1519100)
Backed out changeset 9f559a616909 (bug 1519100)
Backed out changeset 98146209da6f (bug 1519100)
Backed out changeset a3ea6c49dbf7 (bug 1519100)
2020-12-03 20:37:45 +02:00
yulia 517283f821 Bug 1519100 - Add flag for experimental Top Level Await feature; r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D97180
2020-12-03 15:24:22 +00:00
Jan de Mooij a24d6b0558 Bug 1673553 part 67 - Remove JS_NewObjectWithUniqueType. r=iain
We no longer need this API to create singleton objects. It was used to prevent
polluting type information.

Differential Revision: https://phabricator.services.mozilla.com/D98499
2020-12-03 07:54:00 +00:00
Bogdan Tara c1b7803fbd Backed out 15 changesets (bug 1519100) for wpt leaks CLOSED TREE
Backed out changeset 7302ebdbaa35 (bug 1519100)
Backed out changeset 5b89081f0f08 (bug 1519100)
Backed out changeset ee02050e3c97 (bug 1519100)
Backed out changeset 47cf4bde107e (bug 1519100)
Backed out changeset bfd96f55a3bd (bug 1519100)
Backed out changeset c9afefd66eb7 (bug 1519100)
Backed out changeset 90b61247d071 (bug 1519100)
Backed out changeset e0250e4cba61 (bug 1519100)
Backed out changeset 5f90543431cb (bug 1519100)
Backed out changeset d7f3440addc7 (bug 1519100)
Backed out changeset 10194540aff0 (bug 1519100)
Backed out changeset 880873b815a4 (bug 1519100)
Backed out changeset d99f0109da7a (bug 1519100)
Backed out changeset c723f6b16b67 (bug 1519100)
Backed out changeset da24af409d92 (bug 1519100)
2020-12-02 21:14:35 +02:00
yulia 521140ab44 Bug 1519100 - Add flag for experimental Top Level Await feature; r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D97180
2020-12-02 12:38:17 +00:00
Nick Alexander 97a692a97b Bug 1679583 - Make "JS XPCOM" and "SubScript" marker stacks include helpful labels. r=mstange
We need to have the label in place before placing the marker and
capturing the accompanying stack to be able to identify the loaded JS.

Differential Revision: https://phabricator.services.mozilla.com/D98094
2020-12-01 17:20:02 +00:00
Simon Giesecke feb7572bff Bug 1678374 - Avoid including jsapi.h from header files. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D97620

Depends on D97618
2020-11-23 16:12:34 +00:00
Simon Giesecke ee949b8e10 Bug 1678374 - Reduce dependencies on js, in particular on jsfriendapi.h. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D97617

Depends on D97616
2020-11-23 16:12:19 +00:00
Simon Giesecke 39a3d6263c Bug 1677541 - Remove unnecessary includes from xpcpublic.h. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D94867

Depends on D94763
2020-11-23 16:07:06 +00:00
Simon Giesecke 5b3084384e Bug 1660470 - Move void_t/null_t to a new IPCCore.h header. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D93546

Depends on D93544
2020-11-23 16:05:20 +00:00
Simon Giesecke c077183836 Bug 1660470 - Avoid including IPCMessageUtils.h from header files. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D93235

Depends on D93234
2020-11-23 16:03:47 +00:00
Simon Giesecke 971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Gerald Squelart cc0abcfaee Bug 1675409 - Migrated TextMarkerPayload to Markers 2.0 API - r=gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D96052
2020-11-18 21:54:13 +00:00
Razvan Maries b7eeb731df Backed out 23 changesets (bug 1675409) for build bustages on Preferences.cpp. CLOSED TREE
Backed out changeset c1a131a55767 (bug 1675409)
Backed out changeset 47d210802a5d (bug 1675409)
Backed out changeset e8ebb1c58d30 (bug 1675409)
Backed out changeset 69a1e9aeff2a (bug 1675409)
Backed out changeset 68f330b387a8 (bug 1675409)
Backed out changeset e4750d9ef5a1 (bug 1675409)
Backed out changeset bb6bb71e5ab3 (bug 1675409)
Backed out changeset 988d7f4716df (bug 1675409)
Backed out changeset ca41382e891c (bug 1675409)
Backed out changeset 90f3fbbbbeda (bug 1675409)
Backed out changeset 9b109d61a6f6 (bug 1675409)
Backed out changeset 3dd66abfdaa2 (bug 1675409)
Backed out changeset 44181df5f0db (bug 1675409)
Backed out changeset bb2603d947fc (bug 1675409)
Backed out changeset 97055cf20a56 (bug 1675409)
Backed out changeset f88fcf09de0d (bug 1675409)
Backed out changeset 7963e1c49786 (bug 1675409)
Backed out changeset 4c379c1061c3 (bug 1675409)
Backed out changeset b8be8ae7da63 (bug 1675409)
Backed out changeset 0b90aa89421e (bug 1675409)
Backed out changeset c10fb46467c9 (bug 1675409)
Backed out changeset 894ac233b290 (bug 1675409)
Backed out changeset 075d1d8e34c2 (bug 1675409)
2020-11-18 20:06:28 +02:00
Jan de Mooij 0b27ac66e5 Bug 1673553 part 12 - Remove TypeNewScript, PreliminaryObjectArray. r=iain
ObjectGroup::finalize is now an empty function so define it in the header.

The objectGroupsMallocHeap memory reporter can also be removed.

Differential Revision: https://phabricator.services.mozilla.com/D97292
2020-11-18 15:46:52 +00:00
Sylvestre Ledru bebb9f9181 Bug 1519636 - Reformat with clang-format-11 to the Google coding style r=andi,sg,geckoview-reviewers,snorp
It is bringing some minor changes

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D90795
2020-11-18 09:05:59 +00:00
Gerald Squelart 786dd07114 Bug 1675409 - Migrated TextMarkerPayload to Markers 2.0 API - r=gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D96052
2020-11-17 22:23:38 +00:00
Mihai Alexandru Michis c0d25b01b2 Backed out 24 changesets (bug 1666566, bug 1675409) for causing hazard failures in profiler/core/platform.cpp
CLOSED TREE

Backed out changeset 4d8af8533fd4 (bug 1666566)
Backed out changeset f031a3a8a20f (bug 1675409)
Backed out changeset 2b7e1a031921 (bug 1675409)
Backed out changeset bda5a24b2d0a (bug 1675409)
Backed out changeset 4282e2284314 (bug 1675409)
Backed out changeset 0637f1b26e9f (bug 1675409)
Backed out changeset 67ae04c8f607 (bug 1675409)
Backed out changeset 6c7b3f3618ef (bug 1675409)
Backed out changeset 2f325c22d169 (bug 1675409)
Backed out changeset 1e48ff70ad8f (bug 1675409)
Backed out changeset 1dfc32d6871d (bug 1675409)
Backed out changeset 4f1f218a777b (bug 1675409)
Backed out changeset e6ac8722b38e (bug 1675409)
Backed out changeset cf132e15fb57 (bug 1675409)
Backed out changeset a126e6b00ba9 (bug 1675409)
Backed out changeset fbc7fbb04f33 (bug 1675409)
Backed out changeset 554c69681474 (bug 1675409)
Backed out changeset 44d0521c701f (bug 1675409)
Backed out changeset 04653dfe4720 (bug 1675409)
Backed out changeset 41ca2c043a00 (bug 1675409)
Backed out changeset 264ae4c805d4 (bug 1675409)
Backed out changeset 5f3bbdac0d52 (bug 1675409)
Backed out changeset 11311c11a6e8 (bug 1675409)
Backed out changeset 0355fbc44baf (bug 1675409)
2020-11-17 19:31:28 +02:00
Gerald Squelart 7e40dbb3c5 Bug 1675409 - Migrated TextMarkerPayload to Markers 2.0 API - r=gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D96052
2020-11-17 11:38:06 +00:00
Jan de Mooij a7b38d6598 Bug 1673553 part 3 - Remove Warp browser pref. r=iain,preferences-reviewers
Depends on D96988

Differential Revision: https://phabricator.services.mozilla.com/D96989
2020-11-16 14:00:04 +00:00
Lars T Hansen adf086b335 Bug 1674722 - Fix prefs, switches, and selection for cranelift. r=rhunt
This patch makes cranelift and ion exclusive of each other: enabling
cranelift on a platform will effectively disable Ion on that platform.

Specifically there's a change at the pref/switch level that does not
go terribly deep:

- the new about:config option is javascript.options.wasm_optimizingjit,
  the old wasm_cranelift and wasm_ionjit are no more
- new values of X in --wasm-compiler=X in the js shell are 'optimizing'
  and 'baseline+optimizing', the old values 'cranelift', 'ion',
  'baseline+ion' and 'baseline+optimizing' are still accepted but only
  when ion or cranelift is available
- we keep the separate prefs internally in the code for ion and cranelift
  but if ENABLE_WASM_CRANELIFT is defined then we never set the ion
  pref to true, and if it is not defined then we never set the cranelift
  pref to true

The trickiest changes are in testWasm.cpp and in the JIT compiler option
processing in jsapi.cpp.

People who will suffer as a result of this are those who are working
on ports of cranelift to new platforms in Firefox.  As of now we have
no such work going on.

In the longer term the exclusive-or situation can be alleviated by a
switch that lets cranelift override ion when cranelift is present and
the switch is on.  Patches welcome.

Differential Revision: https://phabricator.services.mozilla.com/D96059
2020-11-11 09:20:13 +00:00
Alexis Beingessner 2507488d07 Bug 1506812 - Wrap all accesses to URLPreloader's mReaderThread in a mutex. r=decoder,nika
The shutdown code of BackgroundReadFiles races with BeginBackgroundRead.
This is paritally obfuscated by the usage of the initialEvent convenience
of NS_NewNamedThread, so this change also removes that in favour of explicit
dispatch. (xpcom devs want to remove the convenience anyway)

Differential Revision: https://phabricator.services.mozilla.com/D94877
2020-11-02 23:26:05 +00:00
Dragana Damjanovic 5dc542764f Bug 1673611 - Improve Http3Stream state machine and add a test for a protocol error r=necko-reviewers,valentin
- We have an assumption that SetResponseHeaders will be called before WriteSegments is called for the first time. I would like to make it more structural add add a new state BEFORE_HEADERS
 - mDataReceived was never set, which is wrong.
 - Almost any error that occurs during ReadResponseData is a connection error and neqo will handle it internally by closing the session. This will be read by necko as ConnectionState change event. Therefore ignore errors received from mHttp3Connection->ReadResponseData and let the ConnectionChange event close the stream.
 - This also adds a test. Because the stream has received some data already the transaction will br closed with the NS_ERROR_NET_PARTIAL_TRANSFER error.

Differential Revision: https://phabricator.services.mozilla.com/D94951
2020-11-01 13:54:02 +00:00