Closed Bug 1686021 Opened 3 years ago Closed 3 years ago

Simplify ShouldMark predicate a little

Categories

(Core :: JavaScript: GC, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
86 Branch
Tracking Status
firefox86 --- fixed

People

(Reporter: jonco, Assigned: jonco)

Details

Attachments

(1 file)

This is currently implemented using separate overloaded functions for different GC thing types. This is unnecessary and we can replace it with a single templated function.

isTenured is implemented on both Cell and TenuredCell, so if T is not nursery
allocatable the check will be skipped. This allows us to use a single template
function for ShouldMark. I updated a couple of other uses of IsInsideNursery
too.

Depends on D101357

Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bbc59e848889
Use T::isTenured() rather than IsInsideNursery to simplify ShouldMark r=sfink

Backed out 2 changesets (bug 1686020, bug 1686021) for sm rootanalysis getting out of memory.

Push with failures: https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&fromchange=1e27dd58d47651aab5deb373306ac86d9e6d8d69&searchStr=linux%2Cx64%2Cdebug%2Cspidermonkey%2Cbuilds%2Cspidermonkey-sm-rootanalysis-linux64%2Fdebug%2Cr&selectedTaskRun=a9f6pUNGRIyJa_H1RgXCvw.0&tochange=174f04320dc892b8d76b43a07c0141c2e083f12e

Backout link: https://hg.mozilla.org/integration/autoland/rev/174f04320dc892b8d76b43a07c0141c2e083f12e

Failure log: https://treeherder.mozilla.org/logviewer?job_id=326379071&repo=autoland&lineNumber=45771

...
[task 2021-01-11T17:22:38.104Z] TEST-PASS | js/src/jit-test/tests/xdr/trivial.js | Success (code 0, args "--ion-eager --ion-offthread-compile=off --ion-check-range-analysis --ion-extra-checks --no-sse3 --no-threads") [0.2 s]
[task 2021-01-11T17:22:38.104Z] PASSED ALL
[task 2021-01-11T17:22:38.104Z] Result summary:
[task 2021-01-11T17:22:38.104Z] Passed: 41358
[task 2021-01-11T17:22:38.104Z] Failed: 0
[task 2021-01-11T17:22:38.135Z] make[1]: Leaving directory '/builds/worker/workspace/obj-spider/js/src'
[task 2021-01-11T17:22:38.136Z] in directory /builds/worker/workspace/obj-spider, running ['setarch', 'x86_64', '-R', '/builds/worker/workspace/obj-spider/dist/bin/jsapi-tests']
[task 2021-01-11T17:22:40.322Z] /builds/worker/checkouts/gecko/js/src/jsapi-tests/testGCOutOfMemory.cpp:54:(function() {    var array = [];    for (var i = max >> 2; i != 0;) {        --i;        array.push({});    }})(); -- out of memory
[task 2021-01-11T17:22:41.784Z] testIntlAvailableLocales
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testIntlAvailableLocales | ok
[task 2021-01-11T17:22:41.784Z] testPinAcrossGC
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testPinAcrossGC | ok
[task 2021-01-11T17:22:41.784Z] testAtomizedIsNotPinned
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testAtomizedIsNotPinned | ok
[task 2021-01-11T17:22:41.784Z] testIntString_bug515273
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testIntString_bug515273 | ok
[task 2021-01-11T17:22:41.784Z] testInformalValueTypeName
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testInformalValueTypeName | ok
[task 2021-01-11T17:22:41.784Z] testStringToPropertyName
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testStringToPropertyName | ok
[task 2021-01-11T17:22:41.784Z] testStringIsIndex
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testStringIsIndex | ok
[task 2021-01-11T17:22:41.784Z] testIndexToString
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testIndexToString | ok
[task 2021-01-11T17:22:41.784Z] testOrderedHashSetWithoutInit
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testOrderedHashSetWithoutInit | ok
[task 2021-01-11T17:22:41.784Z] testHashLazyStorage
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testHashLazyStorage | ok
[task 2021-01-11T17:22:41.784Z] testHashTableMovableModIterator
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testHashTableMovableModIterator | ok
[task 2021-01-11T17:22:41.784Z] testHashMapGrowOOM
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testHashMapGrowOOM | ok
[task 2021-01-11T17:22:41.784Z] testHashSetOfMoveOnlyType
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testHashSetOfMoveOnlyType | ok
[task 2021-01-11T17:22:41.784Z] testHashRekeyManualRemoval
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testHashRekeyManualRemoval | ok
[task 2021-01-11T17:22:41.784Z] testHashRekeyManual
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testHashRekeyManual | ok
[task 2021-01-11T17:22:41.784Z] test_GetPropertyDescriptor
[task 2021-01-11T17:22:41.784Z] TEST-PASS | test_GetPropertyDescriptor | ok
[task 2021-01-11T17:22:41.784Z] testIncrementalWeakCacheSweeping
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testIncrementalWeakCacheSweeping | ok
[task 2021-01-11T17:22:41.784Z] testWeakCacheGCVector
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testWeakCacheGCVector | ok
[task 2021-01-11T17:22:41.784Z] testWeakCacheMap
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testWeakCacheMap | ok
[task 2021-01-11T17:22:41.784Z] testWeakCacheSet
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testWeakCacheSet | ok
[task 2021-01-11T17:22:41.784Z] testGCUID
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testGCUID | ok
[task 2021-01-11T17:22:41.784Z] testGCStoreBufferRemoval
[task 2021-01-11T17:22:41.784Z] TEST-PASS | testGCStoreBufferRemoval | ok
[task 2021-01-11T17:22:41.784Z] testGCOutOfMemory
[task 2021-01-11T17:22:41.784Z] TEST-UNEXPECTED-FAIL | testGCOutOfMemory | /builds/worker/checkouts/gecko/js/src/jsapi-tests/testGCOutOfMemory.cpp:54:(function() {    var array = [];    for (var i = max >> 2; i != 0;) {        --i;        array.push({});    }})(); -- out of memory
[task 2021-01-11T17:22:41.785Z] testIncrementalRoots
[task 2021-01-11T17:22:41.785Z] TEST-PASS | testIncrementalRoots | ok
...
Flags: needinfo?(jcoppeard)
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fa83b32c51b5
Use T::isTenured() rather than IsInsideNursery to simplify ShouldMark r=sfink

The test failure was caused by the patch in bug 1686020 which landed at the same time.

Flags: needinfo?(jcoppeard)
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 86 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: