Closed
Bug 702681
Opened 14 years ago
Closed 14 years ago
Do not walk both ChunkSet and the internal chunk list
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla11
People
(Reporter: terrence, Assigned: terrence)
Details
Attachments
(1 file, 1 obsolete file)
|
3.03 KB,
patch
|
Details | Diff | Splinter Review |
In DecommitFreePages we iterate over the runtime's ChunkSet and inside that walk over the list in the chunk info header. The chunk set contains all chunks, so we can ignore the internal list.
| Assignee | ||
Comment 1•14 years ago
|
||
Attachment #574622 -
Flags: review?(igor)
| Assignee | ||
Updated•14 years ago
|
Status: NEW → ASSIGNED
Comment 2•14 years ago
|
||
Comment on attachment 574622 [details] [diff] [review]
v1: trivail
Review of attachment 574622 [details] [diff] [review]:
-----------------------------------------------------------------
r+ with the comments addressed.
::: js/src/jsgc.cpp
@@ +2399,5 @@
> JSRuntime *rt = cx->runtime;
>
> for (GCChunkSet::Range r(rt->gcChunkSet.all()); !r.empty(); r.popFront()) {
> Chunk *chunk = r.front();
> + ArenaHeader *aheader = static_cast<ArenaHeader*>(chunk->info.freeArenasHead);
Drop the cast - freeArenasHead is ArenaHeader *
@@ +2421,3 @@
> }
>
> + size_t arenaOffset = Chunk::arenaIndex(reinterpret_cast<uintptr_t>(aheader));
Call the variable arenaIndex for consistency with the rest of code and use aheader->arenaAddress(), not the cast here.
Attachment #574622 -
Flags: review?(igor) → review+
| Assignee | ||
Comment 3•14 years ago
|
||
Attachment #574622 -
Attachment is obsolete: true
| Assignee | ||
Comment 4•14 years ago
|
||
Comment 5•14 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla11
You need to log in
before you can comment on or make changes to this bug.
Description
•