Bug 1110931 - interFrameGC is only accessed from the main thread; r=sfink

This commit is contained in:
Terrence Cole 2014-12-18 10:17:06 -08:00
Родитель 01a636855c
Коммит cc60e9f823
2 изменённых файлов: 4 добавлений и 2 удалений

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

@ -793,7 +793,7 @@ class GCRuntime
* frame, rather than at the beginning. In this case, the next slice will be
* delayed so that we don't get back-to-back slices.
*/
volatile uintptr_t interFrameGC;
bool interFrameGC;
/* Default budget for incremental GC slice. See SliceBudget in jsgc.h. */
int64_t sliceBudget;

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

@ -1110,7 +1110,7 @@ GCRuntime::GCRuntime(JSRuntime *rt) :
#ifdef JS_GC_MARKING_VALIDATION
markingValidator(nullptr),
#endif
interFrameGC(0),
interFrameGC(false),
sliceBudget(SliceBudget::Unlimited),
incrementalAllowed(true),
generationalDisabled(0),
@ -6297,6 +6297,8 @@ GCRuntime::finishGC(JS::gcreason::Reason reason)
void
GCRuntime::notifyDidPaint()
{
MOZ_ASSERT(CurrentThreadCanAccessRuntime(rt));
#ifdef JS_GC_ZEAL
if (zealMode == ZealFrameVerifierPreValue) {
verifyPreBarriers();