Mercurial > projects > ddmd
view dmd/InlineCostState.d @ 191:52188e7e3fb5
Fixed deprecated features, now compiles with DMD2.058
Also changed Array allocation policy:
Now doesn't reallocate but malloc's, followed by a memcpy (no free).
(this fixes a crash while compiling druntime. Same bug in dmd)
author | korDen@korDen-pc |
---|---|
date | Sun, 25 Mar 2012 03:11:12 +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; }