class SE_CONTEXT |
---|
**** |
attr has_arith_error:BOOL; |
---|
**** | true if the function could break if arith checks are on and it is called with the wrong arguments |
attr has_export:BOOL; |
---|
**** | true if the function (or any function it calls) makes an import |
attr has_fatal_error:BOOL; |
---|
**** | true if the function (or any function it calls) may encounter a fatal error |
attr has_import:BOOL; |
---|
**** | true if the function (or any function it calls) makes an import |
attr has_raise:BOOL; |
---|
**** | true if the function (or any function it calls) may raise an exception |
attr has_yield_in_lock:BOOL; |
---|
**** | true if an iter has a yield inside a lock |
attr may_block:BOOL; |
---|
**** | true if the function could block (lock) |
attr rsig:SIG; |
---|
**** | signature of the routine this is for |
attr unsafe:BOOL; |
---|
**** | is it unsafe to optimize this function out? |
attr weight:INT; |
---|
**** | number that defines the weight of the function |
attr has_arith_error:BOOL; |
---|
**** | true if the function could break if arith checks are on and it is called with the wrong arguments |
attr has_export:BOOL; |
---|
**** | true if the function (or any function it calls) makes an import |
attr has_fatal_error:BOOL; |
---|
**** | true if the function (or any function it calls) may encounter a fatal error |
attr has_import:BOOL; |
---|
**** | true if the function (or any function it calls) makes an import |
attr has_raise:BOOL; |
---|
**** | true if the function (or any function it calls) may raise an exception |
attr has_yield_in_lock:BOOL; |
---|
**** | true if an iter has a yield inside a lock |
attr may_block:BOOL; |
---|
**** | true if the function could block (lock) |
attr rsig:SIG; |
---|
**** | signature of the routine this is for |
attr unsafe:BOOL; |
---|
**** | is it unsafe to optimize this function out? |
attr weight:INT; |
---|
**** | number that defines the weight of the function |
shared cs_options:CS_OPTIONS; |
---|
**** | options for the compiler |
shared prog:PROG; |
---|
**** |
shared cs_options:CS_OPTIONS; |
---|
**** | options for the compiler |
shared prog:PROG; |
---|
**** |
create(prog:PROG,sig:SIG):SAME |
---|
do_side_debug:BOOL |
---|
do_side_effects:BOOL |
---|
expand_macro(r:STR,sig:SIG):STR |
---|
full(b:BOOL) is is_full:=b; end; |
---|
full:BOOL is return is_full or has_import or has_export; end; |
---|
get_abstract_union(for_prog:PROG,for_sig:SIG):SE_CONTEXT |
---|
get_options |
---|
get_se_context(sig:SIG):SE_CONTEXT |
---|
**** | make sure we don't try to do this for checking code a check in do_side_effects should prevent this |
is_recursive(sig:SIG):BOOL |
---|
mark_clean |
---|
mark_context(amattr:$AM) |
---|
mark_full |
---|
mark_se(nsec:SE_CONTEXT) |
---|
mark_se(nse:SIDE_EFFECT) |
---|
**** | if we don't care about side effects, then return now |
mark_se(amattr:$AM,doeswrite:BOOL) |
---|
mark_unsafe |
---|
maxsize:INT |
---|
register |
---|
se_array(tp:$TP):SIDE_EFFECT |
---|
se_attr(tp:$TP,name:IDENT):SIDE_EFFECT |
---|
se_local(name:IDENT):SIDE_EFFECT |
---|
size:INT |
---|
str:STR |
---|
elt!:SIDE_EFFECT |
---|
get_builtin_context |
---|
get_touched_attr(a:ARRAY{STR},doeswrite:BOOL) |
---|
attr is_full:BOOL; |
---|
**** | do we assume everything is modified |
attr is_full:BOOL; |
---|
**** | do we assume everything is modified |
attr set:FSET{SIDE_EFFECT}; |
---|
**** | the set of attributes modified |
attr set:FSET{SIDE_EFFECT}; |
---|
**** | the set of attributes modified |