Closed Bug 1288715 Opened 4 years ago Closed 4 years ago

Refactor SharedScriptData

Categories

(Core :: JavaScript Engine, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla51
Tracking Status
firefox51 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

Details

Attachments

(1 file)

In preparation for possibly changing the way we sweep shared script data, I did some refactoring.

The patch makes it so there is a single pointer from a JSScript to a SharedScriptData and removes some duplicated state between the two.

It changes the data layout so that atoms are stored first in the SharedScriptData.  This means that we don't need padding which makes the allocation simpler.

And also a bunch of other tidy-up.
Attachment #8773722 - Flags: review?(till)
Comment on attachment 8773722 [details] [diff] [review]
refactor-shared-script-data

Review of attachment 8773722 [details] [diff] [review]:
-----------------------------------------------------------------

This looks so much nicer and cleaner.

::: js/src/jsscript.cpp
@@ +2410,5 @@
>                             uint32_t srcnotesLength, uint32_t natoms)
>  {
>      /*
>       * Ensure the atoms are aligned, as some architectures don't allow unaligned
>       * access.

Do we still need this comment? With atoms coming first, it seems self-evident that this holds.
Attachment #8773722 - Flags: review?(till) → review+
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a68a478c299d
Refactor SharedScriptData to prepare for making it refcounted r=till
https://hg.mozilla.org/mozilla-central/rev/a68a478c299d
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
Depends on: 1298639
You need to log in before you can comment on or make changes to this bug.