SpiderMonkey 38 upgrade: 28/35
The GC API changed to have explicit start and step methods, and the start/shrink cases now take the gc kind as a parameter. Patch by leper. Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1099152 This was SVN commit r18682.
This commit is contained in:
parent
80c8c2c3d6
commit
fe52bf0457
@ -248,7 +248,10 @@ void ScriptRuntime::MaybeIncrementalGC(double delay)
|
||||
printf("Running incremental GC slice \n");
|
||||
#endif
|
||||
PrepareContextsForIncrementalGC();
|
||||
JS::IncrementalGC(m_rt, JS::gcreason::REFRESH_FRAME, GCSliceTimeBudget);
|
||||
if (!JS::IsIncrementalGCInProgress(m_rt))
|
||||
JS::StartIncrementalGC(m_rt, GC_NORMAL, JS::gcreason::REFRESH_FRAME, GCSliceTimeBudget);
|
||||
else
|
||||
JS::IncrementalGCSlice(m_rt, JS::gcreason::REFRESH_FRAME, GCSliceTimeBudget);
|
||||
}
|
||||
m_LastGCBytes = gcBytes;
|
||||
}
|
||||
@ -259,7 +262,7 @@ void ScriptRuntime::ShrinkingGC()
|
||||
{
|
||||
JS_SetGCParameter(m_rt, JSGC_MODE, JSGC_MODE_COMPARTMENT);
|
||||
JS::PrepareForFullGC(m_rt);
|
||||
JS::ShrinkingGC(m_rt, JS::gcreason::REFRESH_FRAME);
|
||||
JS::GCForReason(m_rt, GC_SHRINK, JS::gcreason::REFRESH_FRAME);
|
||||
JS_SetGCParameter(m_rt, JSGC_MODE, JSGC_MODE_INCREMENTAL);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user