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

80786 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey 49a9eeaf91 Bug 1687594 - Don't take path@task-id arguments on `mach artifact toolchain`. r=firefox-build-system-reviewers,mhentges
This form hasn't been used since bug 1573435.

Differential Revision: https://phabricator.services.mozilla.com/D102375
2021-01-20 15:04:49 +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
Caroline Cullen af337c0db6 Bug 1686586 - Enabled spewing before entering JITs. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D101688
2021-01-19 22:44:31 +00:00
Caroline Cullen b0818d28f8 Bug 1686586 - Turn StructuredSpewer::spewingEnabled_ flag into a count. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D102074
2021-01-19 22:44:28 +00:00
Lars T Hansen e418554fd8 Bug 1687654 - Update an error message in the multi-table test. r=rhunt
The parsing of table indices has changed a little and an error
message needs to be updated.

Depends on D102399

Differential Revision: https://phabricator.services.mozilla.com/D102400
2021-01-20 17:36:19 +00:00
Lars T Hansen e056230350 Bug 1687654 - Update SIMD tests to use only v128.any_true. r=rhunt
This is a mechanical change mostly, anything in wasm/simd/spec will
eventually disappear as we pull in the proper spec tests.

Depends on D102398

Differential Revision: https://phabricator.services.mozilla.com/D102399
2021-01-20 17:35:56 +00:00
Lars T Hansen bacaea238f Bug 1687654 - Update wat to 1.0.33. r=rhunt
Pull in a number of new SIMD opcodes, and a change from iNxM.any_true
to v128.any_true.  Plus whatever else has landed in the mean time...

Differential Revision: https://phabricator.services.mozilla.com/D102398
2021-01-20 17:35:23 +00:00
Jon Coppeard 4c202bc045 Bug 1657025 - Wait for all helper threads to finish before collecting memory stats r=sfink
Try harder to get this right.

Differential Revision: https://phabricator.services.mozilla.com/D102391
2021-01-20 17:52:08 +00:00
Jon Coppeard 93420d0a2a Bug 1687002 - Fix incremental marking validator r=sfink
This patch makes ChunkBitmap::getMarkWordAndMask into an instance method so that the uses in MarkingValidator access the correct bitmap.

Depends on D101778

Differential Revision: https://phabricator.services.mozilla.com/D102207
2021-01-19 15:20:25 +00:00
Nicolas B. Pierron 6c930a032f Bug 1687659 - jit_test.py: repeat_copy is now aware of generators. r=jonco
When using the `options.repeat`, we consume the `job_list` generator, which
causes it to be empty on the next iteration. This patch forces the content of
the generator to be stored in a list before iterating over it multiple times.

Differential Revision: https://phabricator.services.mozilla.com/D102410
2021-01-20 14:46:34 +00:00
Yury Delendik f89104b54d Bug 1684861 - wasm: add address folding for atomic wake/wait. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D100737
2021-01-19 19:49:06 +00:00
Tooru Fujisawa 784f6e4d4b Bug 1687093 - Compress the size of spans in BaseCompilationStencil. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D102119
2021-01-20 15:30:51 +00:00
Jan de Mooij 002fa73213 Bug 1686936 part 13 - Make SharedObjectMailbox work with large buffers. r=lth
Note that the union needs the explicit constructor now because BufferSize has one.

Depends on D102268

Differential Revision: https://phabricator.services.mozilla.com/D102269
2021-01-19 12:27:57 +00:00
Jan de Mooij 97ba379d22 Bug 1686936 part 12 - Make CacheEntry_getBytecode work with large buffers. r=anba
Differential Revision: https://phabricator.services.mozilla.com/D102268
2021-01-19 10:11:30 +00:00
Jan de Mooij 1ef18de8a3 Bug 1686936 part 11 - Make {Shared}ArrayBufferSlice work with large buffers. r=anba
Depends on D102266

