Bug 1532838 - Add a pref for the minimum nursery size r=mccr8

Differential Revision: https://phabricator.services.mozilla.com/D29815

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Paul Bone 2019-05-06 03:14:22 +00:00
parent 6eabff94c7
commit d3857d4888
3 changed files with 10 additions and 5 deletions

View File

@ -2355,7 +2355,7 @@ static void SetMemoryPrefChangedCallbackMB(const char* aPrefName,
}
}
static void SetMemoryNurseryMaxPrefChangedCallback(const char* aPrefName,
static void SetMemoryNurseryPrefChangedCallback(const char* aPrefName,
void* aClosure) {
int32_t prefKB = Preferences::GetInt(aPrefName, -1);
// handle overflow and negative pref values
@ -2511,7 +2511,10 @@ void nsJSContext::EnsureStatics() {
Preferences::RegisterCallbackAndCall(SetMemoryPrefChangedCallbackMB,
"javascript.options.mem.max",
(void*)JSGC_MAX_BYTES);
Preferences::RegisterCallbackAndCall(SetMemoryNurseryMaxPrefChangedCallback,
Preferences::RegisterCallbackAndCall(SetMemoryNurseryPrefChangedCallback,
"javascript.options.mem.nursery.min_kb",
(void*)JSGC_MIN_NURSERY_BYTES);
Preferences::RegisterCallbackAndCall(SetMemoryNurseryPrefChangedCallback,
"javascript.options.mem.nursery.max_kb",
(void*)JSGC_MAX_NURSERY_BYTES);

View File

@ -303,7 +303,7 @@ typedef enum JSGCParamKey {
* gc::ChunkSize, otherwise it'll be rounded to the nearest gc::ChunkSize.
*
* Default: Nursery::SubChunkLimit
* Pref: None
* Pref: javascript.options.mem.nursery.min_kb
*/
JSGC_MIN_NURSERY_BYTES = 31,

View File

@ -1479,10 +1479,12 @@ pref("javascript.options.mem.high_water_mark", 128);
// cannot be represented directly in order to show it in about:config.
pref("javascript.options.mem.max", -1);
// JSGC_MAX_NURSERY_BYTES
// JSGC_MIN_NURSERY_BYTES / JSGC_MAX_NURSERY_BYTES
#if defined(ANDROID) || defined(XP_IOS)
pref("javascript.options.mem.nursery.min_kb", 192);
pref("javascript.options.mem.nursery.max_kb", 4096);
#else
pref("javascript.options.mem.nursery.min_kb", 192);
pref("javascript.options.mem.nursery.max_kb", 16384);
#endif