Skip to content
Snippets Groups Projects
  1. May 13, 2016
    • Raymond Toy's avatar
      Fix typo in value. · e50d75bc
      Raymond Toy authored
      The deftransform for converting an (unsigned-byte 32) to a
      double-float was using the wrong type of float constant. It should
      have been a double instead of single.
      
      This fix allows sparc to cross-compile itself now.
      e50d75bc
  2. May 08, 2016
  3. Mar 26, 2016
  4. Mar 12, 2016
  5. Mar 06, 2016
  6. Feb 29, 2016
    • Raymond Toy's avatar
      Reduce maximum heap size for Linux. · 9e4c9d0a
      Raymond Toy authored
      According to the message from Chisheng Huang on cmucl-help,
      2016-02-27, 32-bit Ubuntu 11.10 (in VirtualBox) cannot use the full
      heap space.  There's something already allocated at address 0xb7b82000,
      so limit the max heap to address 0xb7b80000, for a total of 1530 MB
      instead of 1632 MB.
      
      (It would be nice to be able to detect this somehow.)
      9e4c9d0a
  7. Feb 15, 2016
  8. Jan 25, 2016
  9. Jan 23, 2016
  10. Jan 18, 2016
  11. Jan 16, 2016
  12. Jan 14, 2016
  13. Jan 13, 2016
    • Raymond Toy's avatar
      Restore the FPU state before exiting. · d7850f57
      Raymond Toy authored
      Put an unwind-protect around the error calls.  The cleanup form
      restores the floating-point modes from the sigcontext so that the mode
      is restored.  This is needed, I think, because we throw so that the
      signal handler doesn't return so the sigcontext isn't restored.  If we
      don't restore the fpu state, it's set to the default processor state.
      We want the default state when calling error.
      
      In this way, things like (* 1d300 1d300) signals an overflow, and when
      we throw to top-level, the floating-point modes are restored to their
      original values they had before.
      d7850f57
  14. Jan 10, 2016
    • Raymond Toy's avatar
      In WITH-FLOAT-TRAPS-*, remove the unused junk modifying the state. · d9763e90
      Raymond Toy authored
      We just want to return the original modes, so remove all the old
      commented out stuff that was modifying the original modes to some
      strange state.  This makes a lot more sense to me if
      WITH-FLOAT-TRAPS-* actually restored the modes exactly as they were
      before running the body.
      d9763e90
    • Raymond Toy's avatar
      Handle FPU exceptions better. · da2ff74d
      Raymond Toy authored
      In sigfpe-handler, don't modify the modes; just use whatever they
      are. (They should be the default values.)
      
      In with-float-traps-*, actually just restore the floating-point mode
      to the exact original mode instead of trying to mask things out.
      da2ff74d
    • Raymond Toy's avatar
      Handle FP exceptions better. · e63bc1e9
      Raymond Toy authored
      Don't restore the fpu state from the context in the interrupt handler
      code (interrupt_handle_now) because that just makes the fpu state the
      same as the sigcontext that received the exception.  I think this was
      done to reset the x87 fpu precision to 53-bit so that lisp can
      continue with default double-float rounding.  This isn't needed
      anymore since lisp doesn't use x87 anymore.
      
      In SIGFPE-HANDLER, don't modify the current fp state based on the
      state from the sigcontext.
      
      These two items cause the arithmetic-error exception printer to
      trigger inexact when printing out the args.  We add a few debugging
      prints for now so we can see what the FP state is in the handler.
      Remove them later.
      e63bc1e9
  15. Jan 09, 2016
  16. Jan 08, 2016
  17. Jan 07, 2016
  18. Jan 01, 2016
  19. Dec 31, 2015
  20. Dec 30, 2015
    • Raymond Toy's avatar
      WITH-FLOAT-TRAPS-ENABLED was incorrectly setting accrued exceptions. · edb5af9b
      Raymond Toy authored
      Fix issue #14.
      
      WITH-FLOAT-TRAPS-ENABLED was leaving the accrued (and current)
      exceptions unchanged, but it should have cleared out any values there
      that matched the exceptions to be enabled.  Without this, the next x87
      operation would signal an exception if an accrued exception matched
      an enabled exception.  This was the cause of issue #14.  (Note that
      for x87, the accrued exception is the same as current exception.)
      edb5af9b
    • Raymond Toy's avatar
      Regenerate due to new functions. · a65cf4a4
      Raymond Toy authored
      a65cf4a4
    • Raymond Toy's avatar
      Add %SET-FLOATING-POINT-MODES and %GET-FLOATING-POINT-MODES functions. · b4771d76
      Raymond Toy authored
      To aid in debugging floating point modes, add two new functions:
      
      o %SET-FLOATING-POINT-MODES is like SET-FLOATING-POINT-MODES but
        applies the result to a specified mode value, returning the new mode
        value (as an integer).  This is useful for investigating different
        mode values without modifying the actual hardware mode.
      o %GET-FLOATING-POINT-MODES is like GET-FLOATING-POINT-MODES but uses
        an integer argument instead of the actual floating-point mode.
        Useful when used with %SET-FLOATING-POINT-MODE or on its own.
      b4771d76
  21. Dec 28, 2015
Loading