зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
8825ff5e81
Коммит
342914cc80
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче