Closed Bug 609905 Opened 9 years ago Closed 9 years ago

reTempAlloc: 512k heap allocation for no purpose


(Core :: JavaScript Engine, defect)

Not set



Tracking Status
blocking2.0 --- betaN+


(Reporter: jseward, Assigned: jseward)



(Whiteboard: fixed-in-tracemonkey)


(1 file)

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)
Attachment #488593 - Flags: review?(nnethercote)
Comment on attachment 488593 [details] [diff] [review]
remove reTempAlloc

Nice find!
Attachment #488593 - Flags: review?(nnethercote) → review+
Keywords: checkin-needed
blocking2.0: --- → beta9+
Assignee: general → jseward
Closed: 9 years ago
Resolution: --- → FIXED
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)
blocking2.0: beta9+ → betaN+
You need to log in before you can comment on or make changes to this bug.