Last Comment Bug 738153 - Remove JSScript::inlineData
: Remove JSScript::inlineData
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
-- normal (vote)
: mozilla14
Assigned To: Nicholas Nethercote [:njn]
: Jason Orendorff [:jorendorff]
Depends on:
  Show dependency treegraph
Reported: 2012-03-21 23:06 PDT by Nicholas Nethercote [:njn]
Modified: 2012-03-23 05:54 PDT (History)
3 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

patch (5.07 KB, patch)
2012-03-21 23:06 PDT, Nicholas Nethercote [:njn]
luke: review+
Details | Diff | Splinter Review

Description User image Nicholas Nethercote [:njn] 2012-03-21 23:06:12 PDT
Created attachment 608236 [details] [diff] [review]

AIUI, JSScript::inlineData was added in bug 674251 to avoid a Mac-only regression on a benchmark.  Mac builds now use jemalloc, so that sensitivity shouldn't be a problem any more.

Furthermore, removing inlineData reduces the size of JSScript on 64-bit from 208 bytes to 200 bytes.  With 4064 bytes available for data per arena, this means we can fit 20 JSScripts per arena instead of 19.  (If we halve JSScript size, as has been suggested for CPG, we'll fit 10 instead of 9).

As for the memory savings made by storing the data inline -- only 2 or 3% of all JSScripts are small enough to fit inline.  So the increase in memory consumption from storing tiny scripts out-of-line is negligible compared to the savings from fitting more JSScripts per arena.
Comment 1 User image Luke Wagner [:luke] 2012-03-22 10:48:42 PDT
Comment on attachment 608236 [details] [diff] [review]

Comment 2 User image Nicholas Nethercote [:njn] 2012-03-22 17:13:56 PDT
Comment 3 User image Marco Bonardo [::mak] 2012-03-23 05:54:33 PDT

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