Differential Revision: https://phabricator.services.mozilla.com/D102267
2021-01-19 10:11:30 +00:00
Jan de Mooij c90ddf5664 Bug 1686936 part 10 - Make PossiblyWrappedTypedArrayLength work with large buffers. r=anba
Differential Revision: https://phabricator.services.mozilla.com/D102266
2021-01-20 12:47:32 +00:00
Butkovits Atila 5da94b141e Backed out changeset 6ca79677c286 (bug 1679922) for bustages on Spidermonkey. CLOSED TREE 2021-01-20 16:16:33 +02:00
Nicolas B. Pierron e9da6df3eb Bug 1679922 - Apple Aarch64: Hard code JSCVT feature flag. r=lth
Apple Silicon does not provide any way to figure out the JSCVT flag at runtime.
This patch hard code in the MOZ_AARCH64_JSCVT macro the expected value of the
JSCVT flag expected on Apple Silicon hardware.

Differential Revision: https://phabricator.services.mozilla.com/D101208
2021-01-20 13:31:45 +00:00
Jonatan Klemets 795a0e1d44 Bug 1683784 - Remove extra '#' in read-only error message for SymbolCode::PrivateNameSymbol. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D102257
2021-01-20 13:16:17 +00:00
Jan de Mooij 2ab627369b Bug 1686936 part 9 - Make GetElements work with large buffers. r=anba
Depends on D102150

Differential Revision: https://phabricator.services.mozilla.com/D102151
2021-01-19 10:11:41 +00:00
Jan de Mooij c151cdec28 Bug 1686936 part 8 - Make IsBufferSource work with large buffers. r=anba
Differential Revision: https://phabricator.services.mozilla.com/D102150
2021-01-18 14:40:53 +00:00
Jan de Mooij 459f2d1297 Bug 1686936 part 7 - Make GetIndexedPropertiesInRange work with large buffers. r=anba
Note that both |begin| and |end| are <= UINT32_MAX.

Test written by anba.

Differential Revision: https://phabricator.services.mozilla.com/D102149
2021-01-18 14:37:28 +00:00
Jan de Mooij 491cb42d69 Bug 1686936 part 6 - Make some iteration code work with large buffers. r=anba
Differential Revision: https://phabricator.services.mozilla.com/D102148
2021-01-18 14:26:55 +00:00
Jan de Mooij e78cab5c79 Bug 1686936 part 5 - Make ensureHasBuffer and objectMoved work with large buffers. r=anba
Depends on D102146

Differential Revision: https://phabricator.services.mozilla.com/D102147
2021-01-18 14:25:14 +00:00
Jan de Mooij 867822ad8d Bug 1686936 part 4 - Make TypedArrayBitwiseSlice work with large buffers. r=anba
Differential Revision: https://phabricator.services.mozilla.com/D102146
2021-01-18 14:24:56 +00:00
Jan de Mooij 58cb89ab74 Bug 1687243 - Fix invalid assertion in readTypedArray. r=sfink
We can't assume the data is valid, it breaks fuzzing. Also add some checks and tests
to ensure huge 64-bit values are caught early and aren't truncated on 32-bit platforms.

Differential Revision: https://phabricator.services.mozilla.com/D102291
2021-01-20 12:48:46 +00:00
André Bargull df7de2ab81 Bug 1687229 - Part 4: Optimise Object.prototype.toString in CacheIR and Warp. r=jandem
Changes `js::ObjectClassToString()` to return `nullptr` to mean that the object
has a `@@toStringTag` property or is a proxy.

`MObjectClassToString` had to be changed as follows:
- Needs to be marked as a "guard" instruction, so we don't incorrectly optimise
  it away when we should instead bail out, e.g. when the object is a proxy.
- The alias-set has to record that `js::ObjectClassToString()` performs a lookup
  for `@@toStringTag`.
- Additionally added an override for `possiblyCalls()` to notify LICM that this
  instruction always performs a call.

