Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • rtoy's avatar
    46a81e81
    Implement tracing for the known-return convention. This is basically · 46a81e81
    rtoy authored
    Helmut Eller's patch sent to cmucl-imp on 2005-03-08.  This basically
    means tracing recursive functions will show all recursions during the
    trace and not just the final call.
    
    code/debug-int.lisp:
    o Apply Helmut's patch.  Tweak it so when the known-return convention
      is being used, we tell MAKE-BOGUS-LRA that we're using the
      known-return so we can handle it properly.
    
    lisp/breakpoint.c:
    o Add an extra parameter to compute_offset so we know we're handling a
      function-end breakpoint or not.  Needed because reg_CODE isn't
      pointing to the bogus lra in this case, so the offsets are all
      wrong.  We compute the right offset for the known return and return
      the offset as negative so we can tell.
    o Adjust all callers of compute_offset.
    o Adjust handle_function_end_breakpoint to handle negative offsets
      from compute_offset so we can get the right code component for the
      bogus lra.
    46a81e81
    History
    Implement tracing for the known-return convention. This is basically
    rtoy authored
    Helmut Eller's patch sent to cmucl-imp on 2005-03-08.  This basically
    means tracing recursive functions will show all recursions during the
    trace and not just the final call.
    
    code/debug-int.lisp:
    o Apply Helmut's patch.  Tweak it so when the known-return convention
      is being used, we tell MAKE-BOGUS-LRA that we're using the
      known-return so we can handle it properly.
    
    lisp/breakpoint.c:
    o Add an extra parameter to compute_offset so we know we're handling a
      function-end breakpoint or not.  Needed because reg_CODE isn't
      pointing to the bogus lra in this case, so the offsets are all
      wrong.  We compute the right offset for the known return and return
      the offset as negative so we can tell.
    o Adjust all callers of compute_offset.
    o Adjust handle_function_end_breakpoint to handle negative offsets
      from compute_offset so we can get the right code component for the
      bogus lra.