Bug 1883457 - Part 1: Disable jit compilation within the parent process on iOS, r=jandem

This adds a pref to disable jit compilation by calling JS::DisableJitBackend in
the parent process. This will be used on iOS, where the jit entitlements are
only available for sandboxed content processes.

Differential Revision: https://phabricator.services.mozilla.com/D203498
This commit is contained in:
Nika Layzell 2024-03-25 17:12:53 +00:00
Родитель a6b9e68edf
Коммит 5c6cb3e502
2 изменённых файлов: 15 добавлений и 0 удалений

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

@ -7957,6 +7957,16 @@
value: false
mirror: always
# Whether to disable the jit within the main process
- name: javascript.options.main_process_disable_jit
type: bool
#ifdef XP_IOS
value: true
#else
value: false
#endif
mirror: always
#---------------------------------------------------------------------------
# Prefs starting with "layers."
#---------------------------------------------------------------------------

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

@ -233,6 +233,11 @@ static void InitializeJS() {
JS::SetAVXEnabled(mozilla::StaticPrefs::javascript_options_wasm_simd_avx());
#endif
if (XRE_IsParentProcess() &&
mozilla::StaticPrefs::javascript_options_main_process_disable_jit()) {
JS::DisableJitBackend();
}
// Set all JS::Prefs.
SET_JS_PREFS_FROM_BROWSER_PREFS;