1994-06-24 11:31:16 +00:00
|
|
|
/* $Id$ */
|
1987-03-09 19:15:41 +00:00
|
|
|
/*
|
|
|
|
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
|
|
|
* See the copyright notice in the ACK home directory, in the file "Copyright".
|
|
|
|
*/
|
1984-11-26 14:14:55 +00:00
|
|
|
/* 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
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
2019-10-31 22:05:22 +00:00
|
|
|
void chg_callseq(call_p c, line_p cal, line_p *l_out);
|
|
|
|
/*
|
1984-11-26 14:14:55 +00:00
|
|
|
* 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.
|
|
|
|
*/
|
2019-10-31 22:05:22 +00:00
|
|
|
line_p make_label(line_p l, proc_p p);
|
|
|
|
/*
|
1984-11-26 14:14:55 +00:00
|
|
|
* Make sure that the instruction after
|
|
|
|
* l contains a label. If this is not
|
|
|
|
* already the case, create a new label.
|
|
|
|
*/
|
2019-10-31 22:05:22 +00:00
|
|
|
void modify(line_p text, call_p c, line_p lab, offset ab_off,
|
|
|
|
offset lb_off, int lab_off);
|
|
|
|
/*
|
1984-11-26 14:14:55 +00:00
|
|
|
* Modify the EM text of the called
|
|
|
|
* procedure.
|
|
|
|
*/
|
2019-10-31 22:05:22 +00:00
|
|
|
void mod_actuals(call_p nc, call_p c, line_p lab, offset ab_off,
|
|
|
|
offset lb_off, int lab_off);
|
|
|
|
/*
|
1984-11-26 14:14:55 +00:00
|
|
|
* Modify the actual parameters of the
|
|
|
|
* call nc the same way as the text of
|
|
|
|
* call c would be modified.
|
|
|
|
*/
|
2019-10-31 22:05:22 +00:00
|
|
|
void insert(line_p text, line_p l, line_p firstline);
|
|
|
|
/*
|
1984-11-26 14:14:55 +00:00
|
|
|
* Insert the modified EM text.
|
|
|
|
* Pseudos are put after the pseudos
|
|
|
|
* of the caller.
|
|
|
|
*/
|
2019-10-31 22:05:22 +00:00
|
|
|
void liquidate(proc_p p, line_p text);
|
|
|
|
/*
|
1984-11-26 14:14:55 +00:00
|
|
|
* All calls to p were expanded in line,
|
|
|
|
* so p is no longer needed.
|
|
|
|
*/
|