PreviousUpNext

15.3.292  src/lib/compiler/toplevel/main/control-apis.api

## control-apis.api 

# Compiled by:
#     src/lib/compiler/core.sublib



###       "All truths are easy to understand
###        once they are discovered; the
###        point is to discover them."
###
###                  -- Galileo Galilei



api Match_Compiler_Controls {                                   # This api is implemented in:   src/lib/compiler/toplevel/main/match-compiler-controls.pkg
    #
    print_args:                   Ref(  Bool );
    print_ret:                    Ref(  Bool );
    bind_no_variable_warn:        Ref(  Bool );
    warn_on_nonexhaustive_bind:   Ref(  Bool );
    error_on_nonexhaustive_bind:  Ref(  Bool );
    warn_on_nonexhaustive_match:  Ref(  Bool );
    error_on_nonexhaustive_match: Ref(  Bool );
    warn_on_redundant_match:      Ref(  Bool );
    error_on_redundant_match:     Ref(  Bool );

#   my expand_result:              Ref( Bool )

};

api Anormcode_Sequencer_Controls {
    #
    print:                      Ref( Bool );
    print_phases:               Ref( Bool );
    print_function_types:       Ref( Bool );
    anormcode_passes:           Ref( List(String) );
    #
    inline_threshold:           Ref( Int );
 #  split_threshold:            Ref( Int ) 
    unroll_threshold:           Ref( Int );
    maxargs:                    Ref( Int );     #  to put a cap on arity raising 
    dropinvariant:              Ref( Bool );

    specialize:                 Ref( Bool );
 #  lift_literals:              Ref( Bool ) 
    sharewrap:                  Ref( Bool );
    saytappinfo:                Ref( Bool );    #  for verbose typelifting 

   #  Only for temporary debugging: 
    misc:                       Ref( Int );

    # Highcode internal type-checking controls:
    #
    check:                      Ref(  Bool );
    check_datatypes:            Ref(  Bool );
    check_kinds:                Ref(  Bool );
};

api Compiler_Controls {
    #
    allocprof:                                  Ref(  Bool );
    alphac:                                     Ref(  Bool );
    argrep:                                     Ref(  Bool );
    arithopt:                                   Ref(  Bool );
    beta_contract:                              Ref(  Bool );
    beta_expand:                                Ref(  Bool );

    bodysize:                                   Ref(  Int  );

    boxedconstconreps:                          Ref(  Bool );
    branchfold:                                 Ref(  Bool );

    callee_function:                            Ref(  Int  );

    checknextcode1:                             Ref(  Bool );
    checknextcode2:                             Ref(  Bool );
    checknextcode3:                             Ref(  Bool );
    checknextcode:                              Ref(  Bool );
    checklty1:                                  Ref(  Bool );
    checklty2:                                  Ref(  Bool );
    checklty3:                                  Ref(  Bool );

    closure_strategy:                           Ref(  Int  );

    closureprint:                               Ref(  Bool );
    comment:                                    Ref(  Bool );
    comparefold:                                Ref(  Bool );

    optional_nextcode_improvers:                Ref(  List(String) );           #  list of optional_nextcode_improvers phases 

    cse:                                        Ref(  Bool );
    csehoist:                                   Ref(  Bool );
    deadup:                                     Ref(  Bool );
    deadvars:                                   Ref(  Bool );
    debugnextcode:                              Ref(  Bool );
    dropargs:                                   Ref(  Bool );

    escape_function:                            Ref(  Int  );

    eta:                                        Ref(  Bool );
    extraflatten:                               Ref(  Bool );
    flatfblock:                                 Ref(  Bool );
    flattenargs:                                Ref(  Bool );
    foldconst:                                  Ref(  Bool );
    handlerfold:                                Ref(  Bool );
    hoistdown:                                  Ref(  Bool );
    hoistup:                                    Ref(  Bool );
    icount:                                     Ref(  Bool );
    if_idiom:                                   Ref(  Bool );
    invariant:                                  Ref(  Bool );

    known_cl_function:                          Ref(  Int  );
    known_function:                             Ref(  Int  );

    knownfiddle:                                Ref(  Bool );
    lambdaopt:                                  Ref(  Bool );
    lambdaprop:                                 Ref(  Bool );

    misc4:                                      Ref(  Int  );

    newconreps:                                 Ref(  Bool );
    path:                                       Ref(  Bool );
    poll_checks:                                Ref(  Bool );

    poll_ratio_a_to_i:                          Ref(  Float);

    printit:                                    Ref(  Bool );
    printsize:                                  Ref(  Bool );
    rangeopt:                                   Ref(  Bool );
    recordcopy:                                 Ref(  Bool );
    recordopt:                                  Ref(  Bool );
    recordpath:                                 Ref(  Bool );

    reducemore:                                 Ref(  Int  );
    rounds:                                     Ref(  Int  );

    scheduling:                                 Ref(  Bool );
    selectopt:                                  Ref(  Bool );
    sharepath:                                  Ref(  Bool );

    spill_function:                             Ref(  Int  );

    static_closure_size_profiling:              Ref(  Bool );
    switchopt:                                  Ref(  Bool );
    tail:                                       Ref(  Bool );
    tailrecur:                                  Ref(  Bool );

    targeting:                                  Ref(  Int  );

    uncurry:                                    Ref(  Bool );
    unroll:                                     Ref(  Bool );
    unroll_recursion:                           Ref(  Bool );

    split_known_escaping_functions:             Ref(  Bool );
    improve_after_closure:                      Ref(  Bool );
    debug_representation:                       Ref(  Bool );  

    print_flowgraph_stream:                     Ref(  file::Output_Stream );

    disambiguate_memory:                        Ref(  Bool );
    control_dependence:                         Ref(  Bool );
    comp_debugging:                             Ref(  Bool );
    module_junk_debugging:                      Ref(  Bool );
    translate_to_anormcode_debugging:           Ref(  Bool );
    type_junk_debugging:                        Ref(  Bool );
    types_debugging:                            Ref(  Bool );
    expand_generics_g_debugging:                Ref(  Bool );
    typerstore_debugging:                       Ref(  Bool );
    generics_expansion_junk_debugging:          Ref(  Bool );
    api_match_debugging:                        Ref(  Bool );
    type_package_language_debugging:            Ref(  Bool );
    typer_junk_debugging:                       Ref(  Bool );
    type_api_debugging:                         Ref(  Bool );
    typecheck_type_debugging:                   Ref(  Bool );
    unify_types_debugging:                      Ref(  Bool );
    translate_types_debugging:                  Ref(  Bool );
    expand_oop_syntax_debugging:                Ref(  Bool );

    verbose_compile_log:                        Ref(  Bool );
    trap_int_overflow:                          Ref(  Bool );
    check_vector_index_bounds:                  Ref(  Bool );
    compile_in_subprocesses:                    Ref(  Bool );
};


## COPYRIGHT (c) 1995 AT&T Bell Laboratories 
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2012,
## released under Gnu Public Licence version 3.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext