Open Bug 556324 Opened 12 years ago Updated 8 years ago

Encapsulate the GC heap (js::GCHeap)

Categories

(Core :: JavaScript Engine, defect)

Other Branch
defect
Not set
normal

Tracking

()

People

(Reporter: jorendorff, Unassigned)

Details

I can (have) lifted out all the js* fields from JSRuntime and made a
new struct JSGCState.  As a result some of the functions in jsgc.cpp
that formerly took a JSRuntime* param can have that slimmed down
to a JSGCState* param.  Is this a plausible starting point, or did
you mean something entirely different?
Just for completeness the description from the Wiki:
Factor GC-related code into a class, js::GCHeap (bug 556324). Carve out a second class, GCSubheap, so that a single GCHeap can have several GCSubheaps, each of which handles its own set of VM pages from which individual GC things may be allocated. Give each compartment its own GCSubheap. Allocate every object, double, and string from the GCSubheap for the compartment where it will live.
Assignee: general → nobody
You need to log in before you can comment on or make changes to this bug.