Lines Matching refs:function
90 (* A built-in function may be side-effect free. This can
93 inside an inline function and some of the arguments to the
94 function are constants. This then gets converted to
161 a function call. It should never have a side-effect so it might
492 fun evaluateInlining(function, numArgs, maxInlineSize) =
494 (* This checks for the possibility of inlining a function. It sees if it is
496 for recursive uses of the function.
497 Typically if the function is small enough to inline there will be only
518 fun checkUse _ (_, 0, _) = 0 (* The function is too big to inline. *)
539 (* For the moment, any recursive use in an inner function prevents inlining. *)
544 | checkUse true (Eval{function = Extract LoadRecursive, argList, ...}, cl, isTail) =
562 | checkUse isMain (Eval{function, argList, ...}, cl, _) =
563 checkUse isMain (function, List.foldl(fn ((e, _), n) => checkUse isMain (e, n, false)) (cl--2) argList, false)
605 val costLeft = checkUse true (function, maxInlineSize, true)