Closed Bug 1533448 Opened 1 year ago Closed 1 year ago

Create a shared-memory-friendly version of gfxSparseBitSet to store font character coverage

Categories

(Core :: Layout: Text and Fonts, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla68
Fission Milestone M2
Tracking Status
firefox68 --- fixed

People

(Reporter: jfkthame, Assigned: jfkthame)

References

Details

Attachments

(1 file)

gfxSparseBitSet is not suited to storing in shared memory, because of its use of nsTArray<> members. For the cross-process font list, we want to store character coverage data in the shared memory, so it will be useful to have an object like gfxSparseBitSet, but designed to be usable regardless of the address where it is mapped.

For simplicity, the SharedBitSet introduced here will be frozen once initialized, unlike gfxSharedBitSet which can be updated with set()/clear() operations. The intention is to use gfxSharedBitSet as an accumulator while reading the character coverage info for a font (as we currently do), and then "snapshot" the result into a frozen SharedBitSet for storage in the shared font list.

(This is migrated from patch 8 in bug 1514869.)

There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:jfkthame, could you have a look please?

Flags: needinfo?(jfkthame)
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/cfbec1b8ef40
Provide a version of gfxSparseBitSet that is better suited to shared-memory use. r=jwatt
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Flags: needinfo?(jfkthame)
Fission Milestone: ? → M2
You need to log in before you can comment on or make changes to this bug.