Skip to content
  1. Aug 11, 2013
  2. Jul 18, 2012
    • Raymond Toy's avatar
      Fix ticket:61, using option 2. · 40b532c5
      Raymond Toy authored
      src/lisp/gencgc.c:
      o Save and restore the FPU state in alloc().
      
      src/compiler/x86/alloc.lisp
      src/compiler/x86/array.lisp
      src/compiler/x86/call.lisp
      src/compiler/x86/float-sse2.lisp
      src/compiler/x86/float.lisp
      src/compiler/x86/move.lisp
      src/compiler/x86/sap.lisp:
      o Don't need to use :save-p anymore because the allocation routine
        saves an live registers anyway.  This improves code generation as
        well.
      
      src/general-info/release-20d.txt:
      o Update.
      40b532c5
  3. Jun 30, 2012
  4. Nov 04, 2011
  5. Sep 25, 2011
  6. Jul 14, 2010
  7. Mar 19, 2010
  8. Nov 12, 2008
  9. Jan 03, 2008
    • cshapiro's avatar
      Switch the FreeBSD port to use the common floating point trap handling · 9495c516
      cshapiro authored
      code.  Rather than introduce a new FreeBSD case to the x86 sigcontext
      member accessor routines, collapse all of the system specific routines
      down to a common set of routines.
      
      * code/debug-int.lisp - Disable some Darwin-specific code to debug
        NULL mcontext pointers.
      
      * code/float-trap.lisp - Remove ancient FreeBSD-specific code for
        handling floating point signals.
      
      * code/macros.lisp, code/sap.lisp, compiler/saptran.lisp - Include the
        SAP-REF-LONG setter by default on the x86.
      
      * code/x86-vm.lisp - Remove operating system specific sigcontext
        definitions and sigcontext accessors.  Define the alien sigcontext
        as a system area pointer.  Replace the sigcontext accessors with
        foreign function calls that mask the complexity of the underlying
        sigcontext member access.
      
      * compiler/x86/float.lisp - Unconditionally define STORE-LONG-FLOAT.
        This function is used by the %SET-SAP-REF-LONG VOP that underlies
        the SAP-REF-LONG setter.
      
      * compiler/x86/sap.lisp - Unconditionally define %SET-SAP-REF-LONG.
        In the case where there is not a distinct LONG-FLOAT type, admit
        DOUBLE-FLOAT values instead.  The x87 automatically widens values
        pushed onto stack.  This mirrors the behavior of the SAP-REF-LONG
        VOP.
      
      * lisp/Darwin-os.c, lisp/Linux-os.c - Define functions to access
        sigcontext members of interest to Lisp.  Delete the sc_reg function
        and replace its uses with os_sigcontext_reg which is more suitably
        typed.
      
      * lisp/FreeBSD-os.c - Define functions to access sigcontext members of
        interest to Lisp.  We need to be careful about the SSE and non-SSE
        cases for retrieving x87 registers from the saved machine state.
        Define a low-level SIGFPE handler to intercept floating point traps
        and restore the cleared status word bits based on the signal code.
        Get rid of sc_reg for the reasons noted above.
      
      * lisp/Darwin-os.h, lisp/FreeBSD-os.h - Declare the restore_fpu
        function and define a specialized RESTORE_FPU macro.  Remove the
        sc_reg prototype.
      
      * lisp/Linux-os.h - Remove the sc_reg prototype.
      
      * lisp/os.h - Add prototypes for the new os_sigcontext functions.
      
      * lisp/x86-lispregs.h - Redefine SC_REG and SC_PC to expand out to the
        new os_sigcontext functions.  Redfine SC_SP to expand out to SC_REG.
        Eliminate all platform-specific defintions of SC_PC and SC_SP.
      9495c516
  10. Sep 15, 1999
  11. Mar 21, 1998
  12. Feb 19, 1998
  13. Nov 19, 1997
  14. Nov 05, 1997
    • dtc's avatar
      Replace the allocation macros with a function, and pass the VOP · 7b60cd6a
      dtc authored
      node-var as an optional argument so the allocation function can make
      policy decisions (to inline with GENCGC).
      
      Remove the make-complex-{single,double}-float functions, and just
      define the VOPs as translations of the complex function.
      
      Fix a few bugs in the complex-float move VOPs.
      7b60cd6a
  15. Nov 04, 1997
    • dtc's avatar
      Merge in changes to the x86 backend from the gencgc branch, allowing · 725ab9ee
      dtc authored
      common binaries to be run on both:
      
      * The immediate-stack storage class has been removed, this is
      unnecessary as the descriptor-stack SC can be used. It may have once
      been part of some GC stragety to reduce the number of stack slots that
      needed to be noted for a GC.
      
      * The object allocation has been abstracted and cleaned up. This
      should produce slightly faster smaller code with CGC, and can be
      compiled to support inline allocation with GENCGC.  CGC compiled code
      will run under GENCGC, and GENCGC binaries that don't use inline
      allocation will run under CGC.
      
      * A random hash is now placed in the unused symbol object slot (the
      symbol-hash slot). This saves flushing the info cache at each GC, and
      may have other uses for symbol based hash tables. Should help MP
      safety.
      
      * Common set of static symbols used by both CGC and GENCGC.
      
      * Corrections to the stack-ref VOP; now returns lisp objects not
      unsigned numbers. Required some patches to debug-int.
      
      * Inline unsigned/signed byte 32 to bignum allocation enabled.
      
      * Support for the x86 xadd instruction applied to instance slot and
      symbol values - may be handy for some MP code.
      
      * Bump up the FASL file version from 1 to 2.
      725ab9ee
  16. Oct 05, 1997
  17. Feb 08, 1997
    • dtc's avatar
      Some style cleanups. · d38bd461
      dtc authored
      Change the offset used by the sap VOPS from an unsigned-num to a
      signed-num. This helps fixes some SAP functions for negative offsets
      which are useful on the x86 with its stack growing down. The offset is
      currently declared to be a index (unsigned-byte 29) in
      compiler/saptran.lisp so this should work without change, but to use
      the negative offsets requires complementary changes to saptran (index
      -> fixnum).
      d38bd461
  18. Jan 18, 1997