summaryrefslogtreecommitdiff
path: root/js/src
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2020-12-03 13:56:36 +0000
committerMoonchild <moonchild@palemoon.org>2020-12-03 13:56:36 +0000
commit68a53ae641664448fa93045c7785f44f10035153 (patch)
tree4af73d6b72211a61873abfdb63564c7f26f73257 /js/src
parent09cb875f3a0c07b302fc0e32342d7828c4db28d3 (diff)
downloaduxp-68a53ae641664448fa93045c7785f44f10035153.tar.gz
Issue mcp-graveyard/UXP#1624 - Make ion inlining optimizations a pref.
This also adds it to JS_SetGlobalJitCompilerOption()
Diffstat (limited to 'js/src')
-rw-r--r--js/src/jit/JitOptions.cpp2
-rw-r--r--js/src/jsapi.cpp3
-rw-r--r--js/src/jsapi.h1
3 files changed, 5 insertions, 1 deletions
diff --git a/js/src/jit/JitOptions.cpp b/js/src/jit/JitOptions.cpp
index 7521a9faee..daae3d53b5 100644
--- a/js/src/jit/JitOptions.cpp
+++ b/js/src/jit/JitOptions.cpp
@@ -96,7 +96,7 @@ DefaultJitOptions::DefaultJitOptions()
SET_DEFAULT(disableGvn, false);
// Toggles whether inlining is globally disabled.
- SET_DEFAULT(disableInlining, true);
+ SET_DEFAULT(disableInlining, false);
// Toggles whether loop invariant code motion is globally disabled.
SET_DEFAULT(disableLicm, false);
diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp
index dab4c25a43..e9f86bde10 100644
--- a/js/src/jsapi.cpp
+++ b/js/src/jsapi.cpp
@@ -6607,6 +6607,9 @@ JS_SetGlobalJitCompilerOption(JSContext* cx, JSJitCompilerOption opt, uint32_t v
case JSJITCOMPILER_ION_INTERRUPT_WITHOUT_SIGNAL:
jit::JitOptions.ionInterruptWithoutSignals = !!value;
break;
+ case JSJITCOMPILER_ION_INLINING:
+ jit::JitOptions.disableInlining = !value;
+ break;
default:
break;
}
diff --git a/js/src/jsapi.h b/js/src/jsapi.h
index f8203ee1fd..1eecdbf749 100644
--- a/js/src/jsapi.h
+++ b/js/src/jsapi.h
@@ -5905,6 +5905,7 @@ JS_SetOffthreadIonCompilationEnabled(JSContext* cx, bool enabled);
Register(ION_GVN_ENABLE, "ion.gvn.enable") \
Register(ION_FORCE_IC, "ion.forceinlineCaches") \
Register(ION_ENABLE, "ion.enable") \
+ Register(ION_INLINING, "ion.inlining") \
Register(ION_INTERRUPT_WITHOUT_SIGNAL, "ion.interrupt-without-signals") \
Register(ION_CHECK_RANGE_ANALYSIS, "ion.check-range-analysis") \
Register(BASELINE_ENABLE, "baseline.enable") \