--- a/js/src/devtools/rootAnalysis/analyzeHeapWrites.js
+++ b/js/src/devtools/rootAnalysis/analyzeHeapWrites.js
@@ -96,39 +96,29 @@ function checkOverridableVirtualCall(ent
dumpError(entry, location, "AddRef/Release on nsISupports");
}
function checkIndirectCall(entry, location, callee)
{
var name = entry.name;
- // replace_malloc indirects through this table.
- if (callee.startsWith('malloc_table_t.'))
- return;
-
// These hash table callbacks should be threadsafe.
if (/PLDHashTable/.test(name) && (/matchEntry/.test(callee) || /hashKey/.test(callee)))
return;
if (/PL_HashTable/.test(name) && /keyCompare/.test(callee))
return;
dumpError(entry, location, "Indirect call " + callee);
}
function checkVariableAssignment(entry, location, variable)
{
var name = entry.name;
- // Malloc related state.
- if (/replace_malloc_initialized/.test(variable))
- return;
- if (name == "replace_init")
- return;
-
dumpError(entry, location, "Variable assignment " + variable);
}
// Annotations for function parameters, based on function name and parameter
// name + type.
function treatAsSafeArgument(entry, varName, csuName)
{
var whitelist = [
@@ -348,30 +338,30 @@ function ignoreContents(entry)
/MOZ_ReportAssertionFailure/,
/MOZ_ReportCrash/,
/AnnotateMozCrashReason/,
/InvalidArrayIndex_CRASH/,
/NS_ABORT_OOM/,
// These ought to be threadsafe.
"NS_DebugBreak",
- "replace_free", "replace_malloc",
/mozalloc_handle_oom/,
/^NS_Log/, /log_print/, /LazyLogModule::operator/,
/SprintfLiteral/, "PR_smprintf", "PR_smprintf_free",
/NS_DispatchToMainThread/, /NS_ReleaseOnMainThread/,
/NS_NewRunnableFunction/, /NS_Atomize/,
/nsCSSValue::BufferFromString/,
/NS_strdup/,
/Assert_NoQueryNeeded/,
/imgRequestProxy::GetProgressTracker/, // Uses an AutoLock
/Smprintf/,
"malloc",
"free",
"realloc",
+ "jemalloc_thread_local_arena",
/profiler_register_thread/,
/profiler_unregister_thread/,
// These all create static strings in local storage, which is threadsafe
// to do but not understood by the analysis yet.
/ EmptyString\(\)/,
/nsCSSProps::LookupPropertyValue/,
/nsCSSProps::ValueToKeyword/,
@@ -388,17 +378,16 @@ function ignoreContents(entry)
/nsCSSValue::SetCalcValue/,
/CSSValueSerializeCalcOps::Append/,
"Gecko_CSSValue_SetFunction",
"Gecko_CSSValue_SetArray",
"Gecko_EnsureMozBorderColors",
"Gecko_ClearMozBorderColors",
"Gecko_AppendMozBorderColors",
"Gecko_CopyMozBorderColors",
- "Gecko_SetJemallocThreadLocalArena",
"Gecko_SetNullImageValue",
// Needs main thread assertions or other fixes.
/UndisplayedMap::GetEntryFor/,
/nsStyleContext::CalcStyleDifferenceInternal/,
/EffectCompositor::GetServoAnimationRule/,
/LookAndFeel::GetColor/,
"Gecko_CopyStyleContentsFrom",