1. 21 Sep, 2013 1 commit
    • Raymond Toy's avatar
      Update for release 20e. · aca64f09
      Raymond Toy authored
       * src/compiler/byte-comp.lisp
         * Update fasl file version to 20e
       * bootfiles/20d/boot-20e.lisp
         * Use this during a normal compile to update to 20e.
      aca64f09
  2. 27 Oct, 2012 1 commit
    • Raymond Toy's avatar
      * src/compiler/byte-comp.lisp · b55fd57b
      Raymond Toy authored
         * Bump fasl version for release
       * src/bootfiles/20c/boot-20d.lisp
         * Boot file for building the release with a new fasl version.
      b55fd57b
  3. 04 Nov, 2011 1 commit
  4. 22 Oct, 2011 1 commit
  5. 25 Sep, 2011 1 commit
  6. 31 Jul, 2010 1 commit
    • rtoy's avatar
      Since it's about time, and while we're doing the cross-compile anyway, · 472cf0e6
      rtoy authored
      let's update the fasl version to 20b.
      
      To build this, use boot-2010-07-1-cross as the cross-compile script
      and -B src/bootfiles/20a/boot-2010-07-1.lisp for cross-build-world.sh.
      
      If there are any restarts, choose the clobber-it restart.
      
      bootfiles/20a/boot-20b.lisp:
      o Bootstrap the change to fasl version 20b.
      
      bootfiles/20a/boot-2010-07-1.lisp:
      o Load boot-20b.lisp.
      
      compiler/byte-comp.lisp:
      o Update byte-fasl-file-version to 20b.
      472cf0e6
  7. 20 Apr, 2010 1 commit
  8. 19 Mar, 2010 1 commit
  9. 09 Sep, 2009 1 commit
  10. 11 Jun, 2009 1 commit
  11. 11 Mar, 2009 1 commit
  12. 30 Jan, 2008 1 commit
  13. 13 Nov, 2006 1 commit
    • rtoy's avatar
      Update fasl file version to 19d for snapshots. · 79a39dbc
      rtoy authored
      compiler/byte-comp.lisp:
      o Update version
      
      bootfiles/19c/boot-19d.lisp:
      o Boot file for updating the fasl version.  Use this if building from
        a snapshot.  Or you can use a 19d build for this.
      79a39dbc
  14. 30 Aug, 2005 1 commit
    • rtoy's avatar
      Update to 19c fasl file version. · 725ba7ca
      rtoy authored
      bootfiles/boot-19c.lisp:
      o Bootfile for 19c.
      
      compiler/byte-comp.lisp:
      o Make the fasl file version #x19c
      
      tools/build.sh:
      o Update bootfile directory to 19b.
      
      Use boot-19c.lisp to bootstrap this change.
      725ba7ca
  15. 17 May, 2005 1 commit
  16. 09 Oct, 2003 2 commits
    • gerd's avatar
      (compile nil '(lambda (a c) · 423f4765
      gerd authored
      		(declare (notinline 1+))
      		(declare (optimize (speed 0)))
      		(declare (optimize (debug 0)))
      		(unwind-protect
      		    (block b5 (1+ (unwind-protect
      	                           (if a (return-from b5 -30179678) c)))))))
      	 => assertion failed (EQUAL (C::BYTE-BLOCK-INFO-START-STACK
      	                            EXTENSIONS:INFO)
      
      	* src/compiler/byte-comp.lisp (walk-block): #+nil an
      	assertion.  Reported by Paul Dietz.
      423f4765
    • gerd's avatar
      (funcall (compile nil · 2e460b97
      gerd authored
      	                  '(lambda (a b c)
      	                      (declare (optimize (speed 0) (debug 0)))
      	                        (logcount
      	                          (let ((v3 (if a (block b3 a) b)))
      	                          c))))
      	         46611128 -69 -133775)
      	=> segmentation violation
      
      	* src/compiler/byte-comp.lisp (output-branch): Always emit
      	conditional branches even if they go to the following instruction,
      	because conditional branches have the side effect of popping the
      	eval stack.  Reported by Paul Dietz.
      2e460b97
  17. 26 Sep, 2003 1 commit
  18. 25 Sep, 2003 1 commit
  19. 04 Sep, 2003 1 commit
  20. 02 Sep, 2003 1 commit
  21. 25 Aug, 2003 1 commit
    • gerd's avatar
      Dynamic-extent support for x86. Use boot16.lisp for · f3fe0b8d
      gerd authored
      	bootstrapping.
      
      	* src/bootfiles/18e/boot16.lisp: New file.
      
      	* src/docs/cmu-user/extensions.tex (Dynamic-Extent Declarations):
      	New section.
      
      	* src/compiler/x86/macros.lisp (dynamic-extent-allocation):
      	Rename from stack-allocation, save an instruction.
      	(allocation): Don't call trust-dynamic-extent-declaration-p.
      
      	* src/compiler/x86/alloc.lisp (%dynamic-extent-start)
      	(%dynamic-extent-end): New vops.
      	(list-or-list*): Add constant arg dynamic-extent.
      	(fixed-alloc): Likewise.
      
      	* src/compiler/generic/vm-ir2tran.lisp (do-fixed-alloc): Call
      	fixed-alloc with dynamic-extent arg.
      
      	* src/compiler/hppa/alloc.lisp (%dynamic-extent-start)
      	(%dynamic-extent-end): Add dummy vops.
      	* src/compiler/mips/alloc.lisp:
      	* src/compiler/ppc/alloc.lisp:
      	* src/compiler/alpha/alloc.lisp:
      	* src/compiler/rt/alloc.lisp: Likewise.
      
      	* src/compiler/seqtran.lisp (mapper-transform): Add dynamic-extent
      	declarations.
      
      	* src/compiler/node.lisp (continuation): Add slot
      	dynamic-extent.
      	(cleanup): Add :dynamic-extent to type of slot kind.
      
      	* src/compiler/knownfun.lisp (dynamic-extent-closure-safe):
      	New attribute.
      
      	* src/compiler/ir2tran.lisp (ir2-stack-allocate): New function.
      	(ir2-convert-closure): Handle dynamic-extent case differently.
      	(%dynamic-extent, %dynamic-extent-start, %dynamic-extent-end)
      	<ir2-convert>: New optimizers.
      	(list, list*): Handle dynamic-extent.
      
      	* src/compiler/ir1tran.lisp (*trust-dynamic-extent-declarations*)
      	(*dynamic-extent-trace*): New variables.
      	(trust-dynamic-extent-declaration-p): New function.
      	(process-dynamic-extent-declaration)
      	(dynamic-extent-allocation-p, dynamic-extent-closure-args)
      	(gen-%dynamic-extent, with-dynamic-extent): New functions/macros.
      	(ir1-convert-combination): Handle dynamic-extent closure args.
      	(ir1-convert-combination-args): Add arg dynamic-extent-args.
      	Set continuation-dynamic-extent for these args.
      	(process-dynamic-extent-declaration): Rewritten.
      	(ir1-convert-dynamic-extent-bindings): New function.
      	(ir1-convert-special-bindings): Call it.
      	(ir1-convert-lambda-body): Handle dynamic-extent rest lists.
      	(let): Handle dynamic-extent vars.
      	(let*): Call ir1-convert-dynamic-extent-bindings.
      
      	* src/compiler/globaldb.lisp (*trust-dynamic-extent-declarations*)
      	(trust-dynamic-extent-declaration-p): Remove.
      
      	* src/compiler/fndb.lisp: Add dynamic-extent-closure-safe
      	attribute to assorted functions.
      
      	* src/compiler/envanal.lisp (environment-analyze): Call
      	find-dynamic-extent-safe-closures.
      	(emit-cleanups): Handle :dynamic-extent cleanups.
      	(*suppress-dynamic-extent-closure-safe*): New variable.
      	(mark-dynamic-extent-safe-closures)
      	(find-dynamic-extent-safe-closures): New functions.
      
      	* src/compiler/byte-comp.lisp (compute-produces-and-consumes):
      	Treat :dynamic-extent like :tagbody cleanups.
      
      	* src/code/exports.lisp ("C"): Export ir2-stack-allocate,
      	%dynamic-extent, %dynamic-extent-start, %dynamic-extent-end.
      
      	* src/code/byte-interp.lisp (%dynamic-extent):
      	(%dynamic-extent-start, %dynamic-extent-end): New functions.
      	(toplevel): Enable block compilation.
      f3fe0b8d
  22. 16 Jul, 2003 1 commit
  23. 26 May, 2003 1 commit
    • gerd's avatar
      Fix code signaling type-errors which did not have :datum and/or · 98ee6882
      gerd authored
      	:expected-type, which lead to the conditions which were not
      	displayable because the corresponding condition slots are
      	not bound.
      
      	* src/code/seq.lisp (coerce):
      	* src/code/list.lisp (nreconc):
      	* src/code/interr.lisp (invalid-array-index-error):
      	* src/code/bignum.lisp (bignum-to-float):
      	* src/code/byte-interp.lisp (%byte-car, %byte-cdr): Fix
      	type-errors to include :datum and/or :expected-type.
      
      	Add &more handling to the byte-compiler and -interpreter.
      	Reported by Paul Werkowski on cmucl-imp.
      
      	* src/compiler/byte-comp.lisp (make-xep-for): Handle &more.
      
      	* src/code/byte-interp.lisp (hairy-byte-function): Change
      	type of rest-arg-p slot.
      	(invoke-xep): Handle &more.
      98ee6882
  24. 11 Apr, 2003 1 commit
    • emarsden's avatar
      · c1a797db
      emarsden authored
       The LAMBDA-ENVIRONMENT of a node is sometimes nil.
      c1a797db
  25. 12 Feb, 2003 1 commit
    • emarsden's avatar
      Update the fasl-file-version and byte-fasl-file-version to #x18e, in · 7a2c356d
      emarsden authored
      preparation for the 18e release. This change makes it necessary to
      intervene during the rebuild: when loading the FASL files, a
      continuable error related to fasl-file-version mismatch will be
      signalled. Say
      
         (setq cl::*skip-fasl-file-version-check* t)
      
      then select the CONTINUE restart, and the build should proceed without
      problems.
      7a2c356d
  26. 14 Nov, 2002 1 commit
    • toy's avatar
      Bug and solution from Eric Marsden: · c004aacc
      toy authored
      The function GENERATE-BYTE-CODE-FOR-REF is calling COMBINATION-ARGS on
      the return value of CONTINUATION-DEST. In the situation that I have
      run into, the return value is of type MV-COMBINATION instead of
      COMBINATION, so an error occurs.
      
      Changing the COMBINATION-ARGS to BASIC-COMBINATION-ARGS seems to fix
      the problem...
      c004aacc
  27. 31 Mar, 2002 1 commit
    • pw's avatar
      From Eric Marsden: · 9792d475
      pw authored
        - change the FASL file format to store fasl-file version as uint32,
          rather than a single octet. This requires small changes to the
          FASL dumper and two FOP functions
        - change the FASL-FILE-FORMAT to #x18d for each of the backends
        - change the byte-code version number to #x18d
        - make the FASL file version checking errors continuable
        - add a variable CL::*SKIP-FASL-FILE-VERSION-CHECK* that avoids the
          version check
        - add a bootfile that bootstraps this change
      
      Loading an old FASL file results in the following behaviour:
      
      ,----
      | Error in function COMMON-LISP::CHECK-VERSION:
      |    #<Stream for file "/usr/local/lib/cmucl/lib/subsystems/defsystem-library.x86f">
      |    was compiled for fasl-file version 3E3F02, but this is version 18D
      | Restarts:
      |   0: [CONTINUE] Load #<Stream for file "/usr/local/lib/cmucl/lib/subsystems/defsystem-library.x86f"> anyway
      |   1:            Return NIL from load of #p"modules:defsystem-library".
      |   2:            Return NIL from load of "home:.cmucl-init".
      |   3: [ABORT   ] Skip remaining initializations.
      `----
      9792d475
  28. 26 Sep, 2000 1 commit
  29. 14 Jun, 2000 1 commit
  30. 25 Feb, 1999 1 commit
  31. 20 Jan, 1998 1 commit
  32. 31 Oct, 1994 1 commit
  33. 19 Mar, 1994 1 commit
  34. 07 Mar, 1994 1 commit
  35. 11 Feb, 1994 1 commit
  36. 01 Sep, 1993 1 commit
  37. 24 Aug, 1993 1 commit
    • ram's avatar
      Stack analysis didn't really work in the presence of non-local exits. Two · 0168d754
      ram authored
      changes were needed:
        -- make NLX entry blocks look like successors of the
           corresponding entry block in life analysis.  This makes sure that any
           values live only at the NLX entry point are seen to be live at the place
           where the catcher is created.
        -- Push a :NLX-ENTRY marker on the stack when we are doing the simulation and
           we come to a place where we are going to recurse in the byte interpreter
           to create a catcher.  The marker protects values underneath it from being
           considered dead.  When we come to the corresponding breakup, we remove the
           marker.
      0168d754
  38. 23 Aug, 1993 1 commit
  39. 20 Aug, 1993 1 commit