638
edits
| Line 50: | Line 50: | ||
Integrate SpiderMonkey more closely with MMgc. | Integrate SpiderMonkey more closely with MMgc. | ||
* Get rid of js_GetGCThingFlags. (Ed maybe) | |||
* Get rid of js_GetGCThingFlags. | |||
** The type bits: move to an MMgc page-level type tag. (Note: The cycle collector sneakily uses these, in <tt>nsXPConnect.cpp</tt>; it will be changed.) | ** The type bits: move to an MMgc page-level type tag. (Note: The cycle collector sneakily uses these, in <tt>nsXPConnect.cpp</tt>; it will be changed.) | ||
** The <code>GCF_LOCK</code> bit: mainly replaced by allowing MMgc to scan <code>rt->gcLocksHash</code>. There is also a string optimization that uses this bit. It's yet to be determined what to do about that. | ** The <code>GCF_LOCK</code> bit: mainly replaced by allowing MMgc to scan <code>rt->gcLocksHash</code>. There is also a string optimization that uses this bit. It's yet to be determined what to do about that. | ||
** The <code>GCF_MUTABLE</code> bit: move into <code>JSString</code>. | ** The <code>GCF_MUTABLE</code> bit: move into <code>JSString</code>. (A patch against CVS trunk exists for this.) | ||
** The <code>GCF_SYSTEM</code> bit: To be determined. | ** The <code>GCF_SYSTEM</code> bit: To be determined. | ||
* Drop weak roots, newborns, and local root scopes (if they're not already gone in stage 0). These will be replaced by MMgc's conservative stack scanning. | * Drop weak roots, newborns, and local root scopes (if they're not already gone in stage 0). These will be replaced by MMgc's conservative stack scanning. (Ed has a patch for this already.) | ||
edits