Closed
Bug 863795
Opened 12 years ago
Closed 12 years ago
Remove duplicates from the store buffer when compacting
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla23
People
(Reporter: terrence, Assigned: terrence)
References
Details
Attachments
(1 file)
3.00 KB,
patch
|
billm
:
review+
|
Details | Diff | Splinter Review |
Brian's research in Bug 851057 found that removing duplicates before marking improved the performance of the object buffer. This patch implements this logic on the base store buffer class and performs this pass for all store buffers.
In practice, we will probably want to specialize |compact()| for each edge type and only run the compaction algorithms that are most relevant for each type. Alternatively, we may want to remove the current notInSet compaction by simply checking this condition at every store buffer insertion. These will require profiling, so I am leaving them for a separate pass.
Attachment #739682 -
Flags: review?(wmccloskey)
Attachment #739682 -
Flags: feedback?(bhackett1024)
Comment on attachment 739682 [details] [diff] [review]
v0
Review of attachment 739682 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/gc/StoreBuffer.cpp
@@ +101,5 @@
> template <typename T>
> void
> +StoreBuffer::MonoTypeBuffer<T>::compactRemoveDuplicates()
> +{
> + JS_ASSERT(duplicates.count() == 0);
duplicates.empty()
Attachment #739682 -
Flags: review?(wmccloskey) → review+
Assignee | ||
Comment 2•12 years ago
|
||
Green try run at:
https://tbpl.mozilla.org/?tree=Try&rev=0ccf9f11d4d9
Pushed at:
https://hg.mozilla.org/integration/mozilla-inbound/rev/36ed827e43af
Comment 3•12 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla23
Assignee | ||
Updated•12 years ago
|
Attachment #739682 -
Flags: feedback?(bhackett1024)
You need to log in
before you can comment on or make changes to this bug.
Description
•