Bug 1454862 - Enable compaction for BigInt values r=tcampbell,jonco

Differential Revision: https://phabricator.services.mozilla.com/D20986

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Andy Wingo 2019-02-25 15:28:42 +00:00
parent 74d6c448d5
commit 599935c3ff
4 changed files with 4 additions and 1 deletions

View File

@ -66,7 +66,7 @@ namespace gc {
D(FAT_INLINE_ATOM, String, js::FatInlineAtom, js::FatInlineAtom, true, false, true) \
D(ATOM, String, js::NormalAtom, js::NormalAtom, true, false, true) \
D(SYMBOL, Symbol, JS::Symbol, JS::Symbol, true, false, false) \
D(BIGINT, BigInt, JS::BigInt, JS::BigInt, true, false, false) \
D(BIGINT, BigInt, JS::BigInt, JS::BigInt, true, false, true) \
D(JITCODE, JitCode, js::jit::JitCode, js::jit::JitCode, false, false, false) \
D(SCOPE, Scope, js::Scope, js::Scope, true, false, true) \
D(REGEXP_SHARED, RegExpShared, js::RegExpShared, js::RegExpShared, true, false, true)

View File

@ -2453,6 +2453,7 @@ void MovingTracer::onScopeEdge(Scope** scopep) { updateEdge(scopep); }
void MovingTracer::onRegExpSharedEdge(RegExpShared** sharedp) {
updateEdge(sharedp);
}
void MovingTracer::onBigIntEdge(BigInt** bip) { updateEdge(bip); }
void Zone::prepareForCompacting() {
FreeOp* fop = runtimeFromMainThread()->defaultFreeOp();

View File

@ -161,6 +161,7 @@ struct MovingTracer : JS::CallbackTracer {
void onBaseShapeEdge(BaseShape** basep) override;
void onScopeEdge(Scope** basep) override;
void onRegExpSharedEdge(RegExpShared** sharedp) override;
void onBigIntEdge(BigInt** bip) override;
void onChild(const JS::GCCellPtr& thing) override {
MOZ_ASSERT(!thing.asCell()->isForwarded());
}

View File

@ -62,6 +62,7 @@ struct MightBeForwarded {
mozilla::IsBaseOf<Shape, T>::value ||
mozilla::IsBaseOf<BaseShape, T>::value ||
mozilla::IsBaseOf<JSString, T>::value ||
mozilla::IsBaseOf<JS::BigInt, T>::value ||
mozilla::IsBaseOf<JSScript, T>::value ||
mozilla::IsBaseOf<js::LazyScript, T>::value ||
mozilla::IsBaseOf<js::Scope, T>::value ||