mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-27 09:37:31 +09:00
Issue #1442 - Part 2: Add a run-time preference for toggling the streams API. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697
This commit is contained in:
parent
90ca1f569a
commit
62467428a3
5 changed files with 26 additions and 3 deletions
|
|
@ -299,6 +299,7 @@ LoadContextOptions(const char* aPrefName, void* /* aClosure */)
|
||||||
.setNativeRegExp(GetWorkerPref<bool>(NS_LITERAL_CSTRING("native_regexp")))
|
.setNativeRegExp(GetWorkerPref<bool>(NS_LITERAL_CSTRING("native_regexp")))
|
||||||
.setAsyncStack(GetWorkerPref<bool>(NS_LITERAL_CSTRING("asyncstack")))
|
.setAsyncStack(GetWorkerPref<bool>(NS_LITERAL_CSTRING("asyncstack")))
|
||||||
.setWerror(GetWorkerPref<bool>(NS_LITERAL_CSTRING("werror")))
|
.setWerror(GetWorkerPref<bool>(NS_LITERAL_CSTRING("werror")))
|
||||||
|
.setStreams(GetWorkerPref<bool>(NS_LITERAL_CSTRING("streams")))
|
||||||
.setExtraWarnings(GetWorkerPref<bool>(NS_LITERAL_CSTRING("strict")))
|
.setExtraWarnings(GetWorkerPref<bool>(NS_LITERAL_CSTRING("strict")))
|
||||||
.setArrayProtoValues(GetWorkerPref<bool>(
|
.setArrayProtoValues(GetWorkerPref<bool>(
|
||||||
NS_LITERAL_CSTRING("array_prototype_values")));
|
NS_LITERAL_CSTRING("array_prototype_values")));
|
||||||
|
|
|
||||||
|
|
@ -1161,6 +1161,16 @@ class JS_PUBLIC_API(ContextOptions) {
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool streams() const { return streams_; }
|
||||||
|
ContextOptions& setStreams(bool flag) {
|
||||||
|
streams_ = flag;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
ContextOptions& toggleStreams() {
|
||||||
|
streams_ = !streams_;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
bool nativeRegExp() const { return nativeRegExp_; }
|
bool nativeRegExp() const { return nativeRegExp_; }
|
||||||
ContextOptions& setNativeRegExp(bool flag) {
|
ContextOptions& setNativeRegExp(bool flag) {
|
||||||
nativeRegExp_ = flag;
|
nativeRegExp_ = flag;
|
||||||
|
|
@ -1243,6 +1253,7 @@ class JS_PUBLIC_API(ContextOptions) {
|
||||||
bool strictMode_ : 1;
|
bool strictMode_ : 1;
|
||||||
bool extraWarnings_ : 1;
|
bool extraWarnings_ : 1;
|
||||||
bool arrayProtoValues_ : 1;
|
bool arrayProtoValues_ : 1;
|
||||||
|
bool streams_ : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
JS_PUBLIC_API(ContextOptions&)
|
JS_PUBLIC_API(ContextOptions&)
|
||||||
|
|
|
||||||
|
|
@ -318,6 +318,7 @@ static bool enableUnboxedArrays = false;
|
||||||
static bool enableSharedMemory = SHARED_MEMORY_DEFAULT;
|
static bool enableSharedMemory = SHARED_MEMORY_DEFAULT;
|
||||||
static bool enableWasmAlwaysBaseline = false;
|
static bool enableWasmAlwaysBaseline = false;
|
||||||
static bool enableArrayProtoValues = true;
|
static bool enableArrayProtoValues = true;
|
||||||
|
static bool enableStreams = false;
|
||||||
static bool printTiming = false;
|
static bool printTiming = false;
|
||||||
static const char* jsCacheDir = nullptr;
|
static const char* jsCacheDir = nullptr;
|
||||||
static const char* jsCacheAsmJSPath = nullptr;
|
static const char* jsCacheAsmJSPath = nullptr;
|
||||||
|
|
@ -7565,6 +7566,7 @@ SetContextOptions(JSContext* cx, const OptionParser& op)
|
||||||
enableUnboxedArrays = op.getBoolOption("unboxed-arrays");
|
enableUnboxedArrays = op.getBoolOption("unboxed-arrays");
|
||||||
enableWasmAlwaysBaseline = op.getBoolOption("wasm-always-baseline");
|
enableWasmAlwaysBaseline = op.getBoolOption("wasm-always-baseline");
|
||||||
enableArrayProtoValues = !op.getBoolOption("no-array-proto-values");
|
enableArrayProtoValues = !op.getBoolOption("no-array-proto-values");
|
||||||
|
enableStreams = op.getBoolOption("enable-streams");
|
||||||
|
|
||||||
JS::ContextOptionsRef(cx).setBaseline(enableBaseline)
|
JS::ContextOptionsRef(cx).setBaseline(enableBaseline)
|
||||||
.setIon(enableIon)
|
.setIon(enableIon)
|
||||||
|
|
@ -7573,7 +7575,8 @@ SetContextOptions(JSContext* cx, const OptionParser& op)
|
||||||
.setWasmAlwaysBaseline(enableWasmAlwaysBaseline)
|
.setWasmAlwaysBaseline(enableWasmAlwaysBaseline)
|
||||||
.setNativeRegExp(enableNativeRegExp)
|
.setNativeRegExp(enableNativeRegExp)
|
||||||
.setUnboxedArrays(enableUnboxedArrays)
|
.setUnboxedArrays(enableUnboxedArrays)
|
||||||
.setArrayProtoValues(enableArrayProtoValues);
|
.setArrayProtoValues(enableArrayProtoValues)
|
||||||
|
.setStreams(enableStreams);
|
||||||
|
|
||||||
if (op.getBoolOption("wasm-check-bce"))
|
if (op.getBoolOption("wasm-check-bce"))
|
||||||
jit::JitOptions.wasmAlwaysCheckBounds = true;
|
jit::JitOptions.wasmAlwaysCheckBounds = true;
|
||||||
|
|
@ -7845,7 +7848,8 @@ SetWorkerContextOptions(JSContext* cx)
|
||||||
.setWasmAlwaysBaseline(enableWasmAlwaysBaseline)
|
.setWasmAlwaysBaseline(enableWasmAlwaysBaseline)
|
||||||
.setNativeRegExp(enableNativeRegExp)
|
.setNativeRegExp(enableNativeRegExp)
|
||||||
.setUnboxedArrays(enableUnboxedArrays)
|
.setUnboxedArrays(enableUnboxedArrays)
|
||||||
.setArrayProtoValues(enableArrayProtoValues);
|
.setArrayProtoValues(enableArrayProtoValues)
|
||||||
|
.setStreams(enableStreams);
|
||||||
cx->setOffthreadIonCompilationEnabled(offthreadCompilation);
|
cx->setOffthreadIonCompilationEnabled(offthreadCompilation);
|
||||||
cx->profilingScripts = enableCodeCoverage || enableDisassemblyDumps;
|
cx->profilingScripts = enableCodeCoverage || enableDisassemblyDumps;
|
||||||
|
|
||||||
|
|
@ -8019,6 +8023,7 @@ main(int argc, char** argv, char** envp)
|
||||||
|| !op.addBoolOption('\0', "wasm-always-baseline", "Enable wasm baseline compiler when possible")
|
|| !op.addBoolOption('\0', "wasm-always-baseline", "Enable wasm baseline compiler when possible")
|
||||||
|| !op.addBoolOption('\0', "wasm-check-bce", "Always generate wasm bounds check, even redundant ones.")
|
|| !op.addBoolOption('\0', "wasm-check-bce", "Always generate wasm bounds check, even redundant ones.")
|
||||||
|| !op.addBoolOption('\0', "no-array-proto-values", "Remove Array.prototype.values")
|
|| !op.addBoolOption('\0', "no-array-proto-values", "Remove Array.prototype.values")
|
||||||
|
|| !op.addBoolOption('\0', "enable-streams", "Enable WHATWG Streams")
|
||||||
#ifdef ENABLE_SHARED_ARRAY_BUFFER
|
#ifdef ENABLE_SHARED_ARRAY_BUFFER
|
||||||
|| !op.addStringOption('\0', "shared-memory", "on/off",
|
|| !op.addStringOption('\0', "shared-memory", "on/off",
|
||||||
"SharedArrayBuffer and Atomics "
|
"SharedArrayBuffer and Atomics "
|
||||||
|
|
|
||||||
|
|
@ -1439,6 +1439,8 @@ ReloadPrefsCallback(const char* pref, void* data)
|
||||||
|
|
||||||
bool extraWarnings = Preferences::GetBool(JS_OPTIONS_DOT_STR "strict");
|
bool extraWarnings = Preferences::GetBool(JS_OPTIONS_DOT_STR "strict");
|
||||||
|
|
||||||
|
bool streams = Preferences::GetBool(JS_OPTIONS_DOT_STR "streams");
|
||||||
|
|
||||||
bool unboxedObjects = Preferences::GetBool(JS_OPTIONS_DOT_STR "unboxed_objects");
|
bool unboxedObjects = Preferences::GetBool(JS_OPTIONS_DOT_STR "unboxed_objects");
|
||||||
|
|
||||||
bool inlining = Preferences::GetBool(JS_OPTIONS_DOT_STR "ion.inlining");
|
bool inlining = Preferences::GetBool(JS_OPTIONS_DOT_STR "ion.inlining");
|
||||||
|
|
@ -1463,7 +1465,8 @@ ReloadPrefsCallback(const char* pref, void* data)
|
||||||
.setDumpStackOnDebuggeeWouldRun(dumpStackOnDebuggeeWouldRun)
|
.setDumpStackOnDebuggeeWouldRun(dumpStackOnDebuggeeWouldRun)
|
||||||
.setWerror(werror)
|
.setWerror(werror)
|
||||||
.setExtraWarnings(extraWarnings)
|
.setExtraWarnings(extraWarnings)
|
||||||
.setArrayProtoValues(arrayProtoValues);
|
.setArrayProtoValues(arrayProtoValues)
|
||||||
|
.setStreams(streams);
|
||||||
|
|
||||||
JS_SetParallelParsingEnabled(cx, parallelParsing);
|
JS_SetParallelParsingEnabled(cx, parallelParsing);
|
||||||
JS_SetOffthreadIonCompilationEnabled(cx, offthreadIonCompilation);
|
JS_SetOffthreadIonCompilationEnabled(cx, offthreadIonCompilation);
|
||||||
|
|
|
||||||
|
|
@ -1334,6 +1334,9 @@ pref("javascript.options.main_thread_stack_quota_cap", 2097152);
|
||||||
// Dynamic module import.
|
// Dynamic module import.
|
||||||
pref("javascript.options.dynamicImport", true);
|
pref("javascript.options.dynamicImport", true);
|
||||||
|
|
||||||
|
// Streams API
|
||||||
|
pref("javascript.options.streams", false);
|
||||||
|
|
||||||
// advanced prefs
|
// advanced prefs
|
||||||
pref("advanced.mailftp", false);
|
pref("advanced.mailftp", false);
|
||||||
pref("image.animation_mode", "normal");
|
pref("image.animation_mode", "normal");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue