Mercurial > projects > ddmd
view dmd/InlineCostState.d @ 165:25ede4f66bda
Temporarily disabled GC (again) because phobos fails to compile with it (looks like some ObjSymbols are being falsely collected, see Library.d:666)
Getting rid of global state (i.e global and static variables) to allow running concurrent compilation
author | korDen |
---|---|
date | Thu, 30 Sep 2010 10:04:32 +0400 |
parents | e28b18c23469 |
children |
line wrap: on
line source
module dmd.InlineCostState; import dmd.common; import dmd.FuncDeclaration; import dmd.Expression; struct InlineCostState { int nested; int hasthis; int hdrscan; // !=0 if inline scan for 'header' content FuncDeclaration fd; } const int COST_MAX = 250; int arrayInlineCost(InlineCostState* ics, Expressions arguments) { int cost = 0; if (arguments) { foreach (e; arguments) { if (e) cost += e.inlineCost(ics); } } return cost; }