Backed out 3 changesets (bug 1466633, bug 1467248, bug 1466387) for spidermonkey bustages in non262/regress/regress-1466387-worker-grayroot.js on a CLOSED TREE

Backed out changeset 1e833c6a3ba2 (bug 1467248)
Backed out changeset 17bb0a45975b (bug 1466633)
Backed out changeset bdf9bd1db757 (bug 1466387)
This commit is contained in:
shindli 2018-06-09 03:51:02 +03:00
parent aabbbbcfa1
commit 3392deb647
4 changed files with 4 additions and 37 deletions

View File

@ -7,7 +7,6 @@
#ifndef gc_DeletePolicy_h
#define gc_DeletePolicy_h
#include "gc/Barrier.h"
#include "js/TracingAPI.h"
#ifdef ENABLE_BIGINT
#include "vm/BigIntType.h"
@ -74,13 +73,8 @@ struct GCManagedDeletePolicy
void operator()(const T* constPtr) {
if (constPtr) {
auto ptr = const_cast<T*>(constPtr);
if (JS::CurrentThreadIsHeapCollecting()) {
MOZ_ASSERT(js::CurrentThreadIsGCSweeping());
// Do not attempt to clear out storebuffer edges.
} else {
gc::ClearEdgesTracer trc;
ptr->trace(&trc);
}
gc::ClearEdgesTracer trc;
ptr->trace(&trc);
js_delete(ptr);
}
}

View File

@ -3595,7 +3595,6 @@ WorkerMain(void* arg)
sc->isWorker = true;
JS_SetContextPrivate(cx, sc);
JS_SetGrayGCRootsTracer(cx, TraceGrayRoots, nullptr);
SetWorkerContextOptions(cx);
JS::SetBuildIdOp(cx, ShellBuildId);

View File

@ -1,26 +0,0 @@
var BUGNUMBER = 1466387;
var summary = 'grayRoot() testing on worker thread';
// Before bug 1466387, the gray root tracer was not set up on worker threads,
// but the grayRoot() function was still available. This resulted in a GC
// collecting the gray root, then a read barrier firing on the dead object.
//
// This is a crashtest. If it does not crash, it will throw a ReferenceError,
// but that's ok.
print('BUGNUMBER: ' + BUGNUMBER);
print("STATUS: " + summary);
evalInWorker(`
var wm = new WeakMap();
grayRoot().map = wm;
gczeal(4,10);
evaluate(\`
grayRoot().map = __v_1173;
if (!class i { constructor() { } } ()) {
(function __f_252( get , ) {})();
}
\`);
`);
this.reportCompare && reportCompare(true, true, summary);

View File

@ -29,7 +29,7 @@ sm-mozjs-sys-linux64/debug:
symbol: SM(mozjs-crate)
run:
using: spidermonkey-mozjs-crate
spidermonkey-variant: plaindebug
spidermonkey-variant: plain
run-on-projects: ['integration', 'release', 'try']
sm-rust-bindings-linux64/debug:
@ -44,7 +44,7 @@ sm-rust-bindings-linux64/debug:
docker-image: {in-tree: debian7-mozjs-rust-build}
run:
using: spidermonkey-rust-bindings
spidermonkey-variant: plaindebug
spidermonkey-variant: plain
run-on-projects: ['integration', 'release', 'try']
sm-plain-linux64/debug: