Closed Bug 506243 Opened 15 years ago Closed 15 years ago

eliminate GC thread-local lists pools

Categories

(Core :: JavaScript Engine, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: igor, Assigned: igor)

References

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file)

Pooling of thread-local GC free-lists was added in bug 378918 to workaround bugs with thread-sharing between different domains. With runtime-private JSThread this is no longer an issue and free list pools just adds complexity to the GC. We should remove this.
Flags: wanted1.9.2?
Attached patch v1Splinter Review
The patch effectively reverts the essence of thread-local free lists allocation to the state that was before bug 378918.
Attachment #390500 - Flags: review?(brendan)
Comment on attachment 390500 [details] [diff] [review]
v1

>@@ -1938,35 +1861,29 @@ NewGCThing(JSContext *cx, uintN flags)
...
>+            if (rt->gcMallocBytes >= rt->gcMaxMallocBytes || freeList)

Transpose these || terms as the freeList non-null condition will be more likely true.

>@@ -2014,25 +1931,19 @@ testReservedObjects:
...
>+        if (rt->gcMallocBytes >= rt->gcMaxMallocBytes || freeList)

Ditto.

r=me with that.

/be
Attachment #390500 - Flags: review?(brendan) → review+
landed with nits addressed - http://hg.mozilla.org/tracemonkey/rev/44ec2dd12fd2
Whiteboard: fixed-in-tracemonkey
http://hg.mozilla.org/mozilla-central/rev/44ec2dd12fd2
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Flags: wanted1.9.2?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: