Commit 52858943 authored by gerd's avatar gerd
Browse files

Remove the function definition of FIXNUM, which it must not

	have according to CLtS.  Found by Paul Dietz.

	Use boot14.lisp to bootstrap.

	* src/compiler/generic/utils.lisp (fixnumize): Renamed from
	fixnum.

	* src/bootfiles/18e/boot14.lisp: New file.

	* src/code/exports.lisp ("VM"): Export fixnumize.

	* src/assembly/alpha/arith.lisp, src/assembly/alpha/array.lisp:
	* src/assembly/alpha/assem-rtns.lisp, src/assembly/hppa/arith.lisp
	* src/assembly/hppa/array.lisp, src/assembly/hppa/assem-rtns.lisp
	* src/assembly/mips/alloc.lisp, src/assembly/mips/arith.lisp
	* src/assembly/mips/array.lisp, src/assembly/mips/assem-rtns.lisp
	* src/assembly/mips/bit-bash.lisp, src/assembly/ppc/arith.lisp
	* src/assembly/ppc/array.lisp, src/assembly/ppc/assem-rtns.lisp
	* src/assembly/rt/alloc.lisp, src/assembly/rt/arith.lisp
	* src/assembly/rt/array.lisp, src/assembly/rt/assem-rtns.lisp
	* src/assembly/sparc/arith.lisp, src/assembly/sparc/array.lisp
	* src/assembly/sparc/assem-rtns.lisp, src/assembly/x86/arith.lisp
	* src/assembly/x86/array.lisp, src/assembly/x86/assem-rtns.lisp
	* src/compiler/alpha/alloc.lisp, src/compiler/alpha/arith.lisp
	* src/compiler/alpha/array.lisp, src/compiler/alpha/call.lisp
	* src/compiler/alpha/move.lisp, src/compiler/alpha/nlx.lisp
	* src/compiler/alpha/static-fn.lisp, src/compiler/alpha/subprim.lisp
	* src/compiler/alpha/values.lisp, src/compiler/generic/utils.lisp
	* src/compiler/hppa/alloc.lisp, src/compiler/hppa/arith.lisp
	* src/compiler/hppa/array.lisp, src/compiler/hppa/call.lisp
	* src/compiler/hppa/move.lisp, src/compiler/hppa/nlx.lisp
	* src/compiler/hppa/static-fn.lisp, src/compiler/hppa/subprim.lisp
	* src/compiler/hppa/values.lisp, src/compiler/mips/alloc.lisp
	* src/compiler/mips/arith.lisp, src/compiler/mips/array.lisp
	* src/compiler/mips/call.lisp, src/compiler/mips/move.lisp
	* src/compiler/mips/nlx.lisp, src/compiler/mips/static-fn.lisp
	* src/compiler/mips/subprim.lisp, src/compiler/mips/values.lisp
	* src/compiler/ppc/alloc.lisp, src/compiler/ppc/arith.lisp
	* src/compiler/ppc/array.lisp, src/compiler/ppc/call.lisp
	* src/compiler/ppc/move.lisp, src/compiler/ppc/nlx.lisp
	* src/compiler/ppc/static-fn.lisp, src/compiler/ppc/subprim.lisp
	* src/compiler/ppc/values.lisp, src/compiler/rt/alloc.lisp
	* src/compiler/rt/arith.lisp, src/compiler/rt/array.lisp
	* src/compiler/rt/call.lisp, src/compiler/rt/move.lisp
	* src/compiler/rt/nlx.lisp, src/compiler/rt/static-fn.lisp
	* src/compiler/rt/subprim.lisp, src/compiler/rt/values.lisp
	* src/compiler/sparc/alloc.lisp, src/compiler/sparc/arith.lisp
	* src/compiler/sparc/array.lisp, src/compiler/sparc/call.lisp
	* src/compiler/sparc/move.lisp, src/compiler/sparc/nlx.lisp
	* src/compiler/sparc/static-fn.lisp, src/compiler/sparc/subprim.lisp
	* src/compiler/sparc/values.lisp, src/compiler/x86/alloc.lisp
	* src/compiler/x86/arith.lisp, src/compiler/x86/array.lisp
	* src/compiler/x86/call.lisp, src/compiler/x86/cell.lisp
	* src/compiler/x86/macros.lisp, src/compiler/x86/memory.lisp
	* src/compiler/x86/move.lisp, src/compiler/x86/nlx.lisp
	* src/compiler/x86/pred.lisp, src/compiler/x86/static-fn.lisp
	* src/compiler/x86/subprim.lisp, src/compiler/x86/values.lisp:
	Use fixnumize instead of fixnum.
parent 63c1a0fe
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/alpha/arith.lisp,v 1.4 1998/08/05 09:03:37 dtc Exp $")
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/alpha/arith.lisp,v 1.5 2003/08/03 11:27:52 gerd Rel $")
;;;
;;; **********************************************************************
;;;
@@ -69,7 +69,7 @@

  DO-STATIC-FUN
  (inst ldl lip (static-function-offset 'two-arg-+) null-tn)
  (inst li (fixnum 2) nargs)
  (inst li (fixnumize 2) nargs)
  (inst move cfp-tn ocfp)
  (inst move csp-tn cfp-tn)
  (inst jmp zero-tn lip))
@@ -126,7 +126,7 @@

  DO-STATIC-FUN
  (inst ldl lip (static-function-offset 'two-arg--) null-tn)
  (inst li (fixnum 2) nargs)
  (inst li (fixnumize 2) nargs)
  (inst move cfp-tn ocfp)
  (inst move csp-tn cfp-tn)
  (inst jmp zero-tn lip))
@@ -204,7 +204,7 @@

  DO-STATIC-FUN
  (inst ldl lip (static-function-offset 'two-arg-*) null-tn)
  (inst li (fixnum 2) nargs)
  (inst li (fixnumize 2) nargs)
  (inst move cfp-tn ocfp)
  (inst move csp-tn cfp-tn)
  (inst jmp zero-tn lip)
@@ -300,7 +300,7 @@
	  
	  DO-STATIC-FN
	  (inst ldl lip (static-function-offset ',static-fn) null-tn)
	  (inst li (fixnum 2) nargs)
	  (inst li (fixnumize 2) nargs)
	  (inst move cfp-tn ocfp)
	  (inst move csp-tn cfp-tn)
	  (inst jmp zero-tn lip)
@@ -345,7 +345,7 @@

  DO-STATIC-FN
  (inst ldl lip (static-function-offset 'eql) null-tn)
  (inst li (fixnum 2) nargs)
  (inst li (fixnumize 2) nargs)
  (inst move cfp-tn ocfp)
  (inst move csp-tn cfp-tn)
  (inst jmp zero-tn lip)
@@ -381,7 +381,7 @@

  DO-STATIC-FN
  (inst ldl lip (static-function-offset 'two-arg-=) null-tn)
  (inst li (fixnum 2) nargs)
  (inst li (fixnumize 2) nargs)
  (inst move cfp-tn ocfp)
  (inst move csp-tn cfp-tn)
  (inst jmp zero-tn lip)
@@ -417,7 +417,7 @@

  DO-STATIC-FN
  (inst ldl lip (static-function-offset 'two-arg-=) null-tn)
  (inst li (fixnum 2) nargs)
  (inst li (fixnumize 2) nargs)
  (inst move cfp-tn ocfp)
  (inst move csp-tn cfp-tn)
  (inst jmp zero-tn lip)
+8 −8
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/alpha/array.lisp,v 1.2 1994/10/31 04:55:55 ram Exp $")
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/alpha/array.lisp,v 1.3 2003/08/03 11:27:52 gerd Exp $")
;;;
;;; **********************************************************************
;;;
@@ -131,13 +131,13 @@

  test

  (inst subq length (fixnum 4) length)
  (inst subq length (fixnumize 4) length)
  (inst ldl data 0 lip)
  (inst bge length loop)

  (inst addq length (fixnum 3) length)
  (inst addq length (fixnumize 3) length)
  (inst beq length one-more)
  (inst subq length (fixnum 1) length)
  (inst subq length (fixnumize 1) length)
  (inst beq length two-more)
  (inst bne length done)

@@ -148,11 +148,11 @@
  (inst srl accum 27 accum)
  (inst mskll accum 4 accum)
  (inst bis accum byte accum)
  (inst addq length (fixnum 1) length)
  (inst addq length (fixnumize 1) length)

  two-more

  (inst subq length (fixnum 1) length)
  (inst subq length (fixnumize 1) length)
  (inst srl data 8 byte)
  (inst and byte #xff byte)
  (inst xor accum byte accum)
@@ -160,11 +160,11 @@
  (inst srl accum 27 accum)
  (inst mskll accum 4 accum)
  (inst bis accum byte accum)
  (inst addq length (fixnum 1) length)
  (inst addq length (fixnumize 1) length)

  one-more

  (inst subq length (fixnum 1) length)
  (inst subq length (fixnumize 1) length)
  (inst and data #xff byte)
  (inst xor accum byte accum)
  (inst sll accum 5 byte)
+9 −9
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/alpha/assem-rtns.lisp,v 1.3 1994/10/31 04:55:55 ram Exp $")
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/alpha/assem-rtns.lisp,v 1.4 2003/08/03 11:27:51 gerd Rel $")
;;;
;;; **********************************************************************
;;;
@@ -44,19 +44,19 @@
  ;; been loaded.
  (inst ble nvals default-a0-and-on)
  (inst ldl a1 (* 1 vm:word-bytes) vals)
  (inst subq nvals (fixnum 2) count)
  (inst subq nvals (fixnumize 2) count)
  (inst ble count default-a2-and-on)
  (inst ldl a2 (* 2 vm:word-bytes) vals)
  (inst subq nvals (fixnum 3) count)
  (inst subq nvals (fixnumize 3) count)
  (inst ble count default-a3-and-on)
  (inst ldl a3 (* 3 vm:word-bytes) vals)
  (inst subq nvals (fixnum 4) count)
  (inst subq nvals (fixnumize 4) count)
  (inst ble count default-a4-and-on)
  (inst ldl a4 (* 4 vm:word-bytes) vals)
  (inst subq nvals (fixnum 5) count)
  (inst subq nvals (fixnumize 5) count)
  (inst ble count default-a5-and-on)
  (inst ldl a5 (* 5 vm:word-bytes) vals)
  (inst subq nvals (fixnum 6) count)
  (inst subq nvals (fixnumize 6) count)
  (inst ble count done)

  ;; Copy the remaining args to the top of the stack.
@@ -67,7 +67,7 @@
  (inst ldl temp 0 vals)
  (inst addq vals vm:word-bytes vals)
  (inst stl temp 0 dst)
  (inst subq count (fixnum 1) count)
  (inst subq count (fixnumize 1) count)
  (inst addq dst vm:word-bytes dst)
  (inst bne count loop)
		
@@ -140,7 +140,7 @@
  (inst ldl a5 (* 5 vm:word-bytes) args)

  ;; Calc SRC, DST, and COUNT
  (inst subq nargs (fixnum register-arg-count) count)
  (inst subq nargs (fixnumize register-arg-count) count)
  (inst addq args (* vm:word-bytes register-arg-count) src)
  (inst ble count done)
  (inst addq cfp-tn (* vm:word-bytes register-arg-count) dst)
@@ -150,7 +150,7 @@
  (inst ldl temp 0 src)
  (inst addq src vm:word-bytes src)
  (inst stl temp 0 dst)
  (inst subq count (fixnum 1) count)
  (inst subq count (fixnumize 1) count)
  (inst addq dst vm:word-bytes dst)
  (inst bgt count loop)
	
+6 −6
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/hppa/arith.lisp,v 1.8 1994/10/31 04:56:18 ram Exp $")
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/hppa/arith.lisp,v 1.9 2003/08/03 11:27:51 gerd Exp $")
;;;
;;; **********************************************************************
;;;
@@ -130,7 +130,7 @@

  DO-STATIC-FUN
  (inst ldw (static-function-offset 'two-arg-+) null-tn lip)
  (inst li (fixnum 2) nargs)
  (inst li (fixnumize 2) nargs)
  (inst move cfp-tn ocfp)
  (inst bv lip)
  (inst move csp-tn cfp-tn))
@@ -159,7 +159,7 @@

  DO-STATIC-FUN
  (inst ldw (static-function-offset 'two-arg--) null-tn lip)
  (inst li (fixnum 2) nargs)
  (inst li (fixnumize 2) nargs)
  (inst move cfp-tn ocfp)
  (inst bv lip)
  (inst move csp-tn cfp-tn))
@@ -197,7 +197,7 @@

	  DO-STATIC-FN
	  (inst ldw (static-function-offset ',static-fn) null-tn lip)
	  (inst li (fixnum 2) nargs)
	  (inst li (fixnumize 2) nargs)
	  (inst move cfp-tn ocfp)
	  (inst bv lip)
	  (inst move csp-tn cfp-tn))))
@@ -235,7 +235,7 @@

  DO-STATIC-FN
  (inst ldw (static-function-offset 'eql) null-tn lip)
  (inst li (fixnum 2) nargs)
  (inst li (fixnumize 2) nargs)
  (inst move cfp-tn ocfp)
  (inst bv lip)
  (inst move csp-tn cfp-tn)
@@ -271,7 +271,7 @@

  DO-STATIC-FN
  (inst ldw (static-function-offset 'two-arg-=) null-tn lip)
  (inst li (fixnum 2) nargs)
  (inst li (fixnumize 2) nargs)
  (inst move cfp-tn ocfp)
  (inst bv lip)
  (inst move csp-tn cfp-tn)
+4 −4
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/hppa/array.lisp,v 1.5 1994/10/31 04:56:18 ram Exp $")
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/hppa/array.lisp,v 1.6 2003/08/03 11:27:51 gerd Rel $")
;;;
;;; **********************************************************************
;;;
@@ -93,10 +93,10 @@

  TEST
  (inst ldwx offset string data)
  (inst addib :>= (fixnum -4) length loop)
  (inst addi (fixnum 1) offset offset)
  (inst addib :>= (fixnumize -4) length loop)
  (inst addi (fixnumize 1) offset offset)

  (inst addi (fixnum 4) length length)
  (inst addi (fixnumize 4) length length)
  (inst comb := zero-tn length done :nullify t)
  (inst sub zero-tn length length)
  (inst sll length 1 length)
Loading