Skip to content
Snippets Groups Projects
  1. Sep 17, 2008
  2. Sep 16, 2008
  3. Sep 13, 2008
  4. Sep 12, 2008
  5. Sep 11, 2008
  6. Sep 10, 2008
    • rtoy's avatar
      Clean up sigbus-handler. I don't think we should be calling · fe2478a3
      rtoy authored
      interrupt_maybe_gc.
      fe2478a3
    • rtoy's avatar
      Add a new section giving some examples of tracing. · 2e4e1a20
      rtoy authored
      2e4e1a20
    • rtoy's avatar
      Change how we handle function end breakpoints for non-x86. We don't · 935f69d9
      rtoy authored
      disable GC before calling HANDLE-BREAKPOINT.  We save the real LRA
      object to the Lisp stack, before calling HANDLE-BREAKPOINT.
      Afterwards, we load the LRA from the stack.  Thus, if GC happened, the
      stack value will have changed appropriately, and we return to the
      correct place.
      
      compiler/ppc/parms.lisp:
      compiler/sparc/parms.lisp:
      o Don't need lisp::*gc-inhibit* to be a static symbol anymore so
        remove it.
      
      lisp/breakpoint.c:
      o Implement above idea in handle_function_end_breakpoint.
      o Add comments on the values of REAL_LRA_SLOT and friends.
      o Clean up compute_offsets for the x86 case which doesn't handle ppc
        or sparc anymore.
      935f69d9
  7. Sep 09, 2008
    • rtoy's avatar
      Update comments. · b47aa381
      rtoy authored
      Config.sun4_solaris_gcc:
      o Note that gdb 6.8 handle signals correctly and can be used to debug
        cmucl.
      
      Config.sun4_solaris_sunc:
      o Add link to why we can't use inline with Sun Studio 11.
      b47aa381
  8. Sep 08, 2008
    • rtoy's avatar
      Fix long-standing bug where C-c sometimes causes a segfault on · 572f5c8f
      rtoy authored
      Solaris.  The issue is that the siginfo_t is documented to be NULL
      sometimes on Solaris.  Also, it appears that at most we only care
      about the si_code field of a siginfo_t, so we only fill in the si_code
      field when the siginfo_t parameter is not NULL.  Otherwise use 0.
      (Carl suggested this solution.)
      
      Also, the Lisp signal handlers appear to ignore the siginfo_t argument
      anyway.
      572f5c8f
  9. Sep 07, 2008
  10. Sep 05, 2008
  11. Sep 04, 2008
    • rtoy's avatar
      A fix for the error that causes di::handle-breakpoint to complain · 9283574a
      rtoy authored
      about an unknown breakpoint at offset 0 when handling a function-end
      breakpoint.
      
      See the comment for compute_offset for an explanation.
      
      Note that this seems to fix that issue, but there is still the issue
      where a segfault will happen during tracing.  It seems to happen if a
      GC occurs after the function end breakpoint has happened
      (compute_offset has already been called before GC happens), and trace
      has printed out the return value.  Then a segfault happens.
      
      Due to some issues, this fix only works when compiled with gcc.
      Compiling with Sun c produces some segfaults somewhere such that we
      can't build cmucl at all.  The bizarre part is that compute_offset is
      never called during a build because there are no breakpoints enabled
      during a normal build.
      9283574a
  12. Sep 02, 2008
  13. Aug 31, 2008
  14. Aug 21, 2008
  15. Aug 20, 2008
    • rtoy's avatar
      o LOGAND-DERIVE-TYPE-AUX was deriving the result to be too wide for · 80eb1e39
      rtoy authored
        (defun foo (x)
          (declare (type unsigned-byte x))
          (logand x #xff))
      
        It was returning unsigned-byte when the result should have a bounded
        type like (unsigned-byte 8).
      
      o Small optimization for %ldb deftransform:  If the byte positiion is
        known to be 0, don't transform to (ash int 0), but just replace it
        with int.
      80eb1e39
  16. Aug 18, 2008
    • rtoy's avatar
      compiler/sparc/arith.lisp: · dddd1625
      rtoy authored
      compiler/x86/arith.lisp:
      o Define some new vops to handle modular arithmetic stuff when both
        args are signed but the result is unsigned (because of modular
        arithmetic).
      dddd1625
    • rtoy's avatar
      Don't want to skip modular arith stuff if the result is known to fit · b634c067
      rtoy authored
      in a fixnum.  Consider the case where x and y are fixnums in
      
          (logand (* x y) 255)
      
      The compiler knows the result must be 8 bits long, but we need to do
      modular arithmetic because the (* x y) can be longer than 32 bits.
      
      Thus, only skip the modular arithmetic stuff if both args are known to
      be fixnums.
      b634c067
  17. Aug 16, 2008
  18. Aug 15, 2008
  19. Aug 13, 2008
Loading