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

Reply via email to