On Tue, Dec 11, 2012 at 1:11 PM, Terrence Cole <tc...@mozilla.com> wrote: > I'm hoping Nicolas, David, or Brian can chime in here with a more > nuanced explanation of how IonBuilder should be interacting with the GC: > I'm not an expert in this area of code.
My opinion is that we should never GC during analysis or compilation. As Nicolas says, almost all allocation that happens during these phases is of temporary objects, which generally come from a LifoAlloc. If we run out of memory allocating these the compilation will just fail (maybe crash). There are a puny number of GC things allocated for things like template objects. If allocation of these failed similarly the compilation would just fail rather than doing a GC and pulling in all the logic and bugs that properly rooting the compilation against GC entails. I filed bug 772820 for this some time back, and now that gc::AutoSuppressGC exists I think that bug could be done as a one liner. Brian _______________________________________________ dev-tech-js-engine-internals mailing list dev-tech-js-engine-internals@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals