Open Bug 1814832 Opened 3 years ago Updated 7 months ago

Consider using a log-based mechanism for write barriers

Categories

(Core :: JavaScript: GC, task, P3)

task

Tracking

()

People

(Reporter: jandem, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [sp3])

Write barriers in JIT code have some overhead, especially if we need to call into C++ repeatedly like in the profile in bug 1814796.

It might make sense to instead append entries to a buffer from JIT code. We can then process these entries all at once in C++ when the buffer is full or when we GC. This would also let us do some simple coalescing while processing the log (when we see multiple entries for the same object).

Improving this is a good idea. As a first step before rewriting the whole cell buffer we can try putting a single element cache in front of it, and checking that from JIT code before calling into the interpreter.

Severity: -- → N/A
Priority: -- → P3
Whiteboard: [sp3]

Is this something that will get unblocked by the ongoing work in bug 1911537 and co ?

See Also: → 1980910
You need to log in before you can comment on or make changes to this bug.