Closed
Bug 639729
Opened 14 years ago
Closed 14 years ago
inline GC mark path
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: gal, Assigned: gal)
References
Details
(Whiteboard: fixed-in-tracemonkey)
Attachments
(1 file)
5.08 KB,
patch
|
billm
:
review+
|
Details | Diff | Splinter Review |
No description provided.
Assignee | ||
Comment 1•14 years ago
|
||
Assignee: general → gal
Assignee | ||
Comment 2•14 years ago
|
||
This inlines the GC mark path. A single call out is made if the slots are > 0 and we have to mark them. Many objects have no own slots, so we win a bit.
Assignee | ||
Updated•14 years ago
|
Attachment #517635 -
Flags: review?(wmccloskey)
Assignee | ||
Updated•14 years ago
|
Assignee | ||
Comment 3•14 years ago
|
||
A couple of the dependencies aren't landed yet, so this probably has to wait a day or two.
Assignee | ||
Comment 4•14 years ago
|
||
The assert meant to be span <= slots of course. Sorry for that.
Assignee | ||
Comment 5•14 years ago
|
||
Test case:
var prev = null;
for (var i = 0; i < 1000000; ++i) {
var next = ({});
next.prev = prev;
prev = next;
}
var t = Date.now();
for (var i = 0; i < 100; ++i)
gc();
print(Date.now() - t);
Without any of the dependencies above and this patch applied:
kahoolawe:src gal$ ./Darwin_OPT.OBJ/js x.js
5719
kahoolawe:src gal$ ./Darwin_OPT.OBJ/js x.js
5751
With all of the dependencies and this patch applied:
kahoolawe:src gal$ ./Darwin_OPT.OBJ/js x.js
4690
kahoolawe:src gal$ ./Darwin_OPT.OBJ/js x.js
4735
The speedup is around 22%.
To quote Hannibal, I love it when a plan comes together.
Comment 6•14 years ago
|
||
Does this get a speedup on Windows, too? I would think PGO would totally do this.
Comment on attachment 517635 [details] [diff] [review]
patch
Great!
Attachment #517635 -
Flags: review?(wmccloskey) → review+
Assignee | ||
Comment 8•14 years ago
|
||
Whiteboard: fixed-in-tracemonkey
Assignee | ||
Comment 9•14 years ago
|
||
Follow-up fix.
http://hg.mozilla.org/tracemonkey/rev/bb2bd286ef22
Comment 10•14 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/518b607a06cd
http://hg.mozilla.org/mozilla-central/rev/bb2bd286ef22
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•