PreviousUpNext

15.4.1126  src/lib/std/src/nj/heap-debug.pkg

## heap-debug.pkg

# Compiled by:
#     src/lib/std/src/standard-core.sublib

# Display and sanity checking of the Mythryl heap datastructures.

stipulate
    package ci  =  mythryl_callable_c_library_interface;                                                        # mythryl_callable_c_library_interface  is from   src/lib/std/src/unsafe/mythryl-callable-c-library-interface.pkg
herein

    package   heap_debug
    : (weak)  Heap_Debug                                                                                        # Heap_Debug                            is from   src/lib/std/src/nj/heap-debug.api
    {
        fun cfun name
            = 
            ci::find_c_function
              {
                lib_name =>  "heap",
                fun_name =>   name
              };
            #
            ###############################################################
            # The functions in this package should be called with miminal
            # delay and minimal disturbance of the heap and system state.
            #
            # Consequently I'm not taking the time and effort to switch it
            # over from using find_c_function() to using find_c_function'().
            #                              -- 2012-04-18 CrT

        check_agegroup0_overrun_tripwire_buffer
            =
            (cfun "check_agegroup0_overrun_tripwire_buffer"):  String -> Void;                                          # "check_agegroup0_overrun_tripwire_buffer"             def in    src/c/lib/heap/libmythryl-heap.c
                                                                                                                        # 'String' is caller, logged for diagnostic purposes if the check fails.

        disable_debug_logging = (cfun "disable_debug_logging"):  Void -> Void;                                          # disable_debug_logging                                 def in    src/c/lib/heap/libmythryl-heap.c
        enable_debug_logging  = (cfun "enable_debug_logging" ):  Void -> Void;                                          # enable_debug_logging                                  def in    src/c/lib/heap/libmythryl-heap.c

        dump_all                                = (cfun "dump_all"):                            String -> Void;         # dump_all                                              def in    src/c/lib/heap/libmythryl-heap.c
        dump_all_but_hugechunks_contents        = (cfun "dump_all_but_hugechunks_contents"):    String -> Void;         # dump_all_but_huge                                     def in    src/c/lib/heap/libmythryl-heap.c
        dump_gen0                               = (cfun "dump_gen0"):                           String -> Void;         # dump_gen0                                             def in    src/c/lib/heap/libmythryl-heap.c
        dump_gen0s                              = (cfun "dump_gen0s"):                          String -> Void;         # dump_gen0s                                            def in    src/c/lib/heap/libmythryl-heap.c
        dump_gen0_tripwire_buffers              = (cfun "dump_gen0_tripwire_buffers"):          String -> Void;         # dump_gen0_tripwire_buffers                            def in    src/c/lib/heap/libmythryl-heap.c
        dump_gens                               = (cfun "dump_gens"):                           String -> Void;         # dump_gens                                             def in    src/c/lib/heap/libmythryl-heap.c
        dump_hugechunks_contents                = (cfun "dump_hugechunks_contents"):            String -> Void;         # dump_hugechunks_contents                              def in    src/c/lib/heap/libmythryl-heap.c
        dump_hugechunks_summary                 = (cfun "dump_hugechunks_summary"):             String -> Void;         # dump_hugechunks_summary                               def in    src/c/lib/heap/libmythryl-heap.c
        dump_syscall_log                        = (cfun "dump_syscall_log"):                    String -> Void;         # dump_syscall_log                                      def in    src/c/lib/heap/libmythryl-heap.c
        dump_task                               = (cfun "dump_task"):                           String -> Void;         # dump_task                                             def in    src/c/lib/heap/libmythryl-heap.c
        dump_whatever                           = (cfun "dump_whatever"):                       String -> Void;         # dump_whatever                                         def in    src/c/lib/heap/libmythryl-heap.c

        breakpoint_0                            = (cfun "breakpoint_0"):                        Void -> Void;           # breakpoint_0                                          def in    src/c/lib/heap/libmythryl-heap.c
        breakpoint_1                            = (cfun "breakpoint_1"):                        Void -> Void;           # breakpoint_1                                          def in    src/c/lib/heap/libmythryl-heap.c
        breakpoint_2                            = (cfun "breakpoint_2"):                        Void -> Void;           # breakpoint_2                                          def in    src/c/lib/heap/libmythryl-heap.c
        breakpoint_3                            = (cfun "breakpoint_3"):                        Void -> Void;           # breakpoint_3                                          def in    src/c/lib/heap/libmythryl-heap.c
        breakpoint_4                            = (cfun "breakpoint_4"):                        Void -> Void;           # breakpoint_4                                          def in    src/c/lib/heap/libmythryl-heap.c
        breakpoint_5                            = (cfun "breakpoint_5"):                        Void -> Void;           # breakpoint_5                                          def in    src/c/lib/heap/libmythryl-heap.c
        breakpoint_6                            = (cfun "breakpoint_6"):                        Void -> Void;           # breakpoint_6                                          def in    src/c/lib/heap/libmythryl-heap.c
        breakpoint_7                            = (cfun "breakpoint_7"):                        Void -> Void;           # breakpoint_7                                          def in    src/c/lib/heap/libmythryl-heap.c
        breakpoint_8                            = (cfun "breakpoint_8"):                        Void -> Void;           # breakpoint_8                                          def in    src/c/lib/heap/libmythryl-heap.c
        breakpoint_9                            = (cfun "breakpoint_9"):                        Void -> Void;           # breakpoint_9                                          def in    src/c/lib/heap/libmythryl-heap.c

        write_line_to_log                       = (cfun "write_line_to_log"):                   String -> Void;         # write_line_to_log                                     def in    src/c/lib/heap/libmythryl-heap.c
        write_line_to_ramlog                    = (cfun "write_line_to_ramlog"):                String -> Void;         # write_line_to_ramlog                                  def in    src/c/lib/heap/libmythryl-heap.c
        write_line_to_stderr                    = (cfun "write_line_to_stderr"):                String -> Void;         # write_line_to_stderr                                  def in    src/c/lib/heap/libmythryl-heap.c
    };
end;



## Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext