W3cubDocs

/D

dmd.inlinecost

Compiler implementation of the D programming language.

Authors:
Walter Bright
License:
Boost License 1.0
Source
inlinecost.d
Documentation
https://dlang.org/phobos/dmd_inlinecost.html
Coverage
https://codecov.io/gh/dlang/dmd/src/master/src/dmd/inlinecost.d
pure nothrow bool tooCostly(int cost);

Determine if too expensive to inline.

Parameters:
int cost cost of inlining
Returns:
true if too costly
int inlineCostExpression(Expression e);

Determine cost of inlining Expression

Parameters:
Expression e Expression to determine cost of
Returns:
cost of inlining e
int inlineCostFunction(FuncDeclaration fd, bool hasthis, bool hdrscan);

Determine cost of inlining function

Parameters:
FuncDeclaration fd function to determine cost of
bool hasthis if the function call has explicit 'this' expression
bool hdrscan if generating a header file
Returns:
cost of inlining fd
AggregateDeclaration isInlinableNestedAggregate(DeclarationExp e);

Indicates if a nested aggregate prevents or not a function to be inlined. It's used to compute the cost but also to avoid a copy of the aggregate while the inliner processes.

Parameters:
DeclarationExp e the declaration expression that may represent an aggregate.
Returns:
null if e is not an aggregate or if it is an aggregate that doesn't permit inlining, and the aggregate otherwise.

© 1999–2019 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/dmd_inlinecost.html