PreviousUpNext

14.4.68  Runtime_Internals

The standard library Runtime_Internals api defines access to functionality such as control of the garbage collector.

The Runtime_Internals api is implemented by runtime_internals in src/lib/std/src/nj/runtime-internals.pkg.

The Runtime_Internals api source code is in src/lib/std/src/nj/runtime-internals.api.

The above information is manually maintained and may contain errors.

api {    package at : api {
                     When 
                       = APP_STARTUP
                       | FORK_TO_DISK
                       | SHUTDOWN
                       | SPAWN_TO_DISK
                       | STARTUP;
                     all : List(When );
                     schedule : (String , List(When ) , (When -> Void))
                                -> Null_Or(((List(When ) , (When -> Void))) );
                     deschedule : String
                                  -> Null_Or(((List(When ) , (When -> Void))) );
                     run_functions_scheduled_to_run : When -> Void;
                 };;
    package rpc : api {
                      add_per_fun_call_counters_to_deep_syntax : Ref(Bool );
                      get_time_profiling_rw_vector : Void -> Rw_Vector(Int );
                      this_fn_profiling_hook_refcell__global : Ref(Int );
                      start_sigvtalrm_time_profiler : Void -> Void;
                      stop_sigvtalrm_time_profiler : Void -> Void;
                      sigvtalrm_time_profiler_is_running : Void -> Bool;
                      get_sigvtalrm_interval_in_microseconds : Void -> Int;
                      Profiled_Package 
                        = PROFILED_PACKAGE {first_slot_in_time_profiling_rw_vector:Int, 
                                            fun_count:Int,  fun_names:String, 
                                            per_fun_call_counts:Rw_Vector(Int )};
                      in_runtime__cpu_user_index : Int;
                      in_minor_heapcleaner__cpu_user_index : Int;
                      in_major_heapcleaner__cpu_user_index : Int;
                      in_other_code__cpu_user_index : Int;
                      in_compiler__cpu_user_index : Int;
                      number_of_predefined_indices : Int;
                      get_profiled_packages_list : Void -> List(Profiled_Package );
                      zero_profiling_counts : Void -> Void;
                      space_profiling : Ref(Bool );
                      space_prof_register : Ref(((?.unsafe::Chunk , String) -> ?.unsafe::Chunk) );
                  };;
    package hc : api {
                     clean_heap : Int -> Void;
                     messages : Bool -> Void;
                 };;
    print_hook : Ref((String -> Void) );
    initialize_posix_interprocess_signal_handler_table : Void -> Void;
    clear_posix_interprocess_signal_handler_table : Void -> Void;
    reset_posix_interprocess_signal_handler_table : Void -> Void;
    reset_timers : Void -> Void;
    package tdp : api {
                      Plugin  = {enter:(Int , Int) -> Void,  name:String, 
                                 nopush:(Int , Int) -> Void, 
                                 push:(Int , Int) -> Void -> Void, 
                                 register:(Int , Int , Int , String) -> Void, 
                                 save:Void -> Void -> Void};
                      Monitor  = {monitor:(Bool , (Void -> Void)) -> Void, 
                                  name:String};
                      active_plugins : Ref(List(Plugin ) );
                      active_monitors : Ref(List(Monitor ) );
                      reserve : Int -> Int;
                      reset : Void -> Void;
                      idk_entry_point : Int;
                      idk_non_tail_call : Int;
                      idk_tail_call : Int;
                      tdp_instrument_enabled : Ref(Bool );
                      with_monitors : Bool -> (Void -> Void) -> Void;
                  };;
};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext