| class CHANGE_VARS |
|---|
| **** | The routine's parameters and local variables. |
| attr init_parms,init_hot,init_nonhot:$AM_STMT; |
|---|
| attr init_parms,init_hot,init_nonhot:$AM_STMT; |
|---|
| attr init_parms,init_hot,init_nonhot:$AM_STMT; |
|---|
| attr init_vars:$AM_STMT; |
|---|
| **** | Variables in the routine -> variables in the saved routine. |
| attr new_subst:FMAP{AM_LOCAL_EXPR,AM_LOCAL_EXPR}; |
|---|
| attr new_vars:FLIST{AM_LOCAL_EXPR}; |
|---|
| **** | Variables in the saved routine -> variables in the new routine. |
| attr pind_hot,pind_nonhot:ARRAY{INT}; |
|---|
| attr pind_hot,pind_nonhot:ARRAY{INT}; |
|---|
| attr saved_subst:FMAP{AM_LOCAL_EXPR,AM_LOCAL_EXPR}; |
|---|
| **** | New routine's parameters and local variables. |
| attr saved_vars:FLIST{AM_LOCAL_EXPR}; |
|---|
| **** | Statements parm1:=void; on instantiation become parm1:=arg1. One list for routines, and two for iterators. Also, for iterators lists of indices of hot and non-hot parameters. Also, a list of initialization statements for variables that need them. |
| after_one_use |
|---|
| after_saving |
|---|
| create (rout:AM_ROUT_DEF):SAME |
|---|
| new_copy (source:SFILE_ID) |
|---|
| attr init_parms,init_hot,init_nonhot:$AM_STMT; |
|---|
| attr init_parms,init_hot,init_nonhot:$AM_STMT; |
|---|
| attr init_parms,init_hot,init_nonhot:$AM_STMT; |
|---|
| attr init_vars:$AM_STMT; |
|---|
| **** | Variables in the routine -> variables in the saved routine. |
| attr new_subst:FMAP{AM_LOCAL_EXPR,AM_LOCAL_EXPR}; |
|---|
| attr new_vars:FLIST{AM_LOCAL_EXPR}; |
|---|
| **** | Variables in the saved routine -> variables in the new routine. |
| attr pind_hot,pind_nonhot:ARRAY{INT}; |
|---|
| attr pind_hot,pind_nonhot:ARRAY{INT}; |
|---|
| attr saved_subst:FMAP{AM_LOCAL_EXPR,AM_LOCAL_EXPR}; |
|---|
| **** | New routine's parameters and local variables. |
| attr saved_vars:FLIST{AM_LOCAL_EXPR}; |
|---|
| **** | Statements parm1:=void; on instantiation become parm1:=arg1. One list for routines, and two for iterators. Also, for iterators lists of indices of hot and non-hot parameters. Also, a list of initialization statements for variables that need them. |