Differential Revision: https://phabricator.services.mozilla.com/D102135
2021-01-20 12:28:10 +00:00
André Bargull 8716540ce6 Bug 1687229 - Part 3: Return a string from GetBuiltinTagSlow. r=jandem
As a further simplification, `GetBuiltinTagSlow()` can additionally be changed
to return a `JSString*` instead of using an out-param.

And additionally only call `GetBuiltinTagFast()` when we actually need to use
the result. We can't defer calling `GetBuiltinTagSlow()`, because retrieving
`@@toStringTag` can revoke a scripted proxy and revoked proxies throw when
`IsArray` is called on them, which would lead to throwing an exception from
`GetBuiltinTagSlow()`.

Differential Revision: https://phabricator.services.mozilla.com/D102134
2021-01-20 12:12:02 +00:00
André Bargull fcb347544e Bug 1687229 - Part 2: Directly return '[object Object]' in GetBuiltinTag{Fast,Slow}. r=jandem
With the class-name fallback removed, we can also change `GetBuiltinTag{Fast,Slow}`
to directly return `"[object Object]"`.

Differential Revision: https://phabricator.services.mozilla.com/D102133
2021-01-20 12:11:29 +00:00
André Bargull 4aee819010 Bug 1687229 - Part 1: Remove class-name fallback from ObjectClassToString and change it to an ABI call. r=jandem
Bug 1277801 missed to remove the class-name fallback from `ObjectClassToString()`.

With the class-name fallback removed, `ObjectClassToString()` no longer allocates,
so we can also change it to an ABI call.

Differential Revision: https://phabricator.services.mozilla.com/D102132
2021-01-20 12:10:55 +00:00
Jon Coppeard e9ee99f363 Bug 1686219 - Store chunk information at the start rather than the end of the chunk r=sfink
This moves the chunk metadata to the start of the chunk and defines the data structures in the public header.  This simplifies accessing this data and removes the need for hardcoded offsets.

Requesting review from jandem for JIT updates.

Differential Revision: https://phabricator.services.mozilla.com/D101778
2021-01-20 10:04:29 +00:00
Jon Coppeard 4149086412 Bug 1686219 - Use mozilla::BitSet for the chunk decommit state r=sfink
Previouly this used SpiderMonkey's BitArray, but that's not public.  BitSet performs the same function.

Differential Revision: https://phabricator.services.mozilla.com/D101776
2021-01-20 10:04:11 +00:00
Jan de Mooij 59b31a0b91 Bug 1686936 part 3 - Clean up setNumber/NumberValue implementations in Value.h. r=anba,tcampbell
All integral to NumberValue conversions are now handled by the setNumber template,
except for NumberValue(uint32_t) which has to stay constexpr to not add static
constructors to the DOM bindings when compiling with GCC.

This ensures setNumber(x) and NumberValue(x) behave consistently.

Remove unnecessary setMagic/setNumber implementations from HeapBase: the setMagic
implementation was wrong (would always assert) and they should just be inherited
from the base class.

Differential Revision: https://phabricator.services.mozilla.com/D102184
2021-01-19 16:32:41 +00:00
Ted Campbell 2c06b16a0c Bug 1687400 - Use uint32_t for Stencil FunctionKey. r=arai CLOSED TREE
The `sourceEnd` doesn't help with uniqueness so don't include in the key in
order to save space. A function may start in beginning of script, so add 1 to
the sourceStart to generate the key.

Differential Revision: https://phabricator.services.mozilla.com/D102246
2021-01-19 16:13:43 +00:00
Dorel Luca 4d6741fd61 Backed out 2 changesets (bug 1686586) for Valgrind failure. CLOSED TREE
Backed out changeset b7113f34ed0b (bug 1686586)
Backed out changeset 4464c774d0cd (bug 1686586)
2021-01-19 21:29:03 +02:00
Dorel Luca a0bfc3b622 Backed out changeset 14a41aec9db8 (bug 1687400) for Valgrind failure. CLOSED TREE 2021-01-19 21:02:51 +02:00
Jon Coppeard 0b7a4682e5 Bug 1686774 - Simplify GC logging r=sfink
Rename the logging method to just 'log' and take some some printing code out of line.

