Bug 952819 - Disallow starting pre barrier verification when post barrier verifier is already running r=terrence

This commit is contained in:
Jon Coppeard 2014-01-03 10:30:51 +00:00
Родитель b04d819584
Коммит c363103654
2 изменённых файлов: 12 добавлений и 0 удалений

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

@ -454,6 +454,15 @@ gc::StartVerifyPreBarriers(JSRuntime *rt)
if (rt->gcVerifyPreData || rt->gcIncrementalState != NO_INCREMENTAL) if (rt->gcVerifyPreData || rt->gcIncrementalState != NO_INCREMENTAL)
return; return;
/*
* The post barrier verifier requires the storebuffer to be enabled, but the
* pre barrier verifier disables it as part of disabling GGC. Don't allow
* starting the pre barrier verifier if the post barrier verifier is already
* running.
*/
if (rt->gcVerifyPostData)
return;
MinorGC(rt, JS::gcreason::EVICT_NURSERY); MinorGC(rt, JS::gcreason::EVICT_NURSERY);
AutoPrepareForTracing prep(rt, WithAtoms); AutoPrepareForTracing prep(rt, WithAtoms);

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

@ -0,0 +1,3 @@
verifypostbarriers()
verifyprebarriers()
verifypostbarriers()