Closed Bug 1575370 Opened 5 months ago Closed 4 months ago

Implement XDRAtom deduplication

Categories

(Core :: JavaScript Engine, task, P1)

task

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox69 --- wontfix
firefox70 --- wontfix
firefox71 --- fixed

People

(Reporter: caroline, Assigned: caroline)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Implementation of atom deduplication in XDR using a hashmap that, lives in XDRIncrementalEncoder, in XDRAtom to compare already existing atoms with what would have previously been written straight to the XDRBuffer. Instead the new atoms will be written to a separate buffer containing only unique atoms. Every atom will map to an index and in the bytecode this index will be written out.

Inside the XDRBuffer the separate atom buffer will be written for decoding first, before the rest of the bytecode, to build up an atom table for the rest of the bytecode to use to decode its atoms. The bytecode, when an atom index is seen, will look into the decoded atom table using that same index and retrieve the original atom. Thus, removing the need to have the same atom written to the XDRBuffer multiple times.

Blocks: 1573643

Can you please move this to the correct component? I don't think Microsoft COM is applicable here. Thanks!

Flags: needinfo?(ccullen)
Component: IPC: MSCOM → JavaScript Engine
Flags: needinfo?(ccullen)
Attachment #9091944 - Attachment description: Bug 1575370 - Deduplicates atoms in xdr buffer. r=iain → Bug 1575370 - Deduplicate atoms in xdr buffer. r=iain
Status: NEW → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Pushed by iireland@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/82ccb8ce8688
Deduplicate atoms in xdr buffer. r=iain
Status: REOPENED → RESOLVED
Closed: 4 months ago4 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
Regressions: 1584820
Regressions: 1585158
You need to log in before you can comment on or make changes to this bug.