Bug 1666024 - Clear FunctionFlags::Flags::MUTABLE_FLAGS bits in FunctionBox. r=tcampbell

Differential Revision: https://phabricator.services.mozilla.com/D90755
This commit is contained in:
Tooru Fujisawa 2020-09-18 21:06:28 +00:00
Родитель a1cd9c24d5
Коммит bc885eef14
3 изменённых файлов: 6 добавлений и 2 удалений

Просмотреть файл

@ -235,7 +235,7 @@ FunctionBox::FunctionBox(JSContext* cx, SourceExtent extent,
: SharedContext(cx, Kind::FunctionBox, compilationInfo, directives, extent),
atom_(atom),
funcDataIndex_(index),
flags_(flags),
flags_(FunctionFlags::clearMutableflags(flags)),
isTopLevel_(isTopLevel),
emitBytecode(false),
isStandalone_(false),

Просмотреть файл

@ -330,6 +330,10 @@ class FunctionFlags {
}
return flags;
}
static FunctionFlags clearMutableflags(FunctionFlags flags) {
return FunctionFlags(flags.toRaw() & ~FunctionFlags::MUTABLE_FLAGS);
}
};
} /* namespace js */

Просмотреть файл

@ -597,7 +597,7 @@ XDRResult js::XDRInterpretedFunction(XDRState<mode>* xdr,
}
nargs = fun->nargs();
flags = (fun->flags().toRaw() & ~FunctionFlags::MUTABLE_FLAGS);
flags = FunctionFlags::clearMutableflags(fun->flags()).toRaw();
atom = fun->displayAtom();