# Functions
AnalyzeFunc computes function properties for fn and its contained closures, updating the global 'fpmap' table.
BudgetExpansion returns the amount to relax/expand the base inlining budget when the new inliner is turned on; the inliner will add the returned value to the hairyness budget.
No description provided by the author
DumpFuncProps computes and caches function properties for the func 'fn', writing out a description of the previously computed set of properties to the file given in 'dumpfile'.
DumpInlCallSiteScores is invoked by the inliner if the debug flag "-d=dumpinlcallsitescores" is set; it dumps out a human-readable summary of all (potentially) inlinable callsites in the package, along with info on call site scoring and the adjustments made to a given score.
No description provided by the author
No description provided by the author
GetCallSiteScore returns the previously calculated score for call within fn.
LargestNegativeScoreAdjustment tries to estimate the largest possible negative score adjustment that could be applied to a call of the function with the specified props.
LargestPositiveScoreAdjustment tries to estimate the largest possible positive score adjustment that could be applied to a given callsite.
ScoreCalls assigns numeric scores to each of the callsites in function 'fn'; the lower the score, the more helpful we think it will be to inline.
ScoreCallsCleanup resets the state of the callsite cache once ScoreCalls is done with a function.
SetupScoreAdjustments interprets the value of the -d=inlscoreadj debugging option, if set.
ShouldFoldIfNameConstant analyzes expression tree 'e' to see whether it contains only combinations of simple references to all of the names in 'names' with selected constants + operators.
TearDown is invoked at the end of the main inlining pass; doing function analysis and call site scoring is unlikely to help a lot after this point, so nil out fpmap and other globals to reclaim storage.
No description provided by the author
UpdateCallsiteTable handles updating of callerfn's call site table after an inlined has been carried out, e.g.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Function always panics or invokes os.Exit() or a func that does likewise.
Parameter value feeds unmodified into a top level "switch" statement or "if" statement simple expressions (see more on "simple" expression classification below).
Parameter value feeds unmodified into a top level indirect function call (assumes parameter is of function type).
Parameter value feeds unmodified into a top-level interface call (this assumes the parameter is of interface type).
Parameter value feeds unmodified into a "switch" or "if" statement simple expressions (see more on "simple" expression classification below), where the if/switch is conditional/nested.
Parameter value feeds unmodified into an indirect function call that is conditional/nested (not guaranteed to execute).
Parameter value feeds unmodified into an interface call that may be conditional/nested and not always executed (this assumes the parameter is of interface type).
No info about this param.
Result is always the same non-composite compile time constant.
Result is always the same function or closure.
Result is always the same (potentially) inlinable function or closure.
This result always contains allocated memory.
This result is always a single concrete type that is implicitly converted to interface.
No info about this result.
# Type aliases
ActualExprPropBits describes a property of an actual expression (value passed to some specific func argument at a call site).
CallSiteTab is a table of call sites, keyed by call expr.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author