Depends on D101893

Differential Revision: https://phabricator.services.mozilla.com/D101894
2021-01-19 15:19:31 +00:00
Jon Coppeard c25b62dbe5 Bug 1686774 - Simplify GC zeal conditions r=sfink
|useZeal| already depends on whether the original budget is unlimited so the checks for |isIncremental| are unnecessary. This also makes a couple of other simplifications.

Differential Revision: https://phabricator.services.mozilla.com/D101893
2021-01-19 15:17:42 +00:00
Ted Campbell 764d1b564f Bug 1687400 - Use uint32_t for Stencil FunctionKey. r=arai
The `sourceEnd` doesn't help with uniqueness so don't include in the key in
order to save space. A function may start in beginning of script, so add 1 to
the sourceStart to generate the key.

Differential Revision: https://phabricator.services.mozilla.com/D102246
2021-01-19 16:13:43 +00:00
Caroline Cullen b32e458629 Bug 1686586 - Enabled spewing before entering JITs. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D101688
2021-01-18 18:18:44 +00:00
Caroline Cullen 8f6d776deb Bug 1686586 - Turn StructuredSpewer::spewingEnabled_ flag into a count. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D102074
2021-01-18 13:25:51 +00:00
André Bargull 9b5b1f6341 Bug 1687230: Don't DCE MegamorphicLoadSlot{ByValue} and MegamorphicHasProp. r=jandem
Call `setGuard()` for these three instructions so we don't incorrectly optimise them out.

Differential Revision: https://phabricator.services.mozilla.com/D102137
2021-01-19 14:25:42 +00:00
Jan de Mooij 4663536ba2 Bug 1686190 - Fix regression from bug 1682767 part 30. r=iain
It turns out the old code used JSOp::Object not just for the "simple constant values"
case but also when some of the values weren't simple constants. In this case it used
JSOp::Object + JSOp::InitProp ops to initialize the slots.

It's not clear if the original behavior was intentional, because it doesn't match
the comments. We can easily bring this back to fix the youtube-loadtime regression
(related to GC timing) though. This also fixes the comments to mention this case.

Differential Revision: https://phabricator.services.mozilla.com/D102201
2021-01-18 18:48:15 +00:00
Ted Campbell 716649077e Bug 1687338 - Transcode XDR-Stencil header directly to target buffer. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D102243
2021-01-19 00:41:54 +00:00
Ted Campbell b49b911ba5 Bug 1687338 - Refactor XDR-Stencil header trancoding code. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D102233
2021-01-19 00:41:46 +00:00
Ted Campbell 1ceaddc956 Bug 1687338 - StencilXDR should defer header encoding until linearize step. r=arai
Instead of transcoding the ScriptSource immediately when the incremental
encoder is started, we should defer until the 'linearize' step (which still
has access to the ScriptSource). This moves work from page-load to idle.

This does not change the format of the XDR data. The source data ends up in
the same location as before, but has a better chance of using compressed
representation. We also move the VersionCheck encoding while we are at it.

Differential Revision: https://phabricator.services.mozilla.com/D102214
2021-01-19 00:41:44 +00:00
Ted Campbell acfb924074 Bug 1687338 - Pass the ScriptSource into the XDR linearize method. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D102232
2021-01-19 00:41:36 +00:00
Ted Campbell c55cdf0ca5 Bug 1687338 - Inline XDRCompilationInput into callers. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D102231
2021-01-19 00:41:29 +00:00
Lars T Hansen 0a5979b8cb Bug 1686758 - Properly guard against redundant moves. r=jseward
The == and != operators on float registers take into account the type
of the register, so when we compare registers we must coerce to
a common type for the comparison to be meaningful.

I considered moving the guard into moveFloat32 and moveDouble, but
this problem seems to be limited to SIMD code, so I judged that
a local fix was best.

Differential Revision: https://phabricator.services.mozilla.com/D101786
2021-01-18 17:25:36 +00:00