PreviousUpNext

15.3.122  src/lib/compiler/back/low/main/nextcode/check-heapcleaner-calls.api

## check-heapcleaner-calls.api
#
# Nomenclature:  In this file "gc" == "garbage collector".
#
# This module checks that no other values aside from
# the standard heapcleaner calling convention registers, can be live across
# a call-heapcleaner instruction.   Call-heapcleaner blocks and instructions
# are assumed to be marked with the special CALL_HEAPCLEANER annotation.

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

stipulate
    package pp  =  standard_prettyprinter;                                      # standard_prettyprinter                is from   src/lib/prettyprint/big/src/standard-prettyprinter.pkg
    package cv  =  compiler_verbosity;                                          # compiler_verbosity                    is from   src/lib/compiler/front/basics/main/compiler-verbosity.pkg
herein

    # This api is implemented in:
    #     src/lib/compiler/back/low/main/nextcode/check-heapcleaner-calls-g.pkg

    api Check_Heapcleaner_Calls {
        #
        package mcg: Machcode_Controlflow_Graph;                                # Machcode_Controlflow_Graph            is from   src/lib/compiler/back/low/mcg/machcode-controlflow-graph.api

        check_heapcleaner_calls
            :
            (pp::Npp, cv::Compiler_Verbosity)                                   # Null_Or(pp::Prettyprinter)
            ->
            mcg::Machcode_Controlflow_Graph
            ->
            mcg::Machcode_Controlflow_Graph;
    };
end;


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext