Closed Bug 636558 Opened 13 years ago Closed 8 months ago

Reduce OffTheBooks allocation to (nearly) zero.

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: paul.biggar, Unassigned)

References

Details

After bug 634155, there will be 42 OffTheBooks allocations. The GC does not know about these allocations, and so is unable to factor them into its decisions. We should remove these wherever possible.
There is actually a ton more of these places, literally thousands--outside the JS engine. I think the right thing to do here is to start monitoring overall process memory use.
(In reply to comment #1)
> There is actually a ton more of these places, literally thousands

I don't understand. I thought allocating JS objects etc went through the JSAPI, like using JS_NewObject.
Yes, JS object headers are allocate inside the engine. The embedding can attach megabytes of malloc-ed memory to a JS object though. The JS heap is usually a small part of our total memory profile.
Also, unless the GC incremental rewrite that is ongoing has changed things, the when-to-GC heuristics are touchy and adding more on-the-books accounting can cause SS and other benchmark regressions due to too much GC.

/be
So, retuning will be a wild ride. Definitely do not want for Fx4.

Comment 1 is right and there's even some electrolysis work to build on, IIRC. Cc'ing cjones.

/be
(In reply to comment #1)
> There is actually a ton more of these places, literally thousands--outside the
> JS engine. I think the right thing to do here is to start monitoring overall
> process memory use.

Does this mean adding OffTheBooks was a waste of time?
No, it means it needs more work.
Assignee: general → nobody
Severity: normal → S3
Status: NEW → RESOLVED
Closed: 8 months ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.