зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1272697 - Part 2: Add runtime pref to enable streams. r=jonco,baku
MozReview-Commit-ID: FJMAxbtD3Uy
This commit is contained in:
Родитель
0e9fddbda6
Коммит
ab76cf2fd7
|
@ -105,6 +105,7 @@ const char* mozilla::dom::ContentPrefs::gInitPrefs[] = {
|
|||
"javascript.options.native_regexp",
|
||||
"javascript.options.parallel_parsing",
|
||||
"javascript.options.shared_memory",
|
||||
"javascript.options.streams",
|
||||
"javascript.options.strict",
|
||||
"javascript.options.strict.debug",
|
||||
"javascript.options.throw_on_asmjs_validation_failure",
|
||||
|
|
|
@ -317,6 +317,7 @@ LoadContextOptions(const char* aPrefName, void* /* aClosure */)
|
|||
#ifdef FUZZING
|
||||
.setFuzzing(GetWorkerPref<bool>(NS_LITERAL_CSTRING("fuzzing.enabled")))
|
||||
#endif
|
||||
.setStreams(GetWorkerPref<bool>(NS_LITERAL_CSTRING("streams")))
|
||||
.setExtraWarnings(GetWorkerPref<bool>(NS_LITERAL_CSTRING("strict")));
|
||||
|
||||
RuntimeService::SetDefaultContextOptions(contextOptions);
|
||||
|
|
|
@ -1218,6 +1218,16 @@ class JS_PUBLIC_API(ContextOptions) {
|
|||
return *this;
|
||||
}
|
||||
|
||||
bool streams() const { return streams_; }
|
||||
ContextOptions& setStreams(bool flag) {
|
||||
streams_ = flag;
|
||||
return *this;
|
||||
}
|
||||
ContextOptions& toggleStreams() {
|
||||
streams_ = !streams_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool wasmAlwaysBaseline() const { return wasmAlwaysBaseline_; }
|
||||
ContextOptions& setWasmAlwaysBaseline(bool flag) {
|
||||
wasmAlwaysBaseline_ = flag;
|
||||
|
@ -1328,6 +1338,7 @@ class JS_PUBLIC_API(ContextOptions) {
|
|||
bool strictMode_ : 1;
|
||||
bool extraWarnings_ : 1;
|
||||
bool forEachStatement_: 1;
|
||||
bool streams_: 1;
|
||||
#ifdef FUZZING
|
||||
bool fuzzing_ : 1;
|
||||
#endif
|
||||
|
|
|
@ -267,6 +267,7 @@ static bool enableUnboxedArrays = false;
|
|||
static bool enableSharedMemory = SHARED_MEMORY_DEFAULT;
|
||||
static bool enableWasmAlwaysBaseline = false;
|
||||
static bool enableAsyncStacks = false;
|
||||
static bool enableStreams = false;
|
||||
#ifdef JS_GC_ZEAL
|
||||
static uint32_t gZealBits = 0;
|
||||
static uint32_t gZealFrequency = 0;
|
||||
|
@ -7812,6 +7813,7 @@ SetContextOptions(JSContext* cx, const OptionParser& op)
|
|||
enableUnboxedArrays = op.getBoolOption("unboxed-arrays");
|
||||
enableWasmAlwaysBaseline = op.getBoolOption("wasm-always-baseline");
|
||||
enableAsyncStacks = !op.getBoolOption("no-async-stacks");
|
||||
enableStreams = op.getBoolOption("enable-streams");
|
||||
|
||||
JS::ContextOptionsRef(cx).setBaseline(enableBaseline)
|
||||
.setIon(enableIon)
|
||||
|
@ -7820,7 +7822,8 @@ SetContextOptions(JSContext* cx, const OptionParser& op)
|
|||
.setWasmAlwaysBaseline(enableWasmAlwaysBaseline)
|
||||
.setNativeRegExp(enableNativeRegExp)
|
||||
.setUnboxedArrays(enableUnboxedArrays)
|
||||
.setAsyncStack(enableAsyncStacks);
|
||||
.setAsyncStack(enableAsyncStacks)
|
||||
.setStreams(enableStreams);
|
||||
|
||||
if (op.getBoolOption("wasm-check-bce"))
|
||||
jit::JitOptions.wasmAlwaysCheckBounds = true;
|
||||
|
@ -8104,7 +8107,8 @@ SetWorkerContextOptions(JSContext* cx)
|
|||
.setWasm(enableWasm)
|
||||
.setWasmAlwaysBaseline(enableWasmAlwaysBaseline)
|
||||
.setNativeRegExp(enableNativeRegExp)
|
||||
.setUnboxedArrays(enableUnboxedArrays);
|
||||
.setUnboxedArrays(enableUnboxedArrays)
|
||||
.setStreams(enableStreams);
|
||||
cx->runtime()->setOffthreadIonCompilationEnabled(offthreadCompilation);
|
||||
cx->runtime()->profilingScripts = enableCodeCoverage || enableDisassemblyDumps;
|
||||
|
||||
|
@ -8304,6 +8308,7 @@ main(int argc, char** argv, char** envp)
|
|||
|| !op.addBoolOption('\0', "wasm-check-bce", "Always generate wasm bounds check, even redundant ones.")
|
||||
|| !op.addBoolOption('\0', "wasm-test-mode", "Enable wasm testing mode, creating synthetic "
|
||||
"objects for non-canonical NaNs and i64 returned from wasm.")
|
||||
|| !op.addBoolOption('\0', "enable-streams", "Enable WHATWG Streams")
|
||||
#ifdef ENABLE_SHARED_ARRAY_BUFFER
|
||||
|| !op.addStringOption('\0', "shared-memory", "on/off",
|
||||
"SharedArrayBuffer and Atomics "
|
||||
|
|
|
@ -647,6 +647,8 @@ ReloadPrefsCallback(const char* pref, void* data)
|
|||
|
||||
bool extraWarnings = Preferences::GetBool(JS_OPTIONS_DOT_STR "strict");
|
||||
|
||||
bool streams = Preferences::GetBool(JS_OPTIONS_DOT_STR "streams");
|
||||
|
||||
sSharedMemoryEnabled = Preferences::GetBool(JS_OPTIONS_DOT_STR "shared_memory");
|
||||
|
||||
#ifdef DEBUG
|
||||
|
@ -681,6 +683,7 @@ ReloadPrefsCallback(const char* pref, void* data)
|
|||
#ifdef FUZZING
|
||||
.setFuzzing(fuzzingEnabled)
|
||||
#endif
|
||||
.setStreams(streams)
|
||||
.setExtraWarnings(extraWarnings);
|
||||
|
||||
JS_SetParallelParsingEnabled(cx, parallelParsing);
|
||||
|
|
|
@ -1485,6 +1485,9 @@ pref("javascript.options.shared_memory", true);
|
|||
pref("javascript.options.throw_on_debuggee_would_run", false);
|
||||
pref("javascript.options.dump_stack_on_debuggee_would_run", false);
|
||||
|
||||
// Streams API
|
||||
pref("javascript.options.streams", false);
|
||||
|
||||
// advanced prefs
|
||||
pref("advanced.mailftp", false);
|
||||
pref("image.animation_mode", "normal");
|
||||
|
|
Загрузка…
Ссылка в новой задаче