searching for reviewer(sfink)
567988aea937c737b4dec91f8b598cca9a21c54d: Bug 1415721 - Update outdated comment about when to sweep shared script data r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 30 Jun 2022 13:03:07 +0000 - rev 622708
Push
165519 by jcoppeard@mozilla.com at Thu, 30 Jun 2022 13:05:35 +0000
Bug 1415721 - Update outdated comment about when to sweep shared script data r=sfink
Differential Revision:
https://phabricator.services.mozilla.com/D150461
b8740c0dade37fbaa6f39b89727dbf9fdc69b72a: Bug 1776833 - Part 2: Remove use of GC lock when accessing GC tunables r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 30 Jun 2022 13:02:32 +0000 - rev 622707
Push
165518 by jcoppeard@mozilla.com at Thu, 30 Jun 2022 13:05:03 +0000
Bug 1776833 - Part 2: Remove use of GC lock when accessing GC tunables r=sfink
Depends on D150458
Differential Revision:
https://phabricator.services.mozilla.com/D150460
416f094f92a1d98e7836655da64fcb85818ed02a: Bug 1776833 - Part 1: Make GC tunables MainThreadData or move them to GCRuntime r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 30 Jun 2022 13:02:31 +0000 - rev 622706
Push
165518 by jcoppeard@mozilla.com at Thu, 30 Jun 2022 13:05:03 +0000
Bug 1776833 - Part 1: Make GC tunables MainThreadData or move them to GCRuntime r=sfink
The chunk settings move to GCRuntime where they are made GCLockData.
Almost all tunable settings become MainThreadData with the exception of
mallocThresholdBase which is accessed off-thread during sweeping since resizing
contains can cause allocation.
Differential Revision:
https://phabricator.services.mozilla.com/D150458
acc97acc3015684fd782e6c4f5312ef521e6a7e1: Bug 1774941 - Add Error tests to structured-clone-battery-of-tests.js. r=sfink
Tom Schuster <evilpies@gmail.com> - Tue, 21 Jun 2022 18:51:12 +0000 - rev 621607
Push
164945 by evilpies@gmail.com at Tue, 21 Jun 2022 19:07:24 +0000
Bug 1774941 - Add Error tests to structured-clone-battery-of-tests.js. r=sfink
Differential Revision:
https://phabricator.services.mozilla.com/D149695
00441393b32fb03dc11462f291a8994dce86233d: Bug 1769451 - Part 1: Fix missing include in js/public. r=sfink
Tooru Fujisawa <arai_a@mac.com> - Fri, 10 Jun 2022 19:19:51 +0000 - rev 620566
Push
164370 by arai_a@mac.com at Fri, 10 Jun 2022 20:07:19 +0000
Bug 1769451 - Part 1: Fix missing include in js/public. r=sfink
Differential Revision:
https://phabricator.services.mozilla.com/D146611
577530c09b8253e184c195bc2c3a9a5fa8008ce8: Bug 1772597: Fix TenuringTracer::moveToTenuredSlow() to update tenuredSize correctly when tenuring a Tuple r=sfink
Tim Chevalier <tjc@igalia.com> - Tue, 07 Jun 2022 15:29:10 +0000 - rev 619983
Push
164106 by sfink@mozilla.com at Tue, 07 Jun 2022 15:31:41 +0000
Bug 1772597: Fix TenuringTracer::moveToTenuredSlow() to update tenuredSize correctly when tenuring a Tuple r=sfink
The case in `moveToTenuredSlow()` that previously only applied to arrays
should also apply to tuples. Because this case wasn't handling tuples,
tuple elements were getting double-counted (first when computing the
destination size based on the destination alloc kind; then when adding
the return value of `moveElementsToTenured()`). This in turn caused
the value reported by the GC for the number of tenured bytes to be
inaccurately high, causing an assertion failure in `Nursery::collect()`
because the reported amount of tenured data is greater than the size of
the nursery from the previous collection.
Differential Revision:
https://phabricator.services.mozilla.com/D148427
634a46da0bdc68bbb86f5a915bb8b72de88e3614: Bug 1772597: Use tighter upper bound for tenured bytes in GC assertion r=sfink
Tim Chevalier <tjc@igalia.com> - Tue, 07 Jun 2022 15:29:10 +0000 - rev 619982
Push
164106 by sfink@mozilla.com at Tue, 07 Jun 2022 15:31:41 +0000
Bug 1772597: Use tighter upper bound for tenured bytes in GC assertion r=sfink
The calculation for the previous GC's used nursery space should
exclude the space used for chunk headers, since this space is not
available for heap data and thus can't be promoted to the tenured heap.
Making this assertion stricter doesn't cause any pre-existing tests to fail,
but is necessary to minimize the test case for this bug.
Differential Revision:
https://phabricator.services.mozilla.com/D148426
d01b40609b1fd31413dec033246e0bc4f9bb38fe: Bug 1772393 - Allow 'mach jstests' in --disable-tests builds r=iain,sfink
Ted Campbell <tcampbell@mozilla.com> - Thu, 02 Jun 2022 21:54:59 +0000 - rev 619629
Push
163933 by tcampbell@mozilla.com at Thu, 02 Jun 2022 21:59:54 +0000
Bug 1772393 - Allow 'mach jstests' in --disable-tests builds r=iain,sfink
Similar to 'mach jit-tests', we now can allow 'mach jstests' to work with just
the normal build artifacts.
Differential Revision:
https://phabricator.services.mozilla.com/D148152
47515060f20a877b02cfd78282249a7e5420443f: Bug 1771747 - Part 5: Assert that we don't underflow the retained size r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Wed, 01 Jun 2022 17:26:01 +0000 - rev 619466
Push
163830 by jcoppeard@mozilla.com at Wed, 01 Jun 2022 18:02:48 +0000
Bug 1771747 - Part 5: Assert that we don't underflow the retained size r=sfink
Finally we can add the assertion.
Differential Revision:
https://phabricator.services.mozilla.com/D147850
a2090fcae1b1d43591d7899ab09085cff156689e: Bug 1771747 - Part 4: Add CellAllocPolicy to track memory associated with a single GC cell r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Wed, 01 Jun 2022 17:26:01 +0000 - rev 619465
Push
163830 by jcoppeard@mozilla.com at Wed, 01 Jun 2022 18:02:48 +0000
Bug 1771747 - Part 4: Add CellAllocPolicy to track memory associated with a single GC cell r=sfink
One hurdle for this set of changes is distinguishing which memory is associated
with a single GC cell and which is associated with the system as a whole. The
former should be tracked against retained size and the latter cannot. To fix
this we must split the current ZoneAllocPolicy since it is used for both cases.
This introduces a TrackedAllocPolicy which performs common operations and is
templated to specify whether the memory is associated with a cell or which the
zone as a whole. ZoneAllocPolicy and a new CellAllocPolicy are then
instantiations of this template.
This converts uses of ZoneAllocPolicy to CellAllocPolicy where possible.
Notably weak maps are left as ZoneAllocPolicy even though they may be
associated with a cell since some of them are associated with the system.
Differential Revision:
https://phabricator.services.mozilla.com/D147849
5dc1477883c22c63b4276b67ef1634fd8d329d4e: Bug 1771747 - Part 3: Remove the 'wasSwept' parameter from js::RemoveCellMemory r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Wed, 01 Jun 2022 17:26:01 +0000 - rev 619464
Push
163830 by jcoppeard@mozilla.com at Wed, 01 Jun 2022 18:02:48 +0000
Bug 1771747 - Part 3: Remove the 'wasSwept' parameter from js::RemoveCellMemory r=sfink
Finalizers should use GCContext::removeCellMemory for this which will do the
right thing. No existing uses of RemoveCellMemory supply this parameter.
Differential Revision:
https://phabricator.services.mozilla.com/D147848
d0673c37ca93c3b9c8b15c710862dbd7b0f2108c: Bug 1771747 - Part 2: Give GCContext GCUse in release builds r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Wed, 01 Jun 2022 17:26:00 +0000 - rev 619463
Push
163830 by jcoppeard@mozilla.com at Wed, 01 Jun 2022 18:02:48 +0000
Bug 1771747 - Part 2: Give GCContext GCUse in release builds r=sfink
Previously GCContext had a 'collecting' flag and a debug mode field indicating
what part of the collecctor was using that thread.
This makes the latter unconditional so we can can see when a thread is
finalizing. This can be used to tell when we need to count freed memory against
the retained size.
The collecting flag and AutoSetThreadIsPerformingGC are removed.
Assert that the context's GC use is finalizing when calling finalizers and
freeing arenas.
Differential Revision:
https://phabricator.services.mozilla.com/D147847
5b2ca7510257b8a9741c512dc1ce2b01e3904bd3: Bug 1771747 - Part 1: Update jit heap size data on GC start r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Wed, 01 Jun 2022 17:26:00 +0000 - rev 619462
Push
163830 by jcoppeard@mozilla.com at Wed, 01 Jun 2022 18:02:48 +0000
Bug 1771747 - Part 1: Update jit heap size data on GC start r=sfink
Add missing update for JIT heap size at the start of GC.
Differential Revision:
https://phabricator.services.mozilla.com/D147846
cbf8e62e73108d83f188632e8f482d819bb83c65: Bug 1772082 - Add current heap size to JS_GC_PROFILE output r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Wed, 01 Jun 2022 13:31:48 +0000 - rev 619426
Push
163803 by jcoppeard@mozilla.com at Wed, 01 Jun 2022 13:34:15 +0000
Bug 1772082 - Add current heap size to JS_GC_PROFILE output r=sfink
Differential Revision:
https://phabricator.services.mozilla.com/D147841
fd60a6910c1fff3802d32691390b17aa065682b5: Bug 1771315 - Add a command line option to the shell to set GC parameters r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Fri, 27 May 2022 09:06:03 +0000 - rev 619076
Push
163602 by jcoppeard@mozilla.com at Fri, 27 May 2022 09:08:29 +0000
Bug 1771315 - Add a command line option to the shell to set GC parameters r=sfink
This moves the parameter names and other data to a header file and adds a
command line option --gc-param.
Differential Revision:
https://phabricator.services.mozilla.com/D147428
d28f1bf1633ebdfbb280b0e115f4907a9a7c75c0: Bug 1771314 - Remove unused methods to track 'adopted' memory r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 May 2022 18:48:58 +0000 - rev 619020
Push
163568 by jcoppeard@mozilla.com at Thu, 26 May 2022 18:51:25 +0000
Bug 1771314 - Remove unused methods to track 'adopted' memory r=sfink
Differential Revision:
https://phabricator.services.mozilla.com/D147427
131ca162afaf320677bdc60e12aab1f8bdd89429: Bug 1770769 - Remove heap limit factor to discourage atoms GCs during pageload r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 24 May 2022 17:24:39 +0000 - rev 618783
Push
163417 by jcoppeard@mozilla.com at Tue, 24 May 2022 17:27:03 +0000
Bug 1770769 - Remove heap limit factor to discourage atoms GCs during pageload r=sfink
These don't block off-thread parsing any more so we should be able to remove
this heuristic.
Differential Revision:
https://phabricator.services.mozilla.com/D147096
21004e258bef3e9ac28ea487dddc7eaea655e7d5: Bug 1770266 - Don't recompute wrappers to finalization registry records r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 24 May 2022 17:24:01 +0000 - rev 618782
Push
163416 by jcoppeard@mozilla.com at Tue, 24 May 2022 17:26:28 +0000
Bug 1770266 - Don't recompute wrappers to finalization registry records r=sfink
Something I didn't realise is that remapping a wrapper can make the wrapper
point at the original target again after nuking it. The code assumed that nuked
wrappers stayed dead.
Wrappers to finalization record objects (not registries) are not exposed so I
think we can skip recomputing wrappers to these.
Our assertions were a little over-eager here too. We shouldn't expect to see an
entry in the cross-zone records table for records that have their 'in map' flag
cleard, even if the entry hasn't been removed by sweeping yet.
Differential Revision:
https://phabricator.services.mozilla.com/D147090
5fee8e792f525d1684ecf013f2ce124f0ba6fbf7: Bug 1770082 - Reduce recursion depth for test case to fix failures on win32 builds r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 19 May 2022 16:06:03 +0000 - rev 618272
Push
163156 by jcoppeard@mozilla.com at Thu, 19 May 2022 17:41:42 +0000
Bug 1770082 - Reduce recursion depth for test case to fix failures on win32 builds r=sfink
I checked that the reduced depth does still reproduce the issue.
Differential Revision:
https://phabricator.services.mozilla.com/D146802
6c2ff5402279cb099802ddb42efa8e8135bf7631: Bug 1659025 - Implement [Transferable] for ReadableStream r=smaug,sfink
Kagami Sascha Rosylight <krosylight@mozilla.com> - Thu, 19 May 2022 11:54:31 +0000 - rev 618242
Push
163135 by krosylight@mozilla.com at Thu, 19 May 2022 11:57:08 +0000
Bug 1659025 - Implement [Transferable] for ReadableStream r=smaug,sfink
Differential Revision:
https://phabricator.services.mozilla.com/D139525
148ba451ed320000f8527d2befe64ca8b39db399: Bug 1768813 - Don't clear mark state for all zones in incremental marking verification r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Wed, 18 May 2022 16:28:45 +0000 - rev 618149
Push
163073 by jcoppeard@mozilla.com at Wed, 18 May 2022 16:31:11 +0000
Bug 1768813 - Don't clear mark state for all zones in incremental marking verification r=sfink
The mark state of uncollected zones influences the final mark state because
incoming cross compartment edges from uncollected zones are conditionally
marked depending on whether the source of the edge is gray in
Compartment::traceWrapperTargetsInCollectedZones.
I left in some extra debug output to help debug future problems.
Differential Revision:
https://phabricator.services.mozilla.com/D146690
a7f050ab968d609b0f0ad3caa6a456b1528d4220: Bug 1659025 - Implement [Transferable] for ReadableStream r=smaug,sfink
Kagami Sascha Rosylight <krosylight@mozilla.com> - Wed, 18 May 2022 12:01:01 +0000 - rev 618121
Push
163052 by krosylight@mozilla.com at Wed, 18 May 2022 12:11:41 +0000
Bug 1659025 - Implement [Transferable] for ReadableStream r=smaug,sfink
Differential Revision:
https://phabricator.services.mozilla.com/D139525
180af79082fb708c3145ec54fffa524a6d1b4846: Bug 1659025 - Implement [Transferable] for ReadableStream r=smaug,sfink
Kagami Sascha Rosylight <krosylight@mozilla.com> - Wed, 18 May 2022 09:08:04 +0000 - rev 618107
Push
163041 by krosylight@mozilla.com at Wed, 18 May 2022 09:10:36 +0000
Bug 1659025 - Implement [Transferable] for ReadableStream r=smaug,sfink
Differential Revision:
https://phabricator.services.mozilla.com/D139525
74291ce8cb4b6dbea0a2dee7173de2d211013ca0: Bug 1769239 - Upload js.wasm binary for SM(wasi) tasks. r=sfink
Jan de Mooij <jdemooij@mozilla.com> - Mon, 16 May 2022 13:25:29 +0000 - rev 617746
Push
162886 by jdemooij@mozilla.com at Mon, 16 May 2022 13:43:41 +0000
Bug 1769239 - Upload js.wasm binary for SM(wasi) tasks. r=sfink
Also add --disable-debug-symbols to shrink this from 140+ MB to about 8.5 MB.
Differential Revision:
https://phabricator.services.mozilla.com/D146296
b2c676c92d7f8b4eb0c8ba05848ee4a93e10d641: Bug 1766038 - Prefer full qualified types over typedefs for JS::Handle/Rooted r=andi,sfink
Kagami Sascha Rosylight <krosylight@mozilla.com> - Fri, 13 May 2022 22:45:51 +0000 - rev 617301
Push
162838 by krosylight@mozilla.com at Fri, 13 May 2022 22:48:15 +0000
Bug 1766038 - Prefer full qualified types over typedefs for JS::Handle/Rooted r=andi,sfink
Differential Revision:
https://phabricator.services.mozilla.com/D145802
cfcc7c8592575f70b6e2b1d42400ca4e5085dc7a: Bug 1766038 - Prefer full qualified types over typedefs for JS::Handle/Rooted r=andi,sfink
Kagami Sascha Rosylight <krosylight@mozilla.com> - Fri, 13 May 2022 18:02:47 +0000 - rev 617277
Push
162828 by krosylight@mozilla.com at Fri, 13 May 2022 18:36:08 +0000
Bug 1766038 - Prefer full qualified types over typedefs for JS::Handle/Rooted r=andi,sfink
Differential Revision:
https://phabricator.services.mozilla.com/D145802
748b1cb3e178d621f702fbf7a543a08d811103aa: Bug 1767224 - don't guard struct CCIntervalMarker by MOZ_GECKO_PROFILER r=sfink
Dan Horák <dan@danny.cz> - Mon, 02 May 2022 16:49:51 +0000 - rev 615801
Push
162022 by sfink@mozilla.com at Mon, 02 May 2022 16:52:15 +0000
Bug 1767224 - don't guard struct CCIntervalMarker by MOZ_GECKO_PROFILER r=sfink
Differential Revision:
https://phabricator.services.mozilla.com/D145238
8f546f81929996393b926d6ae3361927f2327d55: Bug 1766647 - Check readString result in JS_ReadString r=sfink
Kagami Sascha Rosylight <krosylight@mozilla.com> - Thu, 28 Apr 2022 21:59:17 +0000 - rev 615649
Push
161927 by krosylight@mozilla.com at Thu, 28 Apr 2022 22:01:40 +0000
Bug 1766647 - Check readString result in JS_ReadString r=sfink
Differential Revision:
https://phabricator.services.mozilla.com/D144887
6e78cd06efbcbbf4785fa112cf80dfc0ff499e68: Bug 1752332: Suppress Hazard warnings due to hash table function pointers r=sfink
Tom Ritter <tom@mozilla.com> - Wed, 27 Apr 2022 12:57:40 +0000 - rev 615467
Push
161776 by tritter@mozilla.com at Wed, 27 Apr 2022 13:00:57 +0000
Bug 1752332: Suppress Hazard warnings due to hash table function pointers r=sfink
Differential Revision:
https://phabricator.services.mozilla.com/D144437
eaa4213b9e08455979861b31f1b8dd8f78afead5: Bug 1752332: Suppress Hazard warnings due to hash table function pointers r=sfink
Tom Ritter <tom@mozilla.com> - Mon, 25 Apr 2022 13:54:05 +0000 - rev 615231
Push
161628 by tritter@mozilla.com at Mon, 25 Apr 2022 13:57:23 +0000
Bug 1752332: Suppress Hazard warnings due to hash table function pointers r=sfink
Differential Revision:
https://phabricator.services.mozilla.com/D144437
0f9f2acf6e136933da9a105df64ca4cc20bcb15c: Bug 1561357 - Implement [Serializable] for DOMException r=smaug,sfink
Kagami Sascha Rosylight <krosylight@mozilla.com> - Tue, 19 Apr 2022 19:31:27 +0000 - rev 614652
Push
161314 by krosylight@mozilla.com at Tue, 19 Apr 2022 19:33:49 +0000
Bug 1561357 - Implement [Serializable] for DOMException r=smaug,sfink
Skipping stack serialization here as
* it's optional per the spec
* no WPT test exists
* Chrome doesn't support it either
* not sure how it's usable when transferred to other domain.
Differential Revision:
https://phabricator.services.mozilla.com/D143625
130e136c058389fcabe02dc2a4f180c36d0f77c1: Bug 1763874 - Handle tuples properly in compacting GC r=sfink
Tim Chevalier <tjc@igalia.com> - Wed, 13 Apr 2022 23:26:58 +0000 - rev 614260
Push
161078 by sfink@mozilla.com at Wed, 13 Apr 2022 23:29:43 +0000
Bug 1763874 - Handle tuples properly in compacting GC r=sfink
Like arrays, tuples have fixed elements. The GC previously assumed that
only arrays can have fixed elements, and so tuple elements weren't being
traced properly.
Differential Revision:
https://phabricator.services.mozilla.com/D143307
49ff0bb229754e64d2f2ce25662c142ca62a7a63: Bug 1763874 - Handle tuples properly in compacting GC r=sfink
Tim Chevalier <tjc@igalia.com> - Wed, 13 Apr 2022 18:40:45 +0000 - rev 614241
Push
161065 by sfink@mozilla.com at Wed, 13 Apr 2022 19:09:32 +0000
Bug 1763874 - Handle tuples properly in compacting GC r=sfink
Like arrays, tuples have fixed elements. The GC previously assumed that
only arrays can have fixed elements, and so tuple elements weren't being
traced properly.
Differential Revision:
https://phabricator.services.mozilla.com/D143307
a61fbef29503f24c843ae97871b43f550f26dcb7: Bug 1762661 - Part 1: Add Promise::ThenWithCycleCollectedArgsJS r=smaug,mgaudet,sfink
Kagami Sascha Rosylight <krosylight@mozilla.com> - Tue, 05 Apr 2022 22:19:47 +0000 - rev 613473
Push
160656 by krosylight@mozilla.com at Tue, 05 Apr 2022 22:23:47 +0000
Bug 1762661 - Part 1: Add Promise::ThenWithCycleCollectedArgsJS r=smaug,mgaudet,sfink
Differential Revision:
https://phabricator.services.mozilla.com/D142151
99cfef5743000e3abdbff9e91ec11c1c10535c85: Bug 1759174 - Part 5: Tidy up marking assertion related to shared GC things r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Mon, 14 Mar 2022 11:13:53 +0000 - rev 610533
Push
159314 by jcoppeard@mozilla.com at Mon, 14 Mar 2022 11:38:34 +0000
Bug 1759174 - Part 5: Tidy up marking assertion related to shared GC things r=sfink
Depends on D140868
Differential Revision:
https://phabricator.services.mozilla.com/D140869
68ece3ee0b18230c3b461e1e3a0c6d53292d7475: Bug 1759174 - Part 4: Optimise internal barriers by removing checks for shared GC things r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Mon, 14 Mar 2022 11:13:53 +0000 - rev 610532
Push
159314 by jcoppeard@mozilla.com at Mon, 14 Mar 2022 11:38:34 +0000
Bug 1759174 - Part 4: Optimise internal barriers by removing checks for shared GC things r=sfink
These barriers already go on to check the mark state of the GC thing so we
don't need to also check whether it's shared first.
Depends on D140867
Differential Revision:
https://phabricator.services.mozilla.com/D140868
6cc946ad2564ac943c2793dcef144bac085b33ae: Bug 1759174 - Part 3: Optimise expose and read barrier APIs by removing check for shared GC things r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Mon, 14 Mar 2022 11:13:52 +0000 - rev 610531
Push
159314 by jcoppeard@mozilla.com at Mon, 14 Mar 2022 11:38:34 +0000
Bug 1759174 - Part 3: Optimise expose and read barrier APIs by removing check for shared GC things r=sfink
Depends on D140866
Differential Revision:
https://phabricator.services.mozilla.com/D140867
5d3bbf68e6d81261a9bef1e6855eab2485e99309: Bug 1759174 - Part 2: Optimize GCThingIsMarkedGray APIs by removing check for shared GC things r=sfink,mccr8
Jon Coppeard <jcoppeard@mozilla.com> - Mon, 14 Mar 2022 11:13:52 +0000 - rev 610530
Push
159314 by jcoppeard@mozilla.com at Mon, 14 Mar 2022 11:38:34 +0000
Bug 1759174 - Part 2: Optimize GCThingIsMarkedGray APIs by removing check for shared GC things r=sfink,mccr8
This splits the API into two, one that does a bunch of checks and calls into
the JS engine, and one for use by the CC where all preconditions are assumed to
be satisfied and can be inlined entirely.
Depends on D140865
Differential Revision:
https://phabricator.services.mozilla.com/D140866
bb24d4d99a39edc084172068046521f51c4100a4: Bug 1759174 - Part 1: Don't trigger barriers when updating a JSFunction's script during GC r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Mon, 14 Mar 2022 11:13:51 +0000 - rev 610529
Push
159314 by jcoppeard@mozilla.com at Mon, 14 Mar 2022 11:38:34 +0000
Bug 1759174 - Part 1: Don't trigger barriers when updating a JSFunction's script during GC r=sfink
This was triggering the post barrier which ran into an assertion failure with
later patches because it happens off the main thread. We don't need any
barriers when the GC is updating the pointer.
Differential Revision:
https://phabricator.services.mozilla.com/D140865
967bf3e8a3287f3efc13113328a6b2701f19f1ed: Bug 1743098 - Dump object internals on cross compartment assertion failure r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Mon, 14 Mar 2022 10:35:09 +0000 - rev 610523
Push
159310 by jcoppeard@mozilla.com at Mon, 14 Mar 2022 11:36:11 +0000
Bug 1743098 - Dump object internals on cross compartment assertion failure r=sfink
Not a fix.
This seems to be happening infrequently on infra and dumping some information
about the objects concerned might point us in the right direction.
Differential Revision:
https://phabricator.services.mozilla.com/D140829
16794e0d61b71f98d32d4a11989a31f5edd6cc91: Bug 1752861 - [profiler] Expose GC and CC operations to the JS view r=sfink,smaug
Julien Wajsberg <felash@gmail.com> - Fri, 11 Mar 2022 09:18:31 +0000 - rev 610331
Push
159206 by jwajsberg@mozilla.com at Fri, 11 Mar 2022 09:21:01 +0000
Bug 1752861 - [profiler] Expose GC and CC operations to the JS view r=sfink,smaug
Differential Revision:
https://phabricator.services.mozilla.com/D140390
d30323c51a42996c0cbab0597f15b7abf57b720a: Bug 1757573 - Use the correct zone when looking up nuked WeakRef CCWs r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Fri, 04 Mar 2022 10:08:31 +0000 - rev 609590
Push
158912 by jcoppeard@mozilla.com at Fri, 04 Mar 2022 10:10:54 +0000
Bug 1757573 - Use the correct zone when looking up nuked WeakRef CCWs r=sfink
WeakRefs are exposed to the user so anyone can create CCWs to WeakRefs. Don't
assume that a nuked WeakRef CCW is one that we created but get it's target to
find which zone to look it up in.
Differential Revision:
https://phabricator.services.mozilla.com/D140044
2f4c3dcd4a8d1d8be0ce121d7466415dabee4d27: Bug 1755725 - Part 4: Add WeakRef tests where the weak ref and its target are in different zones r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Mar 2022 08:28:42 +0000 - rev 609252
Push
158672 by jcoppeard@mozilla.com at Tue, 01 Mar 2022 08:31:11 +0000
Bug 1755725 - Part 4: Add WeakRef tests where the weak ref and its target are in different zones r=sfink
Depends on D139837
Differential Revision:
https://phabricator.services.mozilla.com/D139838
eac621ee0ea80e28ae49bd2391ae51707b94369d: Bug 1755725 - Part 3: Add cross-zone WeakRef wrappers to a weak set to keep them alive r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Mar 2022 08:28:42 +0000 - rev 609251
Push
158672 by jcoppeard@mozilla.com at Tue, 01 Mar 2022 08:31:11 +0000
Bug 1755725 - Part 3: Add cross-zone WeakRef wrappers to a weak set to keep them alive r=sfink
This fixes weak ref behaviour with cross zone targets. Previously the wrapper
died because there was nothing to keep it alive and the weak ref target was
cleared, even if the target was still alive.
Depends on D139836
Differential Revision:
https://phabricator.services.mozilla.com/D139837
8e7816b5ea2a6e9abd80ef165141cb5f8fd6a2d8: Bug 1755725 - Part 2: Refactor FinalizationObservers in preparation to add a weak set for weak refs r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Mar 2022 08:28:41 +0000 - rev 609250
Push
158672 by jcoppeard@mozilla.com at Tue, 01 Mar 2022 08:31:11 +0000
Bug 1755725 - Part 2: Refactor FinalizationObservers in preparation to add a weak set for weak refs r=sfink
This renames crossZoneWarppers to crossZoneRecordWrappers and makes
add/RemoveCrossZoneWarpper take the set as an argument.
Depends on D139835
Differential Revision:
https://phabricator.services.mozilla.com/D139836
59ae32a4a0a3be6160a757099e38bbc5f52db4b1: Bug 1755725 - Part 1: Factor out crossZoneWrappers checks and do them before we calculate sweep groups r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Mar 2022 08:28:41 +0000 - rev 609249
Push
158672 by jcoppeard@mozilla.com at Tue, 01 Mar 2022 08:31:11 +0000
Bug 1755725 - Part 1: Factor out crossZoneWrappers checks and do them before we calculate sweep groups r=sfink
Differential Revision:
https://phabricator.services.mozilla.com/D139835
5673a7a60e57ada97068da4967d9f9272daa4410: Bug 1756568 - Part 4: Merge WeakRef support data structures into FinalizationObservers r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Mon, 28 Feb 2022 10:33:11 +0000 - rev 609146
Push
158601 by jcoppeard@mozilla.com at Mon, 28 Feb 2022 10:35:43 +0000
Bug 1756568 - Part 4: Merge WeakRef support data structures into FinalizationObservers r=sfink
Depends on D139693
Differential Revision:
https://phabricator.services.mozilla.com/D139694
d8522f04b05522227f5e485156e9b1d8e846cc93: Bug 1756568 - Part 3: Rename source files containing FinalizationRegistry GC implementation to FinalizationObservers.cpp r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Mon, 28 Feb 2022 10:33:10 +0000 - rev 609145
Push
158601 by jcoppeard@mozilla.com at Mon, 28 Feb 2022 10:35:43 +0000
Bug 1756568 - Part 3: Rename source files containing FinalizationRegistry GC implementation to FinalizationObservers.cpp r=sfink
Depends on D139692
Differential Revision:
https://phabricator.services.mozilla.com/D139693
f4d76e4750407b08dba1d35ec96719c8186ef344: Bug 1756568 - Part 2: Rename FinalizationRegistry support data structures to FinalizationObservers r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Mon, 28 Feb 2022 10:33:10 +0000 - rev 609144
Push
158601 by jcoppeard@mozilla.com at Mon, 28 Feb 2022 10:35:43 +0000
Bug 1756568 - Part 2: Rename FinalizationRegistry support data structures to FinalizationObservers r=sfink
Depends on D139691
Differential Revision:
https://phabricator.services.mozilla.com/D139692
b4ad13429b29ab5152366d28d50747f200b16bd1: Bug 1756568 - Part 1: Simplify WeakRef sweeping a little by using GCVector::mutableEraseIf r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Mon, 28 Feb 2022 10:33:10 +0000 - rev 609143
Push
158601 by jcoppeard@mozilla.com at Mon, 28 Feb 2022 10:35:43 +0000
Bug 1756568 - Part 1: Simplify WeakRef sweeping a little by using GCVector::mutableEraseIf r=sfink
Differential Revision:
https://phabricator.services.mozilla.com/D139691