Skip to content
Snippets Groups Projects
  1. Dec 18, 2013
  2. Dec 15, 2013
    • Raymond Toy's avatar
      Correct bug in tan. · 36403a83
      Raymond Toy authored
       * code/irrat.lisp
         * Fix typo in kernel-tan.
       * tests/trig.lisp
         * Add test case.
      36403a83
    • Raymond Toy's avatar
      Small cleanups. · 7069ef9d
      Raymond Toy authored
       * Remove unneeded package specifier for %ieee754-rem-pi/2
       * Add some comments for %tan.
      7069ef9d
    • Raymond Toy's avatar
      Implement sincos using the new Lisp trig routines. This can now be · b79c2872
      Raymond Toy authored
      used for all platforms.
      
       code/irrat.lisp::
       * Implement %SINCOS
      
       compiler/float-tran.lisp::
       * Update deftransforms for CIS.  %SINCOS can be used on any platform.
      
       tests/trig.lisp:
       * Add tests to verify %sincos returns exactly the same values as for
         sin and cos.
      b79c2872
    • Raymond Toy's avatar
      Implement trig functions in Lisp · e6a9577f
      Raymond Toy authored
       code/irrat.lisp::
       * Add Lisp implementation for sin, cos, and tan, based on code from
         fdlibm.  Requires the C reduction routines.  Only working so far on
         systems that already include the reduction routies.
      
       tests/trig.lisp::
       * Tests for the new sin, cos, and tan functions.  Tests pass on
         x86/darwin.
      e6a9577f
    • Raymond Toy's avatar
      Add RT. · 32bdd53b
      Raymond Toy authored
       src/contrib/rt::
       * Add RT code, including asdf.
      
       src/code/module.lisp::
       * Add RT as a module
      32bdd53b
  3. Dec 11, 2013
  4. Dec 08, 2013
  5. Nov 25, 2013
  6. Nov 23, 2013
  7. Nov 08, 2013
  8. Oct 22, 2013
    • Raymond Toy's avatar
      Enable micro-optimization of fast-unary-ftruncate and · 07e2d61f
      Raymond Toy authored
      double-float-bits for x86/sse2. This gives x86 the same
      micro-optimizations that were available for sparc and ppc.
      
      
       o code/kernel.lisp:
         o Enable fast double-float-bits using the vop instead of calling
           double-float-high-bits/double-float-low-bits. 
      
       o compiler/float-tran.lisp:
         o Make fast-unary-ftruncate known to compiler and enable optimizer
           for it. 
         o Make double-float-bits known to compiler
      
       o compiler/x86/float-sse2.lisp:
         o Implement fast-unary-ftruncate for singles and doubles.
         o Implement double-float-bits.
      07e2d61f
  9. Sep 29, 2013
    • Raymond Toy's avatar
      Print integers with lowercase when *print-case* is :downcase. · a7ace141
      Raymond Toy authored
      Could optimize SUB-OUTPUT-INTEGER and DIGIT-TO-CHAR if needed, but I'm
      assuming printing of fixnums and bignums is not limited by the
      conversion of each digit to a character.
      
       * src/code/print.lisp:
         * Print integers in lowercase if *print-case* is :downcase
         * Update a docstring.
      
       * src/i18n/locale/cmucl.pot:
         * Update
      
       * src/general-info/release-20f.txt:
         * New file with updated info.
      a7ace141
  10. Aug 24, 2013
    • Raymond Toy's avatar
      Make CL:DISASSEMBLE conforming. Also update some of the · ddfb0372
      Raymond Toy authored
      implementation details of DISASSEM:DISASSEMBLE.
      
       code/exports.lisp::
       * Update packages so CL:DISASSEMBLE is not DISASSEM:DISASSEMBLE.
      
       code/misc.lisp::
       * Define CL:DISASSEMBLE.
      
       compiler/fndb.lisp::
       * Update defknow for disassemble.
      
       compiler/disassem.lisp::
       * Print of source codes uses standard I/O syntax instead of
         inheriting from the environment.
       * Add new keyword arguments to DISASSEM:DISASSEMBLE for the base,
         case, and radix.  These default to 16, :downcase, and
         *print-radix*, respectively.  This means disassembly now prints out
         all numbers in base 16 and is in lowercase.
       * When printing a note for an assembler routine, we don't need to
         print the (hex) address if *print-base* is 16.
      
       compiler/x86/insts.lisp::
       * Fix some issues when in print-mem-access.
         * Sometimes the absolute value of the value was printed instead of
           the value (displaying the wrong value).
         * Print out the value as an unsigned in some cases instead of
           signed value.
       * Fix print-label to print addresses as unsigned integers.  This
         fixes the issue where things like call #x-4xxxxxxx were printed.
      
       i18n/locale/cmucl.pot::
       * Update because of new or changed docstrings.
      ddfb0372
  11. May 26, 2013
  12. May 25, 2013
    • Raymond Toy's avatar
      Remove all the extensions to string-upcase and friends. The extended · 49f041ad
      Raymond Toy authored
      functions now live in the new UNICODE package.
      
       src/code/exports.lisp::
       * Export some unicode functions and constants.
      
       src/code/string.lisp::
       * Removed the extended versions of string-upcase and friends.
       * Export surrogates function.
       * Make sure with-one-string is defined so the unicode package can use
         it.
      
       src/code/unicode.lisp:;
       * New file with extended versions of string-upcase and friends.
      
       src/code/unidata.lisp::
       * Export some unicode functions and constants.
      
       src/compiler/fndb.lisp::
       * Update defknowns for string-upcase and friends.
      
       src/tools/worldbuild.lisp::
       * Build unicode.lisp
      
       src/tools/worldcom.lisp::
       * Load unicode.lisp
      49f041ad
    • Raymond Toy's avatar
      Fix typo. · 9d66b258
      Raymond Toy authored
      9d66b258
  13. May 21, 2013
  14. May 19, 2013
    • Raymond Toy's avatar
      Fix ticket:81 and fix ticket:83. · 78cce51d
      Raymond Toy authored
      From ticket 81, the tests are now:
      
      {{{
      (time (prog1 t (time-rev *s*)))
      ; Evaluation took:
      ;   0.49 seconds of real time
      ;   0.481813 seconds of user run time
      ;   0.003624 seconds of system run time
      ;   1,490,776,936 CPU cycles
      ;   [Run times include 0.13 seconds GC run time]
      ;   0 page faults and
      ;   200,073,704 bytes consed.
      
      (time (prog1 t (time-rev *s2*)))
      ; Evaluation took:
      ;   0.97 seconds of real time
      ;   0.965893 seconds of user run time
      ;   0.005139 seconds of system run time
      ;   2,980,415,911 CPU cycles
      ;   [Run times include 0.23 seconds GC run time]
      ;   0 page faults and
      ;   400,005,560 bytes consed.
      }}}
      
      So the new string-reverse* is 20 times faster for strings without
      surrogates and 10 times faster for strings containing only surrogates.
      78cce51d
  15. May 17, 2013
  16. May 15, 2013
    • Raymond Toy's avatar
      Wrap exports in eval-when for ppc as was done for sparc and add · e5a2fa14
      Raymond Toy authored
      CHAR-BYTES to ppc cross-compile script.
      
      This is untested.
      e5a2fa14
    • Raymond Toy's avatar
      Wrap exports in eval-when. · ba06f21f
      Raymond Toy authored
       src/compiler/generic/objdef.lisp::
       src/compiler/generic/utils.lisp:;
       src/compiler/generic/vm-macs.lisp::
       src/compiler/sparc/c-callback.lisp::
       src/compiler/sparc/parms.lisp::
      
        When export lost its compile-time effects and became a normal
        function, the exports in many files no longer took affect while
        compiling the file.  This change makes the compile-time effects
        happen as before in selected files. With this change, the sparc port
        can be cross-compiled from x86 again.
      
       src/tools/cross-scripts/cross-x86-sparc.lisp::
        Need to frob CHAR-BYTES, which is needed by BYTE-BASH-COPY. .
      ba06f21f
  17. Apr 07, 2013
    • Raymond Toy's avatar
      Fix ticket:80 · b82f05d5
      Raymond Toy authored
       * Increase the size of *powers-of-ten* a bit.
       * In expt-ten, handle the case where the exponent exceeds the size of
         the *powers-of-ten* array.
      b82f05d5
  18. Mar 25, 2013
  19. Mar 24, 2013
  20. Mar 23, 2013
    • Raymond Toy's avatar
      Fix ticket:79 · a1c04fe7
      Raymond Toy authored
       * Initialize in-length to in-buffer-length, not 0.
       * Added a few more debugging prints.
      a1c04fe7
  21. Mar 06, 2013
  22. Mar 05, 2013
  23. Feb 27, 2013
    • Raymond Toy's avatar
      Fix ticket:74 · e8f64b3f
      Raymond Toy authored
      When accounting for the octets left in the in-buffer that we haven't
      read (or converted to characters), we were subtracting the index from
      the total in-buffer length.  This is wrong if the file is less than
      the total in-buffer length.  We should have subtracted from the actual
      number of octets in the in-buffer.
      e8f64b3f
  24. Feb 24, 2013
    • Raymond Toy's avatar
      Signal an error if the readtable case of the standard readtable is · 10859380
      Raymond Toy authored
      changed.
      
      * Rename the slot to %READTABLE-CASE (from READTABLE-CASE).
      * Add READTABLE-CASE and (SETF READTABLE-CASE) functions, as required.
      * Check for the standard readtable in (SETF READTABLE-CASE).
      10859380
    • Raymond Toy's avatar
      Fix ticket:73 · 00844093
      Raymond Toy authored
      error.lisp::
      * Create two new conditions, one for modifying the readtable and one
        for the pprint dispatch table.
      
      exports.lisp::
      * Export the two new conditions.
      
      pprint.lisp::
      * Add check to SET-PPRINT-DISPATCH to disallow modifying the standard
        pprint dispatch table.
      * Allow PPRINT-INIT to modify the standard pprint dispatch table.
      
      print.lisp::
      * In WITH-STANDARD-IO-SYNTAX, don't copy a new dispatch table; bind
        *print-pprint-dispatch* to the standard table.
      
      reader.lisp::
      * Add check to disallow modifying the standard readtable.
      * Allow INIT-STD-LISP-READTABLE to modify the standard readtable.
      00844093
  25. Feb 23, 2013
    • Raymond Toy's avatar
      Remove :PENTIUM from *FEATURES* · ba036ec2
      Raymond Toy authored
      code/misc.lisp::
      * Don't register :PENTIUM feature.
      
      code/time.lisp::
      * Replace :pentium with :x86; we assume all x86's have the rdtsc
        instruction.
      
      compiler/x86/float.lisp::
      compiler/x86/system.lisp::
      * Remove the vop guard on :pentium; assume we're always running on a
        pentium or better.
      ba036ec2
  26. Feb 22, 2013
    • Raymond Toy's avatar
      Remove the :i486 feature. · 6e4b4118
      Raymond Toy authored
      code/misc.lisp::
      * Remove :i486 from *features*
      
      code/multi-proc.lisp::
      * Change :i486 to :x86 on the off chance that multi-proc will be
        ported to other archs.
      
      compiler/x86/cell.lisp::
      compiler/x86/macros.lisp::
      compiler/x86/memory.lisp::
      * Remove guard on backend-featurep :i486 since we got rid of :i486 and
        have it always enabled now.
      6e4b4118
    • Raymond Toy's avatar
      Remove :COMMON from *FEATURES* · 3e1b21d4
      Raymond Toy authored
       lispinit.lisp::
       * Remove :COMMON from *FEATURES*
       misc.lisp::
       * Remove unused defvar of *features*.
      3e1b21d4
  27. Feb 19, 2013
  28. Feb 02, 2013
  29. Feb 01, 2013
    • Raymond Toy's avatar
      Fix ticket:72 : SIGFPE with no exceptions enabled · 0174bfeb
      Raymond Toy authored
       code/float-trap.lisp::
        * In the default case, check FOP to see if it's defined.  This means
          it's a divide exception.
      
       code/x86-vm.lisp::
        * Also check to see if the offending instruction is a DIV or IDIV,
          which means we got an integer overflow.  Return the appropriate
          values in this case.
      0174bfeb
Loading