Lines Matching refs:to

15     License along with this library; if not, write to the Free Software
20 Lambda-lifting. If every call point to a function can be identified we can
31 empty closures have been code-generated to constants.
53 by setting the "use" or any bindings or recursive uses that require a closure to
57 (* An entry for each local binding. Set to true if we find a non-call reference. *)
69 (* A call of a function. We don't need to mark the function as needing a closure. *)
77 (* We want to add [UseGeneral] to bindings that require closures. To do that
78 we have to process the bindings in reverse order. *)
173 (* If this has been lifted we have to add the extra arguments.
189 (* We have a call to a lambda. This must be a recursive function otherwise it
203 (* A load of a binding outside a call. We need to process this to
212 This can't be lambda-lifted but we still need to
222 (* We can lambda-lift. This results in a constant which is added to
248 (* Add the code of the functions to the array. *)
277 (* Lambdas that are not to be lifted. They may still have functions inside that can
278 be lifted. They may also refer to functions that have been lifted. *)
280 (* We have to rebuild the closure. If any of the closure entries were lifted
281 functions they are now constants but their arguments have to be added to
288 (* If the function is a local we have to add it to the closure.
291 have to add the arguments to the closure. *)
321 so not need to be included in the arguments, but the additional
322 arguments for that function may need to be added to the closure.
324 If we have references to mutually recursive functions we actually
327 but that is allowed if the references are only to other functions
330 (* We need to construct a new common closure. This will be used by all
337 (* If the function is a local we have to add it to the closure.
340 have to add the arguments to the closure. *)
360 (* If it's a local we have to check that it's not one of our
361 mutually recursive set. These items aren't going to be
381 (* References to other functions in the set are added to a
386 (* We have a reference to the (old) closure item. We need to change that
387 to return the appropriate argument. The exception is that if we
388 have a (recursive) reference to another function in the set we
433 code-generator to the code of each function and will become the
443 (* Turn this into a lambda to code-generate. *)