| class AM_ROUT_DEF <$AM |
|---|
| **** | The definition of a function representing Sather routines and iters. An array of the argument local variables in order. The first is `self'. |
| $AM | $PROG_ERR | ARRAY{_} | $ARR{_} | $RO_ARR{_} | $CONTAINER{_} | $ELT{_} | $ELT | AREF{_} | AM |
| attr calls:FLIST{$AM_EXPR}; |
|---|
| **** | The calls that occur in the body of this routine or iter. with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr code:$AM_STMT; |
|---|
| **** | Code to execute when called. with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr is_abstract:BOOL; |
|---|
| **** | True for an abstract routine, in this case none of the below are defined. body of this routine or iter. with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr is_attach_routine : BOOL; |
|---|
| **** | ... of an attach |
| attr is_clean:BOOL; |
|---|
| **** | True if known to not affect existing state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr is_external:BOOL; |
|---|
| **** | True if this is an external routine with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr is_fork_routine : BOOL; |
|---|
| **** | this routine implements the body of a fork |
| attr is_par_routine : BOOL; |
|---|
| **** | this routine implements the body of a par |
| attr locals:FLIST{AM_LOCAL_EXPR}; |
|---|
| **** | The list of local variables. with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr num_yields:INT; |
|---|
| **** | The number of yields in the body. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr rres:AM_LOCAL_EXPR; |
|---|
| **** | The result local variable if used. with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr sig:SIG; |
|---|
| **** | The signature of the routine. this case none of the below are defined. body of this routine or iter. with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr specul_prefetch:AM_LOCAL_EXPR; |
|---|
| **** | used if the function uses speculative prefetch only used in pSather |
| attr srcsig:SIG; |
|---|
| **** | The signature of this routine or iter in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr calls:FLIST{$AM_EXPR}; |
|---|
| **** | The calls that occur in the body of this routine or iter. with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr code:$AM_STMT; |
|---|
| **** | Code to execute when called. with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr is_abstract:BOOL; |
|---|
| **** | True for an abstract routine, in this case none of the below are defined. body of this routine or iter. with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr is_attach_routine : BOOL; |
|---|
| **** | ... of an attach |
| attr is_clean:BOOL; |
|---|
| **** | True if known to not affect existing state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr is_external:BOOL; |
|---|
| **** | True if this is an external routine with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr is_fork_routine : BOOL; |
|---|
| **** | this routine implements the body of a fork |
| attr is_par_routine : BOOL; |
|---|
| **** | this routine implements the body of a par |
| attr locals:FLIST{AM_LOCAL_EXPR}; |
|---|
| **** | The list of local variables. with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr num_yields:INT; |
|---|
| **** | The number of yields in the body. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr rres:AM_LOCAL_EXPR; |
|---|
| **** | The result local variable if used. with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr sig:SIG; |
|---|
| **** | The signature of the routine. this case none of the below are defined. body of this routine or iter. with a body, i.e. it is defined in Sather but callable from an external language. We don't generate an AM_ROUT_DEF for routines defined in the external language. state. in the class it originally came from. Used to detect built-in ops. only used in pSather |
| attr specul_prefetch:AM_LOCAL_EXPR; |
|---|
| **** | used if the function uses speculative prefetch only used in pSather |
| attr srcsig:SIG; |
|---|
| **** | The signature of this routine or iter in the class it originally came from. Used to detect built-in ops. only used in pSather |
| arg_local(i:INT):AM_LOCAL_EXPR |
|---|
| **** | The local variable for the `i'th argument. 0 is self, the rest follow in order. |
| calls_size:INT |
|---|
| create(nargs:INT, source:SFILE_ID):SAME |
|---|
| **** | A new definition for a routine or iter with `nargs' arguments (including self). |
| export_call_pending: BOOL |
|---|
| export_done |
|---|
| export_locals_pending:BOOL |
|---|
| import_call_pending:BOOL |
|---|
| import_done |
|---|
| import_locals_pending:BOOL |
|---|
| is_iter:BOOL |
|---|
| **** | True if an iter. |
| local_is_hot(l:AM_LOCAL_EXPR):BOOL |
|---|
| **** | True if `l' is a hot argument to an iter. |
| name:IDENT |
|---|
| **** | The Sather name. |
| needs_export_call |
|---|
| needs_export_locals |
|---|
| **** |
| needs_export_locals:BOOL |
|---|
| needs_import_call |
|---|
| needs_import_locals |
|---|
| **** |
| needs_import_locals:BOOL |
|---|
| number_of_args:INT |
|---|
| **** | The number of arguments for this routine or iter (including self). |
| self_local:AM_LOCAL_EXPR |
|---|
| **** | The local variable representing self. |