The mozalloc landing broke trace-malloc on Linux -- it now only overrides calls to malloc that go through moz_malloc, and doesn't override other calls to malloc (and likewise for the other functions). I think the right fix is just adding: >/* > * We need to redefine |malloc|, etc. in this file; without this, we'll > * end up redefining |moz_malloc|, etc. instead. > */ >#define MOZALLOC_DONT_DEFINE_MACRO_WRAPPERS to the top of nsTraceMalloc.c -- it looks like mozalloc doesn't actually try to override malloc itself, so nsTraceMalloc can still continue to do so. This would probably explain the massive drop in leak stats on Linux.
>#define MOZALLOC_DONT_DEFINE_MACRO_WRAPPERS That macro is actually just defined in one place and never used (probably dead code). But the undef header looks like it'll work.
Created attachment 455880 [details] [diff] [review] patch
Comment on attachment 455880 [details] [diff] [review] patch Hm ... bad. I sure thought we had something like this in place. Thanks. I prefer -DMOZ_NO_MOZALLOC in Makefile.in to this fix.
Created attachment 457952 [details] [diff] [review] patch 2 ... as requested
Comment on attachment 457952 [details] [diff] [review] patch 2 Thanks.