Skip to content
Snippets Groups Projects
  1. Dec 10, 2007
  2. Dec 09, 2007
  3. Dec 07, 2007
  4. Dec 06, 2007
    • rtoy's avatar
      This has the same issue with finding make as in build.sh. Copy over · 61c2dee3
      rtoy authored
      the code from build.sh to here so we do the same thing.
      
      (Should this be moved out to a separate file?)
      61c2dee3
    • cshapiro's avatar
      Minor changes to support the latest betas of FreeBSD 7. · 27bc1a7b
      cshapiro authored
      * Update the Config file to detect the GCC version at build time and
        use -iquote instead of -I- if we are not using GCC 2 or 3.  This
        silences the unsilenceable deprecation message emitted by GCC 4.
      
      * Check the FreeBSD version at compile time and switch the protection
        violation signal to SIGSEGV if we are on a version of FreeBSD 7 that
        will deliver a SIGSEGV instead of a SIGBUS for access errors.
      
      * Install sigbus_handler to handle whatever UNIX signal the macro
        PROTECTION_VIOLATION_SIGNAL expands to.  Get rid of the useless
        sigsegv_handler.  Add the PROTECTION_VIOLATION_CODE macro so we do
        not have to conditionalize the check that guards the write barrier
        code.
      27bc1a7b
  5. Dec 04, 2007
  6. Dec 03, 2007
    • pwerkowski's avatar
      caa5a031
    • rtoy's avatar
      From Helmut Eller, cmucl-imp, 2007/11/29: · 06764498
      rtoy authored
          the following example gets miscompiled:
      
          (defun foo ()
            (let ((<= (symbol-function 'list)))
      	(lambda (x y)
      	  (funcall <= x y))))
      
          (assert (equal (funcall (foo) 'a 'b) '(a b)))
      
          It seems to me that the compiler inappropriately applies a source
          transformation because the local variable happens to have a function
          type.  (This happens also for symbols other than <=, e.g. char= .)
      
          The following patch fixes that.  It seems to me, that we can use the
          secondary return of VALIDATE-CALL-TYPE (info) to decide whether we
          deal with a global variable, because VALIDATE-CALL-TYPE indirectly
          calls RECOGNIZE-KNOWN-CALL which does the proper checks for a global
          variable.
      06764498
    • rtoy's avatar
      Update from logs. · af072e4e
      rtoy authored
      af072e4e
  7. Nov 28, 2007
  8. Nov 27, 2007
  9. Nov 16, 2007
  10. Nov 15, 2007
    • rtoy's avatar
      To make single-float operations produce correctly rounded single-float · a836526a
      rtoy authored
      operations, store the result of the operation to the stack and reload
      it.
      
      This needs some work because the compiler there are a lot of redundant
      stores and loads.
      
      Also, I am unable to create code to exercise all of the possible
      conditions in the vops, so I am not 100% sure all of these are
      correct.
      a836526a
  11. Nov 14, 2007
    • rtoy's avatar
      Export COMPATIBLE-FUNCTION-TYPES-P. · 2b51b6a3
      rtoy authored
      2b51b6a3
    • rtoy's avatar
      Fix some mistakes accidentally introduced in the sigcontext · 42b3bda6
      rtoy authored
      rearrangement.  Changes not tested, but there are no compiler warnings
      anymore.
      
      o Fix typo:  It's fpstate, not ftpstate.
      o Fix dereferencing of the fpstate, which is not in the sigcontext
        anymore.  It's in the sc-mcontext slot of the sigcontext now.
      42b3bda6
    • rtoy's avatar
      boot-1007-11-14-1.lisp: · e86597ac
      rtoy authored
      o Add comments that we need to cross-compile on x86.
      o Load up boot-2007-11-1 for the x86 cross-compile to get rid of a
        warning.
      o Load up the default cross-x86-x86 script.
      
      exports.lisp:
      o Remove FLOAT-ACCURACY.  It is now gone.
      e86597ac
    • rtoy's avatar
      In UNIX-MMAP, replace FILE-OFFSET with (SIGNED-BYTE 32), since · 71a7a181
      rtoy authored
      unix-glibc2 doesn't define FILE-OFFSET.
      71a7a181
    • cshapiro's avatar
      * Change the way the x87 precision control is managed. While in Lisp, · 1440af76
      cshapiro authored
        the precision control will always be set to double precision.  For
        the duration of calls into C, the precision control will be set to
        the ABI default.  On Linux and Darwin this is double extended
        precision.  On all other platforms the precision control is left as
        double precision.  The specious FLOAT-ACCURACY declaration has been
        eliminated.
      
      * Shorten the precision control field to 24-bits by disposing of the
        unexamined high order eight bits of the status word.  This compacts
        the code generated around floating point mode changes and reduces
        consing.
      
      * Eliminate unnecessary uses of FLDENV and FSTENV.  We can substitute a
        use of FSTENV with FSTSW in FLOATING-POINT-MODES.  This reduces the
        number of cycles to access the relevant mode bits by a factor of
        thirty.  We cannot eliminate FLDENV in SET-FLOATING-POINT-MODES, but
        the common case does not require an update to the status word.  A
        fast path has been added to the VOP that improves the execution time
        by at least a factor of fifteen.
      
      * Remove the precision control option to SET-FLOATING-POINT-MODES.  It
        is the responsibility of the compiler to generating code that yields
        correctly rounded results in double and single precision.
      1440af76
    • cshapiro's avatar
  12. Nov 09, 2007
  13. Nov 06, 2007
  14. Nov 05, 2007
  15. Nov 04, 2007
  16. Oct 31, 2007
    • rtoy's avatar
      Update from Paul Foley. · 989bf7e1
      rtoy authored
      o Disable package errors when loading up external formats.
      o A minor patch allowing string-to-octets and vice versa to write into
        a preallocated array (though they might still allocate a bigger one
        if necessary),
      o Fix up any confusion between simple-base-string and simple-string so
        that nothing breaks when/if they're not the same.
      989bf7e1
  17. Oct 25, 2007
    • rtoy's avatar
      Oops. Don't need -x flag anymore. · fd653a61
      rtoy authored
      fd653a61
    • rtoy's avatar
      Import Paul Foley's external-formats support. · e49c536b
      rtoy authored
      New files:
      o code/extfmts.lisp
      o pcl/simple-streams/external-formats/iso8859-1.lisp
      o pcl/simple-streams/external-formats/void.lisp
      
      code/exports.lisp:
      o Export the new symbols STRING-TO-OCTETS, OCTETS-TO-STRING,
        *DEFAULT-EXTERNAL-FORMAT*, ENCODE-STRING, and DECODE-STRING from the
        STREAM package
      o Make the symbols in the EXT package too.
      
      pcl/simple-streams/internal.lisp:
      o Move the implementation of STRING-TO-OCTETS and friends to a new
        file (extfmts.lisp).
      
      pcl/simple-streams/external-formats/utf-8.lisp:
      o New implementation.
      
      tools/make-main-dist.sh:
      o Create new target directory to hold external formats
      o Copy all of the external formats to the new directory.
      
      tools/pclcom.lisp:
      o Compile new code
      
      tools/worldcom.lisp:
      o Compile code/extfmts.lisp
      
      tools/worldload.lisp:
      o Load code/extfmts.lisp
      e49c536b
    • rtoy's avatar
      Update to 19d. · 386fc821
      rtoy authored
      386fc821
  18. Oct 19, 2007
  19. Oct 18, 2007
    • rtoy's avatar
      Slight reimplemention of how tracing of local functions is done. We · 620750d0
      rtoy authored
      don't do the hackish list-of-name to find local debug function
      anymore.  This change allows us to retrace local functions when the
      function is redefined.
      
      code/debug-int.lisp:
      o Add :LOCAL-NAME keyword parameter to tell us to look for the local
        function within the given FUN.  The bizarre hack using a list as the
        FUN to do this is now gone.
      
      code/ntrace.lisp:
      o Change TRACE-FDEFINITION to return a fourth value if the function is
        a local function.  The fourth value is the name of the local
        function.
      
      o TRACE-1 recognizes the extra value from TRACE-FDEFINITION to
        determine if this is a local function that needs to be traced.
        Also, if DEFINITION is given, we process that carefully so we can
        trace the new definition with a local function.
      
      o UNTRACE-1 likewise updated to recognize and handle local functions.
      
      o TRACE-REFINED-UPDATE modified so that when a function is redefined,
        we retrace the function itself if it was traced (as before).  But we
        also look through the traced functions to see if we need to retrace
        the local definitions in this new function.
      620750d0
  20. Oct 10, 2007
    • rtoy's avatar
      Update from logs. · 3306cc61
      rtoy authored
      3306cc61
    • rtoy's avatar
      o Use new RATIONAL-TO-DD function to convert bignums to · fa8ea7c8
      rtoy authored
        double-doubles.
      o Remove now unused DOUBLE-DOUBLE-FLOAT-FROM-BITS.
      
      This should fix an issue with converting bignums to double-doubles.
      For example (- (ash 1 150) 1) can now be be represented accurately as
      a double-double.
      fa8ea7c8
    • rtoy's avatar
      o Add RATIONAL-TO-DD, an accurate method to convert rationals to · 4f86a308
      rtoy authored
        double-double-floats.  (From Richard Fateman.)
      o Use that in FLOAT-RATIO for convertnig ratios to
        double-double-floats.
      o Remove old double-double-float support from FLOAT-RATIO.
      o Split FLOAT-RATIO in two, one supporting single/double floats, and
        one for double-double-floats.
      
      With these changes, I think we now have print/read consistency for
      double-double-float numbers.
      4f86a308
Loading