42 lines
1.3 KiB
C
42 lines
1.3 KiB
C
/* I N L I N E S U B S T I T U T I O N
|
|
*
|
|
* I L 3 _ C H A N G E . C
|
|
*/
|
|
|
|
|
|
extern chg_callseq(); /* (call_p c; line_p cal, *l_out)
|
|
* Change the calling sequence of
|
|
* the call c. The parameters are
|
|
* changed and the sequence
|
|
* CAL - ASP - LFR is removed.
|
|
* cal points to the CAL instruction
|
|
* l_out indicates where the expanded
|
|
* text of the called routine must
|
|
* be put.
|
|
*/
|
|
extern line_p make_label(); /* (line_p l; proc_p p)
|
|
* Make sure that the instruction after
|
|
* l contains a label. If this is not
|
|
* already the case, create a new label.
|
|
*/
|
|
extern modify(); /* (line_p text; call_p c; line_p lab;
|
|
* offset ab_off, lb_off; int lab_off)
|
|
* Modify the EM text of the called
|
|
* procedure.
|
|
*/
|
|
extern mod_actuals(); /* (call_p nc,c; line_p lab;
|
|
* offset ab_off, lb_off; int lab_off)
|
|
* Modify the actual parameters of the
|
|
* call nc the same way as the text of
|
|
* call c would be modified.
|
|
*/
|
|
extern insert(); /* (line_p text,l,firstline)
|
|
* Insert the modified EM text.
|
|
* Pseudos are put after the pseudos
|
|
* of the caller.
|
|
*/
|
|
extern liquidate(); /* (proc_p p; line_p text)
|
|
* All calls to p were expanded in line,
|
|
* so p is no longer needed.
|
|
*/
|