Table of Contents

Name

fred_inline - inline procedures marked with Fred annotations

Synopsis

fred_inline infile outfile { infile outfile } *

Description

The fred_inline program inlines the bodies of all procedures with proc_syms marked with Fred annotations at all callsites that use such marked proc_syms directly as the address of the procedure called. If the procedure body is not in the current file set, no attempt is made to inline that procedure.

Note that if a procedure marked Fred contains a call to another procedure marked Fred", the order of the inlining matters (i.e. whether the procedure body is inlined with or without the recursive inlining). The fred_inline program goes through the procedure bodies in the order the file sets are listed on the command line, and within a file set in the proc_iter order. It goes sequentially through each procedure body. Note that this guarantees termination and only limited code explosion potential, but it also means that the order of procedures matters. When recursive inlining is desired, the leavesfirst program will order the procedures within a file to make this possible. Note that it may be necessary to run mergesuif before leavesfirst if recursive inlining is desired and the procedures are spread across multiple files. It may also me necessary to move them all into file or all into interfile scope to allow complete freedom to order all procedures relative to one another.

History

This program was written by Chris Wilson.


Table of Contents