英語版
このページの英語版を見る

dmd.inlinecost

式を数えることによって関数呼び出しをインライン化するコストを計算する。
Authors:

ソース inlinecost.d

pure nothrow @safe bool tooCostly(int cost);
インライン化するには高すぎるかどうかを判断する。
Parameters:
int cost インライン化のコスト
Returns:
コストがかかりすぎる場合は真
int inlineCostExpression(Expression e);
インライン化のコストを決定する Expression
Parameters:
Expression e のコストを決定する式。
Returns:
インライン化のコスト e
int inlineCostFunction(FuncDeclaration fd, bool hasthis, bool hdrscan);
関数のインライン化のコストを決定する。
Parameters:
FuncDeclaration fd のコストを決定する関数である。
bool hasthis 関数呼び出しに明示的な "this"表現がある場合。
bool hdrscan ヘッダーファイルを生成する場合
Returns:
インライン化のコスト fd
AggregateDeclaration isInlinableNestedAggregate(DeclarationExp e);
ネストされた集約がインライン化を妨げるか否かを示す。 コストを計算するために使用されるが、インライナーが処理する間、集約のコピーを回避するためにも使用される。 のコピーを避けるためでもある。
Parameters:
DeclarationExp e 集約を表す宣言式。
Returns:
null もし eが集約でない場合、またはそれが集約で の場合はインライン化を許可せず、それ以外の場合は集約を許可する。