Closed Bug 1626905 Opened 8 months ago Closed 8 months ago

JIT Spew in Backtracking Allocator is always enabled in debug builds


(Core :: JavaScript Engine: JIT, defect, P3)




Tracking Status
firefox76 --- wontfix
firefox77 --- fixed


(Reporter: decoder, Assigned: decoder)



(1 file)

In the backtracking allocator, there are several JitSpew statements that are very costly both in argument evaluation and string allocation. These statements are always on in debug builds, even if we are not logging anything. The number of temporary allocations from these is enough to produce a huge spike in my heap profiling attempts.

After discussing with Jan, we concluded that providing a macro, e.g. JitSpewIfEnabled would be worthwhile and the macro only evaluates the arguments if the particular JitSpew channel is active.

I've made the necessary changes in the backtracking allocator and haven't seen more temporary allocations from other places, so I assume they are simply not stressed enough to make a significant difference (then again, once we have this, we might as well use it everywhere).

Priority: -- → P3
Pushed by
Evaluate JitSpew in BacktrackingAllocator only if required. r=jandem
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77

The patch landed in nightly and beta is affected.
:decoder, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(choller)
Flags: needinfo?(choller)
You need to log in before you can comment on or make changes to this bug.