Open Bug 1451800 Opened 6 years ago Updated 1 day ago

[meta] Record Execution Traces

Categories

(Core :: JavaScript Engine, enhancement, P5)

enhancement

Tracking

()

People

(Reporter: nbp, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: meta)

Currently we are able to save memory by avoiding the compilation of unused branches. Recording execution traces instead of block-counters will reduce the amount of memory needed to keep for each block, while providing better profile information for inlining generators and async functions in the future.

The main idea is to replace the code coverage counters by a buffer in which we constantly append the pc of the branches. Another task can then be scheduled to process finished buffers and summarize these as needed for the consumers, i.e. counters for code coverage, traces for debugging, and branch-prediction & call-graph and call sequences for IonMonkey inlining.

This should also save memory when the coverage counters are not needed as we will only keep the branch prediction information needed for IonMonkey compilation.
As mentioned before, I'm worried about both perf and memory overhead. We shouldn't land anything until we can show it's a real improvement on things we care about.
Summary: Record Execution Traces → [meta] Record Execution Traces
Severity: normal → S3

The meta keyword is there, the bug doesn't depend on other bugs and there is no activity for 12 months.
:nbp, maybe it's time to close this bug?

Flags: needinfo?(nicolas.b.pierron)
Assignee: nicolas.b.pierron → nobody
Severity: S3 → N/A
Status: ASSIGNED → NEW
Flags: needinfo?(nicolas.b.pierron)
Priority: P2 → P5
No longer blocks: sm-meta
You need to log in before you can comment on or make changes to this bug.