Closed
Bug 915482
Opened 12 years ago
Closed 12 years ago
Gut gc/Barrier-inl.h
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla26
People
(Reporter: n.nethercote, Assigned: n.nethercote)
Details
(Whiteboard: [js:t])
Attachments
(4 files)
|
11.69 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
|
6.97 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
|
32.23 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
|
4.03 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
I have three patches that, when applied, leave gc/Barrier-inl.h with a mere three methods and 41 lines of code.
| Assignee | ||
Comment 1•12 years ago
|
||
If you, as I was, are worried about the performance of EncapsulatedId::pre()
now that it contains a call -- via ShadowZoneOfObject() -- to the uninlined
ZoneOfObject(), fear not: Cachegrind tells me that this patch makes us
execute 1.00003x *fewer* instructions on SunSpider. Perhaps it's because
~EncapsulatedId() is now inlined when previously it wasn't.
Attachment #803445 -
Flags: review?(terrence)
| Assignee | ||
Comment 2•12 years ago
|
||
Attachment #803450 -
Flags: review?(terrence)
| Assignee | ||
Comment 3•12 years ago
|
||
Attachment #803451 -
Flags: review?(terrence)
| Assignee | ||
Comment 4•12 years ago
|
||
Attachment #803452 -
Flags: review?(terrence)
Comment 5•12 years ago
|
||
Comment on attachment 803445 [details] [diff] [review]
(part 1) - Move most of gc/Barrier-inl.h into gc/Barrier.h.
Review of attachment 803445 [details] [diff] [review]:
-----------------------------------------------------------------
Nice. r=me
Attachment #803445 -
Flags: review?(terrence) → review+
Comment 6•12 years ago
|
||
Comment on attachment 803450 [details] [diff] [review]
(part 2) - Minimize gc/Barrier-inl.h includes.
Review of attachment 803450 [details] [diff] [review]:
-----------------------------------------------------------------
r=me
Attachment #803450 -
Flags: review?(terrence) → review+
Comment 7•12 years ago
|
||
Comment on attachment 803451 [details] [diff] [review]
(part 3) - Move some functions out of vm/Shape-inl.h, jsfuninlines.h and jsinferinlines.h.
Review of attachment 803451 [details] [diff] [review]:
-----------------------------------------------------------------
r=me
::: js/src/vm/Shape.h
@@ +979,5 @@
> Shape ***pspp, bool adding = false);
> static inline Shape *searchNoHashify(Shape *start, jsid id);
>
> +#ifdef DEBUG
> + bool preconditionForRemoveFromDictionary(ObjectImpl *obj);
Frankly, I'd be shocked -- and more than a little appalled -- if having dictionary mode shape management inlined is critical to our performance. I think you should just out-of-line all of the dictionary-mode shape management.
Attachment #803451 -
Flags: review?(terrence) → review+
Comment 8•12 years ago
|
||
Comment on attachment 803452 [details] [diff] [review]
(part 4) - Minimize vm/Shape-inl.h includes.
Review of attachment 803452 [details] [diff] [review]:
-----------------------------------------------------------------
r=me
Attachment #803452 -
Flags: review?(terrence) → review+
| Assignee | ||
Comment 9•12 years ago
|
||
| Assignee | ||
Comment 10•12 years ago
|
||
Whiteboard: [js:t] → [js:t][leave open]
Comment 11•12 years ago
|
||
| Assignee | ||
Comment 12•12 years ago
|
||
Comment 13•12 years ago
|
||
Flags: in-testsuite+
| Assignee | ||
Comment 14•12 years ago
|
||
Whiteboard: [js:t][leave open] → [js:t]
Comment 15•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/ffe6e70b0183
https://hg.mozilla.org/mozilla-central/rev/47e05e8df03b
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
You need to log in
before you can comment on or make changes to this bug.
Description
•