Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
dmd.inlinecost
Compute the cost of inlining a function call by counting expressions.
Authors:
License:
Source inlinecost.d
Documentation https://dlang.org/phobos/dmd_inlinecost.html
- pure nothrow @safe bool
tooCostly
(intcost
); - Determine if too expensive to inline.Parameters:
int cost
cost of inlining Returns:true if too costly - int
inlineCostExpression
(Expressione
); - Determine cost of inlining ExpressionParameters:
Expression e
Expression to determine cost of Returns:cost of inlining e - int
inlineCostFunction
(FuncDeclarationfd
, boolhasthis
, boolhdrscan
); - Determine cost of inlining functionParameters:
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
(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:
DeclarationExp e
the declaration expression that may represent an aggregate. Returns:null ife
is not an aggregate or if it is an aggregate that doesn't permit inlining, and the aggregate otherwise.
Copyright © 1999-2024 by the D Language Foundation | Page generated by
Ddoc on Sun Nov 17 01:06:38 2024