Open Bug 1698095 Opened 4 years ago Updated 4 years ago

Consider preserving a LifoAlloc chunk for common delazification stencil case

Categories

(Core :: JavaScript Engine, task, P2)

task

Tracking

()

People

(Reporter: tcampbell, Unassigned)

References

(Blocks 1 open bug)

Details

While delazifying (to Stencil), we currently will always allocate at least one chunk in ExtensibleCompilationState allocator. This may be quite short lived so we should investigate avoiding this in the common case.

One means might be to have a LifoAlloc on the main-thread cx similar to the tempLifoAlloc, but generally keep no more than one (512B) chunk alive. During delazification, we could std::swap it into the CompilationState. At the end of delazification, if the stencil is long-lived we just keep the chunks like today, but if it is short-lived, we can offer a single chunk back to this cx-based LifoAlloc. In practice, this should remove the last short-lived system allocation in the delazification code.

You need to log in before you can comment on or make changes to this bug.