mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 00:35:44 +00:00
Backed out changeset a69d0ed7e27c (bug 1573809) for causing multiple failures CLOSED TREE
This commit is contained in:
parent
c126ce4560
commit
e903f60a46
@ -2103,7 +2103,7 @@ void GCRuntime::sweepZoneAfterCompacting(Zone* zone) {
|
||||
r->sweepGlobalObject();
|
||||
r->sweepSelfHostingScriptSource();
|
||||
r->sweepDebugEnvironments();
|
||||
r->traceWeakEdgesInJitRealm(trc);
|
||||
r->sweepJitRealm();
|
||||
r->sweepObjectRealm();
|
||||
r->sweepTemplateObjects();
|
||||
}
|
||||
@ -5234,9 +5234,8 @@ void GCRuntime::sweepJitDataOnMainThread(JSFreeOp* fop) {
|
||||
{
|
||||
gcstats::AutoPhase ap(stats(), gcstats::PhaseKind::SWEEP_JIT_DATA);
|
||||
|
||||
SweepingTracer trc(rt);
|
||||
for (SweepGroupRealmsIter r(rt); !r.done(); r.next()) {
|
||||
r->traceWeakEdgesInJitRealm(&trc);
|
||||
r->sweepJitRealm();
|
||||
}
|
||||
|
||||
for (SweepGroupZonesIter zone(rt); !zone.done(); zone.next()) {
|
||||
|
@ -184,7 +184,6 @@ struct SweepingTracer final : public JS::CallbackTracer {
|
||||
bool onScriptEdge(JSScript** scriptp) override;
|
||||
bool onLazyScriptEdge(LazyScript** lazyp) override;
|
||||
bool onBaseShapeEdge(BaseShape** basep) override;
|
||||
bool onJitCodeEdge(jit::JitCode** jitp) override;
|
||||
bool onScopeEdge(Scope** scopep) override;
|
||||
bool onRegExpSharedEdge(RegExpShared** sharedp) override;
|
||||
bool onBigIntEdge(BigInt** bip) override;
|
||||
|
@ -3473,9 +3473,6 @@ bool SweepingTracer::onLazyScriptEdge(LazyScript** lazyp) {
|
||||
bool SweepingTracer::onBaseShapeEdge(BaseShape** basep) {
|
||||
return sweepEdge(basep);
|
||||
}
|
||||
bool SweepingTracer::onJitCodeEdge(jit::JitCode** jitp) {
|
||||
return sweepEdge(jitp);
|
||||
}
|
||||
bool SweepingTracer::onScopeEdge(Scope** scopep) { return sweepEdge(scopep); }
|
||||
bool SweepingTracer::onRegExpSharedEdge(RegExpShared** sharedp) {
|
||||
return sweepEdge(sharedp);
|
||||
|
@ -580,15 +580,15 @@ void JitRuntime::SweepJitcodeGlobalTable(JSRuntime* rt) {
|
||||
}
|
||||
}
|
||||
|
||||
void JitRealm::traceWeak(JSTracer* trc, JS::Realm* realm) {
|
||||
void JitRealm::sweep(JS::Realm* realm) {
|
||||
// Any outstanding compilations should have been cancelled by the GC.
|
||||
MOZ_ASSERT(!HasOffThreadIonCompile(realm));
|
||||
|
||||
stubCodes_->sweep();
|
||||
|
||||
for (WeakHeapPtrJitCode& stub : stubs_) {
|
||||
if (stub) {
|
||||
TraceWeakEdge(trc, &stub, "JitRealm::stubs_");
|
||||
if (stub && IsAboutToBeFinalized(&stub)) {
|
||||
stub.set(nullptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -618,7 +618,7 @@ class JitRealm {
|
||||
return stubs_[StringConcat];
|
||||
}
|
||||
|
||||
void traceWeak(JSTracer* trc, JS::Realm* realm);
|
||||
void sweep(JS::Realm* realm);
|
||||
|
||||
void discardStubs() {
|
||||
for (WeakHeapPtrJitCode& stubRef : stubs_) {
|
||||
|
@ -384,9 +384,9 @@ void Realm::sweepSelfHostingScriptSource() {
|
||||
}
|
||||
}
|
||||
|
||||
void Realm::traceWeakEdgesInJitRealm(JSTracer* trc) {
|
||||
void Realm::sweepJitRealm() {
|
||||
if (jitRealm_) {
|
||||
jitRealm_->traceWeak(trc, this);
|
||||
jitRealm_->sweep(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -779,7 +779,7 @@ class JS::Realm : public JS::shadow::Realm {
|
||||
void setValidAccessPtr(bool* accessp) { validAccessPtr_ = accessp; }
|
||||
|
||||
bool ensureJitRealmExists(JSContext* cx);
|
||||
void traceWeakEdgesInJitRealm(JSTracer* trc);
|
||||
void sweepJitRealm();
|
||||
|
||||
js::jit::JitRealm* jitRealm() { return jitRealm_.get(); }
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user