Bug 1732923 - Part 1: Remove options parameter from JS::EncodeStencil. r=tcampbell

Depends on D120201

Differential Revision: https://phabricator.services.mozilla.com/D128342
This commit is contained in:
Tooru Fujisawa 2021-10-21 00:14:21 +00:00
Родитель 8825ff5e81
Коммит 342914cc80
9 изменённых файлов: 12 добавлений и 25 удалений

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

@ -1578,11 +1578,10 @@ nsXULPrototypeScript::nsXULPrototypeScript(uint32_t aLineNo)
mStencil(nullptr) {}
static nsresult WriteStencil(nsIObjectOutputStream* aStream, JSContext* aCx,
const JS::ReadOnlyCompileOptions& aOptions,
JS::Stencil* aStencil) {
JS::TranscodeBuffer buffer;
JS::TranscodeResult code;
code = JS::EncodeStencil(aCx, aOptions, aStencil, buffer);
code = JS::EncodeStencil(aCx, aStencil, buffer);
if (code != JS::TranscodeResult::Ok) {
if (code == JS::TranscodeResult::Throw) {
@ -1689,10 +1688,7 @@ nsresult nsXULPrototypeScript::Serialize(
JSContext* cx = jsapi.cx();
MOZ_ASSERT(xpc::CompilationScope() == JS::CurrentGlobalOrNull(cx));
JS::CompileOptions options(cx);
FillCompileOptions(options);
return WriteStencil(aStream, cx, options, mStencil);
return WriteStencil(aStream, cx, mStencil);
}
nsresult nsXULPrototypeScript::SerializeOutOfLine(

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

@ -96,9 +96,9 @@ extern JS_PUBLIC_API JSObject* InstantiateModuleStencil(
JSContext* cx, const InstantiateOptions& options, Stencil* stencil);
// Serialize the Stencil into the transcode buffer.
extern JS_PUBLIC_API TranscodeResult
EncodeStencil(JSContext* cx, const JS::ReadOnlyCompileOptions& options,
Stencil* stencil, TranscodeBuffer& buffer);
extern JS_PUBLIC_API TranscodeResult EncodeStencil(JSContext* cx,
Stencil* stencil,
TranscodeBuffer& buffer);
// Deserialize data and create a new Stencil.
extern JS_PUBLIC_API TranscodeResult

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

@ -4091,9 +4091,7 @@ JSObject* JS::InstantiateModuleStencil(JSContext* cx,
return gcOutput.get().module;
}
JS::TranscodeResult JS::EncodeStencil(JSContext* cx,
const JS::ReadOnlyCompileOptions& options,
JS::Stencil* stencil,
JS::TranscodeResult JS::EncodeStencil(JSContext* cx, JS::Stencil* stencil,
TranscodeBuffer& buffer) {
XDRStencilEncoder encoder(cx, buffer);
XDRResult res = encoder.codeStencil(*stencil);

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

@ -213,7 +213,7 @@ BEGIN_TEST(testStencil_Transcode) {
CHECK(stencil);
// Encode Stencil to XDR
JS::TranscodeResult res = JS::EncodeStencil(cx, options, stencil, buffer);
JS::TranscodeResult res = JS::EncodeStencil(cx, stencil, buffer);
CHECK(res == JS::TranscodeResult::Ok);
CHECK(!buffer.empty());
@ -291,7 +291,7 @@ BEGIN_TEST(testStencil_TranscodeBorrowing) {
CHECK(stencil);
// Encode Stencil to XDR
JS::TranscodeResult res = JS::EncodeStencil(cx, options, stencil, buffer);
JS::TranscodeResult res = JS::EncodeStencil(cx, stencil, buffer);
CHECK(res == JS::TranscodeResult::Ok);
CHECK(!buffer.empty());
}

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

@ -1163,11 +1163,7 @@ bool ScriptPreloader::CachedStencil::XDREncode(JSContext* cx) {
mXDRData.construct<JS::TranscodeBuffer>();
JS::CompileOptions compileOptions(cx);
FillCompileOptionsForCachedStencil(compileOptions);
JS::TranscodeResult code =
JS::EncodeStencil(cx, compileOptions, mStencil, Buffer());
JS::TranscodeResult code = JS::EncodeStencil(cx, mStencil, Buffer());
if (code == JS::TranscodeResult::Ok) {
mXDRRange.emplace(Buffer().begin(), Buffer().length());
mSize = Range().length();

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

@ -845,7 +845,7 @@ nsresult mozJSComponentLoader::ObjectForLocation(
MOZ_ASSERT(stencil);
// We successfully compiled the script, so cache it.
rv = WriteCachedStencil(cache, cachePath, cx, options, stencil);
rv = WriteCachedStencil(cache, cachePath, cx, stencil);
// Don't treat failure to write as fatal, since we might be working
// with a read-only cache.

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

@ -49,10 +49,9 @@ nsresult ReadCachedStencil(StartupCache* cache, nsACString& uri, JSContext* cx,
}
nsresult WriteCachedStencil(StartupCache* cache, nsACString& uri, JSContext* cx,
const JS::ReadOnlyCompileOptions& options,
JS::Stencil* stencil) {
JS::TranscodeBuffer buffer;
JS::TranscodeResult code = JS::EncodeStencil(cx, options, stencil, buffer);
JS::TranscodeResult code = JS::EncodeStencil(cx, stencil, buffer);
if (code != JS::TranscodeResult::Ok) {
return HandleTranscodeResult(cx, code);
}

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

@ -25,7 +25,6 @@ nsresult ReadCachedStencil(mozilla::scache::StartupCache* cache,
nsresult WriteCachedStencil(mozilla::scache::StartupCache* cache,
nsACString& uri, JSContext* cx,
const JS::ReadOnlyCompileOptions& options,
JS::Stencil* stencil);
#endif /* mozJSLoaderUtils_h */

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

@ -198,8 +198,7 @@ static bool EvalStencil(JSContext* cx, HandleObject targetObj,
if (storeIntoStartupCache) {
JSAutoRealm ar(cx, script);
WriteCachedStencil(StartupCache::GetSingleton(), cachePath, cx, options,
stencil);
WriteCachedStencil(StartupCache::GetSingleton(), cachePath, cx, stencil);
}
}