## 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.sublibstipulate
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.pkgherein
# 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;