mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 613551 - "JSGC_MAX_MALLOC_BYTES is too large on mobile" [r=jst] a=blocking-fennec
--HG-- extra : rebase_source : 5899ff657273a08bed317edadc3eeab090d94208
This commit is contained in:
parent
af4f48c099
commit
04c946cf13
@ -4004,26 +4004,24 @@ ReportAllJSExceptionsPrefChangedCallback(const char* aPrefName, void* aClosure)
|
|||||||
static int
|
static int
|
||||||
SetMemoryHighWaterMarkPrefChangedCallback(const char* aPrefName, void* aClosure)
|
SetMemoryHighWaterMarkPrefChangedCallback(const char* aPrefName, void* aClosure)
|
||||||
{
|
{
|
||||||
PRInt32 highwatermark = nsContentUtils::GetIntPref(aPrefName, 32);
|
PRInt32 highwatermark = nsContentUtils::GetIntPref(aPrefName, 128);
|
||||||
|
|
||||||
if (highwatermark >= 32) {
|
JS_SetGCParameter(nsJSRuntime::sRuntime, JSGC_MAX_MALLOC_BYTES,
|
||||||
/*
|
highwatermark * 1024L * 1024L);
|
||||||
* There are two ways to allocate memory in SpiderMonkey. One is
|
return 0;
|
||||||
* to use jsmalloc() and the other is to use GC-owned memory
|
}
|
||||||
* (e.g. js_NewGCThing()).
|
|
||||||
*
|
static int
|
||||||
* In the browser, we don't cap the amount of GC-owned memory.
|
SetMemoryMaxPrefChangedCallback(const char* aPrefName, void* aClosure)
|
||||||
*/
|
{
|
||||||
JS_SetGCParameter(nsJSRuntime::sRuntime, JSGC_MAX_MALLOC_BYTES,
|
PRUint32 max = nsContentUtils::GetIntPref(aPrefName, -1);
|
||||||
128L * 1024L * 1024L);
|
if (max == -1UL)
|
||||||
JS_SetGCParameter(nsJSRuntime::sRuntime, JSGC_MAX_BYTES,
|
max = 0xffffffff;
|
||||||
0xffffffff);
|
else
|
||||||
} else {
|
max = max * 1024L * 1024L;
|
||||||
JS_SetGCParameter(nsJSRuntime::sRuntime, JSGC_MAX_MALLOC_BYTES,
|
|
||||||
highwatermark * 1024L * 1024L);
|
JS_SetGCParameter(nsJSRuntime::sRuntime, JSGC_MAX_BYTES,
|
||||||
JS_SetGCParameter(nsJSRuntime::sRuntime, JSGC_MAX_BYTES,
|
max);
|
||||||
highwatermark * 1024L * 1024L);
|
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4161,6 +4159,12 @@ nsJSRuntime::Init()
|
|||||||
SetMemoryHighWaterMarkPrefChangedCallback("javascript.options.mem.high_water_mark",
|
SetMemoryHighWaterMarkPrefChangedCallback("javascript.options.mem.high_water_mark",
|
||||||
nsnull);
|
nsnull);
|
||||||
|
|
||||||
|
nsContentUtils::RegisterPrefCallback("javascript.options.mem.max",
|
||||||
|
SetMemoryMaxPrefChangedCallback,
|
||||||
|
nsnull);
|
||||||
|
SetMemoryMaxPrefChangedCallback("javascript.options.mem.max",
|
||||||
|
nsnull);
|
||||||
|
|
||||||
nsContentUtils::RegisterPrefCallback("javascript.options.mem.gc_frequency",
|
nsContentUtils::RegisterPrefCallback("javascript.options.mem.gc_frequency",
|
||||||
SetMemoryGCFrequencyPrefChangedCallback,
|
SetMemoryGCFrequencyPrefChangedCallback,
|
||||||
nsnull);
|
nsnull);
|
||||||
|
Loading…
Reference in New Issue
Block a user