638
edits
Line 101: | Line 101: | ||
** I would say "unaffected" except that our use of <code>JS_malloc()</code> might end up decreasing so much as to defeat the purpose of this. So maybe we need a new heuristic for <code>JS_MaybeGC()</code>. The only other place gcMallocBytes is directly used is for jsscope.c for changing scope (it allocates space with calloc but treats it as a malloc). Ask Brendan. | ** I would say "unaffected" except that our use of <code>JS_malloc()</code> might end up decreasing so much as to defeat the purpose of this. So maybe we need a new heuristic for <code>JS_MaybeGC()</code>. The only other place gcMallocBytes is directly used is for jsscope.c for changing scope (it allocates space with calloc but treats it as a malloc). Ask Brendan. | ||
** This stage 0 work should not reduce the number of JS_malloc calls (jsgc.c does not call JS_malloc). What reduction were you expecting? /be | ** This stage 0 work should not reduce the number of JS_malloc calls (jsgc.c does not call JS_malloc). What reduction were you expecting? /be | ||
** I'm expecting to use MMgc, rather than <code>JS_malloc</code>, to allocate the character buffers for strings. (This is what Tamarin does. Otherwise, <code>JSString</code> would have to have a finalizer.) -jto | |||
* <code>JS_GCMETER</code>, JSGCStats, js_DumpGCStats - '''*''' | * <code>JS_GCMETER</code>, <code>JSGCStats</code>, <code>js_DumpGCStats</code> - '''*''' | ||
** Gone. | ** Gone. | ||
Line 109: | Line 110: | ||
* <code>JSWeakRoots</code>, <code>JS_CLEAR_WEAK_ROOTS</code> - '''*''' | * <code>JSWeakRoots</code>, <code>JS_CLEAR_WEAK_ROOTS</code> - '''*''' | ||
** These should be removed. /be | ** These should be removed. /be | ||
A few more that don't appear in <tt>jsgc.h</tt>: | |||
* <code>JSRuntime::{gcCallback, gcThingCallback}</code> - '''*''' | |||
** Easiest to implement by modifying MMgc. |
edits