jstracer.cpp, InitJIT(): 7807: tm->reTempAlloc = new VMAllocator(); allocates 512kb of memory at process start, but is never used. AFAICS reTempAlloc is redundant (nothing is ever allocated in it) and can be done away with. I guess it got left over from the old regexp engine. The block stayed alive for 15.02 billion insns, almost the entire life of the program (15.08 billion -- start browser and surf a bit). Only 192 bytes of the block were read, and 825 written -- admin stuff I suspect. -------------------- 32 of 5000 -------------------- max-live: 524,328 in 1 blocks tot-alloc: 524,328 in 1 blocks (avg size 524328.00) deaths: 1, at avg age 15,015,989,851 acc-ratios: 0.00 rd, 0.00 wr (192 b-read, 825 b-written) at 0x4C27ECA: operator new(unsigned long) (vg_replace_malloc.c:261) by 0x661D01D: js::InitJIT(js::TraceMonitor*) (jstracer.cpp:7807) by 0x651FBEB: JSThreadData::init() (jscntxt.cpp:497) by 0x652049D: js_CurrentThread(JSRuntime*) (jscntxt.cpp:588) by 0x652085C: js_InitContextThread(JSContext*) (jscntxt.cpp:659)
Created attachment 488593 [details] [diff] [review] remove reTempAlloc
Comment on attachment 488593 [details] [diff] [review] remove reTempAlloc Nice find!
As per today's meeting, beta 9 will be a time-based release. Marking these all betaN+. Please move it back to beta9+ if you believe it MUST be in the next beta (ie: trunk is in an unshippable state without this)