dmd.inlinecost
Compute the cost of inlining a function call by counting expressions.
License
Source: inlinecost.d
Documentation: https://dlang.org/phobos/dmd_inlinecost.html
-
Declaration
pure nothrow booltooCostly(intcost);Determine if too expensive to inline.
Parameters
intcostcostof inliningReturn Value
trueif too costly -
Declaration
intinlineCostExpression(Expressione);Determine cost of inlining Expression
Parameters
ExpressioneExpression to determine cost of
Return Value
cost of inlining
e -
Declaration
intinlineCostFunction(FuncDeclarationfd, boolhasthis, boolhdrscan);Determine cost of inlining function
Parameters
FuncDeclarationfdfunction to determine cost of
boolhasthisif the function call has explicit 'this' expression
boolhdrscanif generating a header file
Return Value
cost of inlining
fd -
Declaration
AggregateDeclarationisInlinableNestedAggregate(DeclarationExpe);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
DeclarationExpethe declaration expression that may represent an aggregate.
Return Value
nullifis not an aggregate or if it is an aggregate that doesn't permit inlining, and the aggregate otherwise.e