Bug 868037 - GC: Fix more rooting analysis false positives r=sfink DONTBUILD

This commit is contained in:
Jon Coppeard 2013-05-03 13:32:04 +01:00
parent 625b96e463
commit 322dbbb1db
2 changed files with 8 additions and 1 deletions

View File

@ -28,6 +28,13 @@ function indirectCallCannotGC(caller, name)
if (/CallDestroyScriptHook/.test(caller))
return true;
// template method called during marking and hence cannot GC
if (name == "op" &&
/^bool js::WeakMap<Key, Value, HashPolicy>::keyNeedsMark\(JSObject\*\)/.test(caller))
{
return true;
}
return false;
}

View File

@ -19,7 +19,7 @@ function processCSU(csu, body)
if (type.Kind == "CSU") {
// Ignore nesting in classes which are AutoGCRooters. We only consider
// types with fields that may not be properly rooted.
if (type.Name == "JS::AutoGCRooter")
if (type.Name == "JS::AutoGCRooter" || type.Name == "JS::CustomAutoRooter")
return;
addNestedStructure(csu, type.Name);
}