Skip to content
Snippets Groups Projects
  1. May 21, 2016
  2. May 14, 2016
    • Raymond Toy's avatar
      Fix #22 where coerce was returning the wrong type of float. · bb4afde9
      Raymond Toy authored
      src/compiler/float.lisp:
      o The deftransform coerce was checking for a type of 'float and using
        %single-float to do the conversion.  This is incorrect; it should
        only apply if the type is 'single-float.
      
      tests/issues.lisp
      o Add test for this.
      
      Verified that the test fails on the current snapshot and ix fixed by
      this change.
      bb4afde9
  3. 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
  4. May 12, 2016
  5. May 11, 2016
  6. May 10, 2016
    • Raymond Toy's avatar
      Add RELOCATABLE_STACK_START to control stack spaces · 951611cf
      Raymond Toy authored
      When RELOCATABLE_STACK_START is defined, the control stack, binding
      stack, and sigalt stack are located wherever mmap finds room for them.
      
      Currently only implemented for Darwin, but should work for linux and
      solaris.  We enable this by default on Darwin now.
      951611cf
  7. May 08, 2016
  8. Mar 26, 2016
  9. Mar 12, 2016
  10. Mar 06, 2016
  11. 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
  12. Feb 15, 2016
  13. Jan 25, 2016
  14. Jan 23, 2016
  15. Jan 18, 2016
  16. Jan 16, 2016
  17. Jan 14, 2016
  18. 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
  19. 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
  20. Jan 09, 2016
Loading