/[cmucl]/src/compiler/ir2tran.lisp
ViewVC logotype

Log of /src/compiler/ir2tran.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Tag:

Revision 1.77 - (view) (annotate) - [select for diffs]
Tue Apr 20 17:57:46 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: GIT-CONVERSION, HEAD, RELEASE_20b, cross-sol-x86-2010-12-20, cross-sol-x86-base, cross-sol-x86-merged, cross-sparc-branch-base, release-20b-pre1, release-20b-pre2, snapshot-2010-05, snapshot-2010-06, snapshot-2010-07, snapshot-2010-08, snapshot-2010-11, snapshot-2010-12, snapshot-2011-01, snapshot-2011-02, snapshot-2011-03, snapshot-2011-04, snapshot-2011-06, snapshot-2011-07, snapshot-2011-09, sparc-tramp-assem-2010-07-19, sparc-tramp-assem-base
Branch point for: RELEASE-20B-BRANCH, cross-sol-x86-branch, cross-sparc-branch, sparc-tramp-assem-branch
Changes since 1.76: +2 -2 lines
Diff to previous 1.76
Change uses of _"foo" to (intl:gettext "foo").  This is because slime
may get confused with source locations if the reader macros are
installed.

Revision 1.76 - (view) (annotate) - [select for diffs]
Fri Mar 19 15:19:00 2010 UTC (4 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: post-merge-intl-branch, snapshot-2010-04
Changes since 1.75: +6 -4 lines
Diff to previous 1.75
Merge intl-branch 2010-03-18 to HEAD.  To build, you need to use
boot-2010-02-1 as the bootstrap file.  You should probably also use
the new -P option for build.sh to generate and update the po files
while building.

Revision 1.75.26.1 - (view) (annotate) - [select for diffs]
Thu Feb 25 20:34:53 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-2-branch
Changes since 1.75: +6 -4 lines
Diff to previous 1.75 , to next main 1.77
Restart internalization work.  This new branch starts with code from
the intl-branch on date 2010-02-12 18:00:00+0500.  This version works
and

LANG=en@piglatin bin/lisp

works (once the piglatin translation is added).

Revision 1.75.24.2 - (view) (annotate) - [select for diffs]
Thu Feb 11 01:33:01 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-2010-03-18-1300, intl-branch-working-2010-02-11-1000, intl-branch-working-2010-02-19-1000
Changes since 1.75.24.1: +4 -4 lines
Diff to previous 1.75.24.1 , to branch point 1.75 , to next main 1.77
Mark translatable strings; regenerate cmucl.pot and ko/cmucl.po
accordingly.

Revision 1.75.24.1 - (view) (annotate) - [select for diffs]
Mon Feb 8 17:15:50 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
Changes since 1.75: +3 -1 lines
Diff to previous 1.75
Add (intl:textdomain "cmucl") to the files to set the textdomain.

Revision 1.75 - (view) (annotate) - [select for diffs]
Sat Mar 3 01:52:06 2007 UTC (7 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, RELEASE_20a, amd64-dd-start, intl-2-branch-base, intl-branch-base, label-2009-03-16, label-2009-03-25, merge-sse2-packed, merge-with-19f, merged-unicode-utf16-extfmt-2009-06-11, portable-clx-base, portable-clx-import-2009-06-16, pre-merge-intl-branch, pre-telent-clx, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, release-20a-base, release-20a-pre1, snapshot-2007-04, snapshot-2007-05, snapshot-2007-06, snapshot-2007-07, snapshot-2007-08, snapshot-2007-09, snapshot-2007-10, snapshot-2007-11, snapshot-2007-12, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2008-08, snapshot-2008-09, snapshot-2008-10, snapshot-2008-11, snapshot-2008-12, snapshot-2009-01, snapshot-2009-02, snapshot-2009-04, snapshot-2009-05, snapshot-2009-07, snapshot-2009-08, snapshot-2009-11, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03, sse2-base, sse2-checkpoint-2008-10-01, sse2-merge-with-2008-10, sse2-merge-with-2008-11, sse2-packed-2008-11-12, sse2-packed-base, unicode-snapshot-2009-05, unicode-snapshot-2009-06, unicode-string-buffer-base, unicode-string-buffer-impl-base, unicode-utf16-base, unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26, unicode-utf16-extfmt-2009-03-27, unicode-utf16-extfmt-2009-06-11, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-extfmts-sync-2008-12, unicode-utf16-string-support, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12, unicode-utf16-sync-label-2009-03-16
Branch point for: RELEASE-19F-BRANCH, RELEASE-20A-BRANCH, amd64-dd-branch, intl-2-branch, intl-branch, portable-clx-branch, release-19e-branch, sse2-branch, sse2-packed-branch, unicode-string-buffer-branch, unicode-string-buffer-impl-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.74: +6 -6 lines
Diff to previous 1.74
compiler/ir2tran.lisp:
o Implement stack clearing stuff for ppc.

compiler/ppc/call.lisp:
o Implement stack clearing for xep-allocate-frame and allocate-frame,
  mostly cargo-culting the sparc version.

Revision 1.74 - (view) (annotate) - [select for diffs]
Mon Aug 25 20:51:00 2003 UTC (10 years, 7 months ago) by gerd
Branch: MAIN
CVS Tags: amd64-merge-start, double-double-array-base, double-double-array-checkpoint, double-double-base, double-double-init-%make-sparc, double-double-init-checkpoint-1, double-double-init-ppc, double-double-init-sparc, double-double-init-sparc-2, double-double-init-x86, double-double-irrat-end, double-double-irrat-start, double-double-reader-base, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1, lisp-executable-base, mod-arith-base, ppc_gencgc_snap_2005-05-14, ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06, prm-before-macosx-merge-tag, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, release-19b-base, release-19b-pre1, release-19b-pre2, release-19c, release-19c-base, release-19c-pre1, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12, snapshot-2004-04, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, snapshot-2004-08, snapshot-2004-09, snapshot-2004-10, snapshot-2004-11, snapshot-2004-12, snapshot-2005-01, snapshot-2005-02, snapshot-2005-03, snapshot-2005-04, snapshot-2005-05, snapshot-2005-06, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09, snapshot-2005-10, snapshot-2005-11, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06, snapshot-2006-07, snapshot-2006-08, snapshot-2006-09, snapshot-2006-10, snapshot-2006-11, snapshot-2006-12, snapshot-2007-01, snapshot-2007-02, snapshot-2007-03
Branch point for: double-double-array-branch, double-double-branch, double-double-reader-branch, lisp-executable, mod-arith-branch, ppc_gencgc_branch, release-19a-branch, release-19b-branch, release-19c-branch, release-19d-branch
Changes since 1.73: +54 -26 lines
Diff to previous 1.73
	Dynamic-extent support for x86.  Use boot16.lisp for
	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.

Revision 1.73.2.5 - (view) (annotate) - [select for diffs]
Mon Aug 25 17:06:46 2003 UTC (10 years, 7 months ago) by gerd
Branch: dynamic-extent
Changes since 1.73.2.4: +2 -4 lines
Diff to previous 1.73.2.4 , to branch point 1.73 , to next main 1.77
Merge with HEAD.

Revision 1.73.2.4 - (view) (annotate) - [select for diffs]
Sat Aug 16 15:05:44 2003 UTC (10 years, 8 months ago) by gerd
Branch: dynamic-extent
Changes since 1.73.2.3: +13 -15 lines
Diff to previous 1.73.2.3 , to branch point 1.73
	* src-dx/compiler/ir1tran.lisp (*dynamic-extent-trace*)
	(*suppress-dynamic-extent-closure-safe*): New variables.
	(dynamic-extent-closure-args): Use
	(ir1-convert-combination): Use *dynamic-extent-trace*.
	*suppress-dynamic-extent-closure-safe*.  Note lambdas.

	* src-dx/compiler/ir2tran.lisp: Use *dynamic-extent-trace*.

Revision 1.73.2.3 - (view) (annotate) - [select for diffs]
Fri Aug 15 18:53:02 2003 UTC (10 years, 8 months ago) by gerd
Branch: dynamic-extent
Changes since 1.73.2.2: +27 -31 lines
Diff to previous 1.73.2.2 , to branch point 1.73
	* src/compiler/seqtran.lisp (mapper-transform): Add
	dynamic-extent declarations for better testing.

	* src/compiler/ir2tran.lisp (%dynamic-extent):
	(%dynamic-extent-start, %dynamic-extent-end): Optimizers
	rewritten/added.

	* src/compiler/ir1tran.lisp (process-dynamic-extent-declaration):
	Add check for not byte-compiling.
	(dynamic-extent-allocation): Removed.
	(dynamic-extent-allocation-p): Added.
	(dynamic-extent-closure-args): Return indices only.
	(gen-%dynamic-extent): Rewritten.
	(with-dynamic-extent): Remove last arg.
	(ir1-convert-dynamic-extent-bindings): Use dynamic-extent-allocation-p.
	(let): Likewise.

	* src/compiler/fndb.lisp (%dynamic-extent)
	(%dynamic-extent-start): Change/add defknowns.

	* src/compiler/eval-comp.lisp (%dynamic-extent)
	(%dynamic-extent-start, %dynamic-extent-end): Change/add.

	* src/compiler/envanal.lisp (compute-closure-lengths):
	Remove function.
	(emit-cleanups): Handle %dynamic-extent differently.

	* src/compiler/byte-comp.lisp (%dynamic-extent-start): Add.
	(%dynamic-extent, %dynamic-extent-end): Change according
	to new arg list.

	* src/code/exports.lisp ("C"): Export allocation-size,
	%dynamic-extent, %dynamic-extent-start, %dynamic-extent-end.

	* src/compiler/x86/macros.lisp (dynamic-extent-allocation):
	Simplify again.

	* src/compiler/x86/alloc.lisp (%dynamic-extent-start)
	(%dynamic-extent-end): New vops.
	(pop-stack): Remove vop.

	* src/compiler/ir1tran.lisp (process-dynamic-extent-declaration):
	Don't if (byte-compiling).
	(dynamic-extent-closure-args): Use global-var-p.

Revision 1.73.2.2 - (view) (annotate) - [select for diffs]
Wed Aug 13 19:11:35 2003 UTC (10 years, 8 months ago) by gerd
Branch: dynamic-extent
Changes since 1.73.2.1: +16 -27 lines
Diff to previous 1.73.2.1 , to branch point 1.73
	* src-dx/compiler/ir2tran.lisp (*closure-allocation*)
	(*closure-allocation-stack*): Removed.
	(ir2-convert-closure): Don't use *closure-allocation*.
	(%dynamic-extent, %dynamic-extent-end): New args.
	(ir2-convert): Don't clear *closure-allocation-stack*.

	* src-dx/compiler/ir1tran.lisp (dynamic-extent-closure-args): Add
	fun arg.  Take only local functions into account.
	(gen-%dynamic-extent): New function.
	(with-dynamic-extent): Change arguments.
	(ir1-convert-combination): Pass function names in %dynamic-extent.

	* src-dx/compiler/fndb.lisp (%dynamic-extent)
	(%dynamic-extent-end): Changes args.

	* src-dx/compiler/envanal.lisp (compute-closure-lengths): New
	function.
	(emit-cleanups): Use it to compute closure lengths.

Revision 1.73.2.1 - (view) (annotate) - [select for diffs]
Wed Aug 13 13:25:26 2003 UTC (10 years, 8 months ago) by gerd
Branch: dynamic-extent
Changes since 1.73: +73 -26 lines
Diff to previous 1.73
	* src/docs/cmu-user/extensions.tex (Dynamic-Extent Declarations):
	New section.

	* src/compiler/sparc/macros.lisp (allocation): Don't
	call trust-dynamic-extent-declaration-p.

	* src/compiler/generic/vm-ir2tran.lisp (do-fixed-alloc): Call
	vop fixed-alloc with dynamic-extent arg.

	* src/compiler/alpha/alloc.lisp (list-or-list*,
	fixed-alloc): Add arg dynamic-extent.
	(pop-stack): New vop.
	* src/compiler/hppa/alloc.lisp: Likewise.
	* src/compiler/mips/alloc.lisp: Likewise.
	* src/compiler/ppc/alloc.lisp: Likewise.
	* src/compiler/sparc/alloc.lisp: Likewise.
	* src/compiler/x86/alloc.lisp: Likewise.

	* src/compiler/node.lisp (continuation): Add dynamic-extent slot.
	(cleanup): Add :dynamic-extent to type of slot named kind.

	* src/compiler/ir2tran.lisp (*closure-allocation*)
	(*closure-allocation-stack*): New variables.
	(ir2-stack-allocate): New function.
	(ir2-convert-closure): Use ir2-stack-allocate, add to
	(%dynamic-extent, %dynamic-extent-end): New optimizers.
	(list, list*): Use ir2-stack-allocate, call vop with
	dynamic-extent arg.
	(ir2-convert): Clear *closure-allocation-stack*.

	* src/compiler/ir1tran.lisp (allocation-size)
	(dynamic-extent-allocation, dynamic-extent-closure-args): New
	functions.
	(with-dynamic-extent): New macro.
	(ir1-convert-combination): Use dynamic-extent-closure-args and
	with-dynamic-extent.
	(ir1-convert-combination-args): Add optional arg
	dynamic-extent-args.  Set continuation-dynamic-extent for
	argument continuations if appropriate.
	(*suppress-values-declaration*): Rewritten.
	(ir1-convert-dynamic-extent-bindings): New function.
	(ir1-convert-special-bindings): Use it.
	(function): Factor out some code.
	(let): Use dynamic-extent-allocation and with-dynamic-extent.
	(let*): Call ir1-convert-dynamic-extent-bindings.
	(trust-dynamic-extent-declaration-p): Take lexenv arg.

	* src/compiler/globaldb.lisp (trust-dynamic-extent-declaration-p):
	Move to ir1tran.lisp.

	* src/compiler/fndb.lisp (%dynamic-extent)
	(%dynamic-extent-end): Add defknowns.

	* src/compiler/envanal.lisp (emit-cleanups): Produce
	%dynamic-extent-end for :dynamic-extent cleanups.

	* src/compiler/byte-comp.lisp (compute-produces-and-consumes):
	Ignore :dynamic-extent cleanups.

	* src/code/exports.lisp ("C"): Export pop-stack,
	ir2-stack-allocate, allocation-size.

Revision 1.73 - (view) (annotate) - [select for diffs]
Wed Aug 6 21:10:35 2003 UTC (10 years, 8 months ago) by toy
Branch: MAIN
CVS Tags: dynamic-extent-base, sparc_gencgc, sparc_gencgc_merge
Branch point for: dynamic-extent, sparc_gencgc_branch
Changes since 1.72: +2 -3 lines
Diff to previous 1.72
ir2tran.lisp:  Make make-closure use dynamic-extent for everyone

{alpha,hppa,mips,ppc}/alloc.lisp:  Add dynamic-extent arg to the
make-closure VOP.  (Not tested.)

Revision 1.72 - (view) (annotate) - [select for diffs]
Wed Aug 6 19:01:17 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
Changes since 1.71: +11 -3 lines
Diff to previous 1.71
	Dynamic-extent closures for x86.  Use boot15.lisp for
	bootstrapping.

	(defun prn (fn)
	  (print (funcall fn)))

	(defun foo (x)
	  (flet ((bar () x))
	    (declare (dynamic-extent #'bar))
	    (prn #'bar)))

	=> The closure for BAR is allocated from the stack

	* src/compiler/node.lisp (lexenv): Add slot dynamic-extent.

	* src/compiler/ir1util.lisp (make-lexenv): Add keyword
	arg for dynamic-extent.

	* src/code/defstruct.lisp (%redefine-defstruct)
	[#+bootstrap-dynamic-extent]: Definition that corresponds
	to to the clobber-it restart.

	* src/compiler/ir1tran.lisp (process-dynamic-extent-declaration):
	Rewritten.

	* src/compiler/x86/alloc.lisp (make-closure): Add constant
	arg dynamic-extent, and use it for allocation.

	* src/compiler/ir2tran.lisp (ir2-convert-closure) [#+x86]:
	Pass dynamic-extent to the make-closure vop.

Revision 1.71 - (view) (annotate) - [select for diffs]
Sat Dec 7 18:19:34 2002 UTC (11 years, 4 months ago) by toy
Branch: MAIN
CVS Tags: cold-pcl-base, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2, remove_negative_zero_not_zero
Branch point for: cold-pcl, release-18e-branch
Changes since 1.70: +4 -4 lines
Diff to previous 1.70
From Eric Marsden:

   - fixes to the internal consistency of IR2, ported from the
     corresponding changes to SBCL by Alexey Dejneka

   - modification of the internal IR1 consistency checking code to
     accept objects of type HEAP-ALIEN-INFO in the *FREE-VARIABLES*
     list.


  With this change, it is possible to rebuild with
  c::*check-consistency* enabled, with only the "Unseen function ~S in
  ~S." check disabled.

Revision 1.70 - (view) (annotate) - [select for diffs]
Thu Nov 21 21:51:24 2002 UTC (11 years, 4 months ago) by toy
Branch: MAIN
Changes since 1.69: +21 -10 lines
Diff to previous 1.69
PROGV was mishandling some cases with special variables, as
demonstrated by the gcl ANSI tests.  Use the version from SBCL.

Revision 1.61.2.4 - (view) (annotate) - [select for diffs]
Sat Mar 23 18:50:23 2002 UTC (12 years ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18d
Changes since 1.61.2.3: +24 -3 lines
Diff to previous 1.61.2.3 , to branch point 1.61 , to next main 1.77
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation
for release tagging 18d.

Revision 1.69 - (view) (annotate) - [select for diffs]
Tue Sep 25 21:24:39 2001 UTC (12 years, 6 months ago) by toy
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.68: +24 -3 lines
Diff to previous 1.68
Add the stack clearing feature for sparc when allocating Lisp stack
frames.

Revision 1.61.2.3 - (view) (annotate) - [select for diffs]
Sun Jul 9 14:03:15 2000 UTC (13 years, 9 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18c
Changes since 1.61.2.2: +2 -2 lines
Diff to previous 1.61.2.2 , to branch point 1.61
Reworking of the values-type system to overcome a number of inconsistencies
causing problems:

o Redefine coerce-to-values to convert a single value type into (values type),
  rather than the former definition (values type &rest t). A single value
  type such as fixnum is now equivalent to (values fixnum).

o Now when the compiler makes assertions for the first value of
  continuations that may be generating multiple values it asserts the
  type as (values type &rest t), or as (value &optional type &rest t) if
  it is not sure that the continuation does generate a value.

o Enhance the type check generation to better handle the now common
  values types with optional and rest arguments. Add the new function
  Values-types-asserted which converts asserted optional and rest
  arguments to required arguments that have been proven to be delivered,
  Thus an assertion such as (values &optional fixnum &rest t) will
  generate a fixnum type check if the proven type if (values t).

o The compiler is now far more likely to pickup attempts to use an
  assertion to select a subset of values. For example
  (the (values fixnum) (values x y)) will generated a compiler warning.

o Update single values type assertions where appropriate to clarify that
  the received values may be optional or that multiple values may be
  received. For example, a macro argument which had been asserted to be
  a list via (the list ,...) would now be asserted to be
  (the (values &optional list &rest t)) etc.

o Have the IR1 translator for THE convert single value types into
  (values &optional type &rest t) so that code such as
  (the fixnum (values x y)) will still work acceptably. This does not
  restrict the possible type assertions as the values types may be used
  and are not modified.

Revision 1.68 - (view) (annotate) - [select for diffs]
Thu Jul 6 18:37:03 2000 UTC (13 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.67: +2 -2 lines
Diff to previous 1.67
Reworking of the values-type system to overcome a number of inconsistencies
causing problems:

o Redefine coerce-to-values to convert a single value type into (values type),
  rather than the former definition (values type &rest t). A single value
  type such as fixnum is now equivalent to (values fixnum). Values-type-union
  and values-type-intersection will canonicalise values types with a
  single value such as (values fixnum) back to a single value type
  such as fixnum.

o Now when the compiler makes assertions for the first value of
  continuations that may be generating multiple values it asserts the
  type as (values type &rest t), or as (value &optional type &rest t) if
  it is not sure that the continuation does generate a value.

o Enhance the type check generation to better handle the now common
  values types with optional and rest arguments. Add the new function
  Values-types-asserted which converts asserted optional and rest
  arguments to required arguments that have been proven to be delivered,
  Thus an assertion such as (values &optional fixnum &rest t) will
  generate a fixnum type check if the proven type if (values t).

o The compiler is now far more likely to pickup attempts to use an
  assertion to select a subset of values. For example
  (the (values fixnum) (values x y)) will generated a compiler warning.

o Update single values type assertions where appropriate to clarify that
  the received values may be optional or that multiple values may be
  received. For example, a macro argument which had been asserted to be
  a list via (the list ,...) would now be asserted to be
  (the (values &optional list &rest t)) etc.

o Have the IR1 translator for THE convert single value types into
  (values &optional type &rest t) so that code such as
  (the fixnum (values x y)) will still work acceptably. This does not
  restrict the possible type assertions as the values types may be used
  and are not modified.

Revision 1.61.2.2 - (view) (annotate) - [select for diffs]
Tue May 23 16:37:15 2000 UTC (13 years, 10 months ago) by pw
Branch: RELENG_18
Changes since 1.61.2.1: +3 -35 lines
Diff to previous 1.61.2.1 , to branch point 1.61
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

Revision 1.67 - (view) (annotate) - [select for diffs]
Thu Feb 25 13:03:07 1999 UTC (15 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.66: +3 -35 lines
Diff to previous 1.66
This set of changes removes nearly all references to the dylan language.
It is a benign revision as no structures are redefined. At some later
point the definitions in compiler/objdef could be removed, perhaps
in sync with some other type change.

Revision 1.61.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:23:00 1998 UTC (15 years, 9 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.61: +22 -18 lines
Diff to previous 1.61
This (huge) revision brings the RELENG_18 branch up to the current HEAD.
Note code/unix-glib2.lisp not yet included -- not sure it is ready to go.

Revision 1.66 - (view) (annotate) - [select for diffs]
Wed Mar 4 14:53:24 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.65: +9 -14 lines
Diff to previous 1.65
Update the MIPS and HPPA ports to use the new VM support routine
make-nlx-entry-argument-start-location.

Update the xep-allocate-frame VOP on the MIPS and HPPA ports to accept
the new copy-more-arg-follows argument; the related VOPS need a
re-write to actually make use of this argument and avoid more-arg
stack problems.

Revision 1.65 - (view) (annotate) - [select for diffs]
Mon Jan 26 15:54:20 1998 UTC (16 years, 2 months ago) by pw
Branch: MAIN
Changes since 1.64: +7 -5 lines
Diff to previous 1.64
An assortment of fixes from dtc for the alpha backend. I now have
an alpha box running with complex-float and signed-array.

Revision 1.64 - (view) (annotate) - [select for diffs]
Thu Jan 22 00:04:20 1998 UTC (16 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.63: +3 -3 lines
Diff to previous 1.63
Bring the sparc port inline the x86 ports usage of the new VM support
function make-nlx-entry-argument-start-location - simplifies cross
compiling.

Revision 1.63 - (view) (annotate) - [select for diffs]
Thu Jan 8 05:09:42 1998 UTC (16 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.62: +14 -8 lines
Diff to previous 1.62
When a type check is weakened and the proven type becomes a subtype of
this weakened type then it's always True so ensure that it is
flushed. This is particularly helpful in numerical code at
intermediate safety levels.

Revision 1.62 - (view) (annotate) - [select for diffs]
Fri Nov 21 12:26:52 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.61: +3 -2 lines
Diff to previous 1.61
Clean up the NLX entry VOPs so that the argument start is passed in
the EBX register rather than in stack slot 0 where it corrupts the
OCFP. New vm-support-routine make-nlx-entry-argument-start-location.
No longer need to save/restore the OCFP with the dynamic state as it
isn't corrupted.

Revision 1.61 - (view) (annotate) - [select for diffs]
Wed Apr 16 18:06:20 1997 UTC (17 years ago) by dtc
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
Changes since 1.60: +3 -3 lines
Diff to previous 1.60
Bring the arguments to the xep-allocate-frame VOP inline with the x86
fix.

Revision 1.60 - (view) (annotate) - [select for diffs]
Sat Jan 18 14:31:24 1997 UTC (17 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.59: +9 -5 lines
Diff to previous 1.59
Werkowskis source kit 1.03.7

Revision 1.59 - (view) (annotate) - [select for diffs]
Mon Oct 31 04:27:28 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.58: +1 -3 lines
Diff to previous 1.58
Fix headed boilerplate.

Revision 1.58 - (view) (annotate) - [select for diffs]
Sat Feb 12 09:39:31 1994 UTC (20 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.57: +2 -2 lines
Diff to previous 1.57
Delete :conservative arg to byte-compile.

Revision 1.57 - (view) (annotate) - [select for diffs]
Fri Feb 11 15:08:51 1994 UTC (20 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.56: +2 -2 lines
Diff to previous 1.56
Change PROGV IR1 convert method to pass :CONSERVATIVE T to BYTE-COMPILING to
ensure that we never try to byte-compile the %primitive stuff.

Revision 1.56 - (view) (annotate) - [select for diffs]
Tue Sep 14 22:14:42 1993 UTC (20 years, 7 months ago) by wlott
Branch: MAIN
Changes since 1.55: +3 -2 lines
Diff to previous 1.55
Changed %more-arg-values to also take a start argument.

Revision 1.55 - (view) (annotate) - [select for diffs]
Mon Sep 13 19:31:27 1993 UTC (20 years, 7 months ago) by wlott
Branch: MAIN
Changes since 1.54: +17 -1 lines
Diff to previous 1.54
Added %more-arg-values.

Revision 1.54 - (view) (annotate) - [select for diffs]
Thu Aug 19 23:14:36 1993 UTC (20 years, 8 months ago) by wlott
Branch: MAIN
Changes since 1.53: +35 -3 lines
Diff to previous 1.53
Taught ir2-convert-ref and -set about dylan-vars.

Revision 1.53 - (view) (annotate) - [select for diffs]
Wed May 19 08:41:36 1993 UTC (20 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.52: +2 -2 lines
Diff to previous 1.52
In %PROGV ir1 convert, *byte-compiling* => (byte-compiling), since we haven't
decided yet.

Revision 1.52 - (view) (annotate) - [select for diffs]
Mon May 17 04:46:18 1993 UTC (20 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.51: +3 -3 lines
Diff to previous 1.51
When computing block numbering for debug info/profiling, don't increment until
after all references on that iteration...

Revision 1.51 - (view) (annotate) - [select for diffs]
Sat May 15 09:25:37 1993 UTC (20 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.50: +2 -2 lines
Diff to previous 1.50
In PROGV ir1 convert, also use %PROGV for byte compiled code.

Revision 1.50 - (view) (annotate) - [select for diffs]
Fri Mar 12 21:16:00 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.49: +15 -14 lines
Diff to previous 1.49
Fix let scope.

Revision 1.49 - (view) (annotate) - [select for diffs]
Fri Mar 12 15:36:56 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.48: +30 -25 lines
Diff to previous 1.48
Updates to *collect-dynamic-statistics* support.  Always renumber
BLOCK-NUMBER to be in emit-order so that debug-info can use this
as well as profiling.
Add support for FIN-FUNCTION..

Revision 1.48 - (view) (annotate) - [select for diffs]
Mon Mar 1 19:28:49 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.47: +7 -7 lines
Diff to previous 1.47
But we can't call that function make-value-cell...

Revision 1.47 - (view) (annotate) - [select for diffs]
Mon Mar 1 18:25:16 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.46: +16 -6 lines
Diff to previous 1.46
Spin VOP MAKE-VALUE-CELL off into a sub-function & add an event counter for
each creation.

Revision 1.46 - (view) (annotate) - [select for diffs]
Fri Feb 26 08:38:47 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.45: +4 -4 lines
Diff to previous 1.45
new structure branch & tuning, see new_struct

Revision 1.45.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Feb 8 22:10:15 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.45: +4 -4 lines
Diff to previous 1.45 , to next main 1.77
New structure hax.

Revision 1.45 - (view) (annotate) - [select for diffs]
Sun Dec 13 15:12:24 1992 UTC (21 years, 4 months ago) by wlott
Branch: MAIN
Branch point for: new_struct
Changes since 1.44: +3 -5 lines
Diff to previous 1.44
Changed the make-closure vop to take the length as an info argument because
it is always known at compile time.  Changed the set vop to not have a result
because we don't want it.

Revision 1.40.2.1 - (view) (annotate) - [select for diffs]
Tue Jul 28 17:10:04 1992 UTC (21 years, 8 months ago) by ram
Branch: patch_16
Changes since 1.40: +2 -3 lines
Diff to previous 1.40 , to next main 1.77
Get tagbody multi-nlx fix for 16 beta.

Revision 1.44 - (view) (annotate) - [select for diffs]
Tue Jul 14 17:51:16 1992 UTC (21 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.43: +2 -3 lines
Diff to previous 1.43
Fixed IR2-CONVERT-ENTRY to correctly handle tagbodies with more than one tag
that is non-locally exited to.

Revision 1.43 - (view) (annotate) - [select for diffs]
Tue Jun 2 19:08:36 1992 UTC (21 years, 10 months ago) by ram
Branch: MAIN
Changes since 1.42: +6 -8 lines
Diff to previous 1.42
Changed assertion in FUNCTION-CONTINUATION-TN to be more like *I* would have
written it.

Revision 1.42 - (view) (annotate) - [select for diffs]
Sun May 3 21:45:07 1992 UTC (21 years, 11 months ago) by wlott
Branch: MAIN
Changes since 1.41: +8 -6 lines
Diff to previous 1.41
Changed fixed value unknown-return of 1 value to use the ``return-single''
VOP instead of expecting the ``return'' VOP to special case the one value
case.  This allows different us to have lifetime information in the single
vs non-single cases.

Revision 1.41.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Thu Mar 12 15:35:17 1992 UTC (22 years, 1 month ago) by wlott
Branch: gengc
Changes since 1.41: +1 -17 lines
Diff to previous 1.41 , to next main 1.77
Merged trunk changes with gengc stuff.

Revision 1.41 - (view) (annotate) - [select for diffs]
Wed Mar 11 21:23:41 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Branch point for: gengc
Changes since 1.40: +27 -57 lines
Diff to previous 1.40
Added FDEFN changes.

Revision 1.40.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Mar 3 08:25:52 1992 UTC (22 years, 1 month ago) by wlott
Changes since 1.40: +1 -17 lines
Diff to previous 1.40 , to next main 1.77
Flushed ir2-convert methods for list and list*, cause we can't do them
on the gengc system.

Revision 1.40 - (view) (annotate) - [select for diffs]
Thu Dec 19 22:11:50 1991 UTC (22 years, 4 months ago) by ram
Branch: MAIN
CVS Tags: pre_fdefn
Branch point for: patch_16
Changes since 1.39: +7 -1 lines
Diff to previous 1.39
Added IR2-CONVERT method for %CLEANUP-POINT (which doesn't need to do
anything.)

Revision 1.39 - (view) (annotate) - [select for diffs]
Thu Dec 12 14:59:03 1991 UTC (22 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.38: +2 -6 lines
Diff to previous 1.38
Moved code for determining whether named constants can be referenced directly
to LEGAL-IMMEDIATE-CONSTANT-P in LTN from IR2-CONVERT-REF, since we must pick
off potentially delayed constants there.

Revision 1.38 - (view) (annotate) - [select for diffs]
Thu Dec 12 12:41:48 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37
Fixed ir2-convert-reference to use symbol-value for unknown typed constants
instead of using the value directly.

Revision 1.37 - (view) (annotate) - [select for diffs]
Wed Dec 11 17:12:33 1991 UTC (22 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.36: +41 -16 lines
Diff to previous 1.36
Added conversion of :ASSIGNMENT lambdas.
Updated stuff to know that NODE-TAIL-P is no longer a tail set.

Revision 1.36 - (view) (annotate) - [select for diffs]
Wed Nov 27 19:24:58 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.35: +6 -6 lines
Diff to previous 1.35
Fixed IR2-CONVERT-REF to correctly convert unnamed constants instead of
converting them all to (symbol-value NIL).

Revision 1.35 - (view) (annotate) - [select for diffs]
Tue Nov 26 15:37:23 1991 UTC (22 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.34: +7 -4 lines
Diff to previous 1.34
Fixed named constant dumping to allow direct references to interned symbols.

Revision 1.34 - (view) (annotate) - [select for diffs]
Mon Nov 25 12:56:07 1991 UTC (22 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.33: +8 -2 lines
Diff to previous 1.33
If we see a reference to a named constant that isn't a number or charcter,
then convert it as SYMBOL-FUNCTION.

Revision 1.33.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Nov 20 16:10:37 1991 UTC (22 years, 5 months ago) by wlott
Changes since 1.33: +1 -17 lines
Diff to previous 1.33 , to next main 1.77
Merged trunk changes.

Revision 1.33 - (view) (annotate) - [select for diffs]
Sat Nov 9 22:08:58 1991 UTC (22 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.32: +21 -9 lines
Diff to previous 1.32
Mostly rewrote FINISH-IR2-BLOCK.  We now recognize blocks that don't
drop through by being linked to the component tail.  If an unknown
function is porported not to drop through, then we emit an error
trap just to make sure.

Revision 1.32.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Sat Oct 12 16:29:13 1991 UTC (22 years, 6 months ago) by wlott
Changes since 1.32: +1 -17 lines
Diff to previous 1.32 , to next main 1.77
Nuked support for list and list* vops, because we don't have them under
the generational-gc system.

Revision 1.32 - (view) (annotate) - [select for diffs]
Mon Aug 19 22:49:37 1991 UTC (22 years, 8 months ago) by wlott
Branch: MAIN
Changes since 1.31: +9 -5 lines
Diff to previous 1.31
Explicitly use unbind-to-here during nlx recovery instead of assuming that
restore-dynamic-state will take care of it.  This way, restore-dynamic-state
doesn't have to duplicate unbind-to-here.

Revision 1.31 - (view) (annotate) - [select for diffs]
Fri May 31 14:22:08 1991 UTC (22 years, 10 months ago) by ram
Branch: MAIN
Changes since 1.30: +2 -2 lines
Diff to previous 1.30
Tweaked stuff to work now that notinline function references can be delayed.

Revision 1.30 - (view) (annotate) - [select for diffs]
Sun Mar 10 19:41:38 1991 UTC (23 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.29: +15 -8 lines
Diff to previous 1.29
Fixed IR2-CONVERT-CLOSURE to not attempt initialization of slots
for closure vars that have been deleted.  Deleted vars can appear in
the closure when we closed over top-level stuff.
and the variables were subseqeuently deleted by optimization.

Revision 1.29 - (view) (annotate) - [select for diffs]
Sun Mar 10 18:32:55 1991 UTC (23 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.28: +14 -9 lines
Diff to previous 1.28
Fixed IR2-convert-closure to work in the presence of forward references
to functions in components that haven't been compiled yet.

Revision 1.28 - (view) (annotate) - [select for diffs]
Wed Feb 20 14:58:11 1991 UTC (23 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.27: +9 -5 lines
Diff to previous 1.27
New file header with RCS stuff.

Revision 1.27 - (view) (annotate) - [select for diffs]
Fri Dec 28 16:52:31 1990 UTC (23 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.26: +7 -6 lines
Diff to previous 1.26
Changed CONTINUATION-TN to call CONTINUATION-CHECK-TYPES instead of
rolling its own, so that it doesn't choke when a type check is 
weakened but left simple (which is only known to C-C-T).

Revision 1.26 - (view) (annotate) - [select for diffs]
Thu Dec 6 22:24:33 1990 UTC (23 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.25: +40 -4 lines
Diff to previous 1.25
When we want to collect dynamic vop counts, emit the ``count-me'' vop
at all the approporate places.

Revision 1.25 - (view) (annotate) - [select for diffs]
Tue Nov 13 22:49:12 1990 UTC (23 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.24: +6 -5 lines
Diff to previous 1.24
Pass *backend* to sc-or-lose and friends to assure we extract the info
from the correct backend for runtime.

Revision 1.24 - (view) (annotate) - [select for diffs]
Sat Nov 3 03:14:41 1990 UTC (23 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.23: +13 -7 lines
Diff to previous 1.23
Use slots of *backend* instead of *sc-names*, etc for backend specific
information.

Revision 1.23 - (view) (annotate) - [select for diffs]
Wed Oct 17 19:18:06 1990 UTC (23 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.22: +3 -1 lines
Diff to previous 1.22
In IR2-CONVERT-CLOSURE, create an ENTRY-INFO to represent a forward
reference if the function doesn't yet have any LEAF-INFO.

Revision 1.22 - (view) (annotate) - [select for diffs]
Fri Sep 7 15:20:58 1990 UTC (23 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.21: +9 -4 lines
Diff to previous 1.21
Fixed IR2-CONVERT-LOCAL-CALL to work when we have a non-tail call to a
function whose return has been deleted.

Revision 1.21 - (view) (annotate) - [select for diffs]
Thu Sep 6 17:40:53 1990 UTC (23 years, 7 months ago) by wlott
Branch: MAIN
Changes since 1.20: +2 -2 lines
Diff to previous 1.20
Changed an :entry to both :block and :tagbody in an ecase.

Revision 1.20 - (view) (annotate) - [select for diffs]
Fri Aug 24 18:35:51 1990 UTC (23 years, 8 months ago) by wlott
Branch: MAIN
Changes since 1.19: +30 -30 lines
Diff to previous 1.19
Merged MIPS branch with the trunk.

Revision 1.16.2.3 - (view) (annotate) - [select for diffs]
Tue Aug 21 14:57:27 1990 UTC (23 years, 8 months ago) by wlott
Changes since 1.16.2.2: +2 -2 lines
Diff to previous 1.16.2.2 , to branch point 1.16 , to next main 1.77
Fixed the argument order for the %slot-setter ir2-convert optimizer.

Revision 1.19 - (view) (annotate) - [select for diffs]
Thu Aug 16 16:16:50 1990 UTC (23 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.18: +150 -103 lines
Diff to previous 1.18
Mucho changes to local call argument passing to improve efficiency:
Now the caller directly assigns the actual callee variables, rather
than using passing locations.  If necessary, temps are introduced
in the caller to preserve parallel assignment.
Full call stuff changed somewhat, since we still have wired passing
locations there.
Also, the %CALLER-FRAME-AND-PC funny function was added for debugger
support.

Revision 1.18 - (view) (annotate) - [select for diffs]
Mon Jul 23 14:51:33 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.17: +11 -15 lines
Diff to previous 1.17
Changes for new lexenv stuff and :block/:tagbody cleanup-kind.

Revision 1.16.1.5 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Jul 23 13:27:16 1990 UTC (23 years, 9 months ago) by ram
Branch: eval_debug
Changes since 1.16.1.4: +2 -4 lines
Diff to previous 1.16.1.4 , to next main 1.77
*** empty log message ***

Revision 1.16.1.4 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Jun 20 21:16:34 1990 UTC (23 years, 10 months ago) by ram
Branch: eval_debug
Changes since 1.16.1.3: +7 -7 lines
Diff to previous 1.16.1.3
*** empty log message ***

Revision 1.17 - (view) (annotate) - [select for diffs]
Wed Jun 20 14:05:46 1990 UTC (23 years, 10 months ago) by ram
Branch: MAIN
Changes since 1.16: +7 -7 lines
Diff to previous 1.16
Merged in William's changes of using special functions to make SP TNs,
rather than randomly using *any-primitive-type*.

Revision 1.16.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Jun 20 14:00:33 1990 UTC (23 years, 10 months ago) by ram
Branch: eval_debug
Changes since 1.16.1.2: +4 -7 lines
Diff to previous 1.16.1.2
*** empty log message ***

Revision 1.16.2.2 - (view) (annotate) - [select for diffs]
Sat Jun 16 14:49:26 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.16.2.1: +8 -8 lines
Diff to previous 1.16.2.1 , to branch point 1.16
Changed places where stack pointers were assumed to be of
*any-primitive-type* to call either make-stack-pointer-tn or
make-number-stack-pointer-tn.

Revision 1.16.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Fri Jun 15 15:40:06 1990 UTC (23 years, 10 months ago) by ram
Branch: eval_debug
Changes since 1.16.1.1: +9 -8 lines
Diff to previous 1.16.1.1
*** empty log message ***

Revision 1.16.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 12 23:45:10 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.16: +30 -30 lines
Diff to previous 1.16
Merged trunk changes into MIPS branch.

Revision 1.16.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Jun 11 18:28:47 1990 UTC (23 years, 10 months ago) by ram
Branch: eval_debug
Changes since 1.16: +1 -1 lines
Diff to previous 1.16
*** empty log message ***

Revision 1.16 - (view) (annotate) - [select for diffs]
Mon Jun 11 13:57:41 1990 UTC (23 years, 10 months ago) by ram
Branch: MAIN
Branch point for: eval_debug
Changes since 1.15: +4 -4 lines
Diff to previous 1.15
Fixed some junk.

Revision 1.15 - (view) (annotate) - [select for diffs]
Wed Jun 6 14:36:52 1990 UTC (23 years, 10 months ago) by ram
Branch: MAIN
Changes since 1.14: +249 -150 lines
Diff to previous 1.14
Changes to do type checking at the DEST rather than at continuation uses,
and changes to preserve enough type info in IR2 so that representation 
selection and load-TN packing can tell what representations are legal
for a value.  It is now guarantees that the TN passed as a VOP operand
(via :TRANSLATE) will be of one of the primitive types allowed in the
operand primitive-type restriction.
Took advantage of the new delayed type checking to somewhat improve the
code we get for FUNCALL when the operand type is unknown: we now 
call COERCE-TO-FUNCTION when we don't know whether the arg is legal, and
call FAST-SAFE-COERCE-TO-FUNCTION when we know it is a function or a symbol,
but not which.  This eliminates the duplication of the function-p test in
the normal (function) case where we don't know anything about the value
at compile-time.
The new CONTINUATION-TNS function is used to get and check the values 
of fixed multiple value continuations.

Revision 1.14 - (view) (annotate) - [select for diffs]
Sat May 12 20:35:59 1990 UTC (23 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13
Changed the unsafety check for symbol accessors to be (= safety 0).

Revision 1.13 - (view) (annotate) - [select for diffs]
Mon May 7 10:56:40 1990 UTC (23 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.12: +2 -2 lines
Diff to previous 1.12
Fixed broken type declaration.

Revision 1.12 - (view) (annotate) - [select for diffs]
Mon Apr 30 10:25:01 1990 UTC (23 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11
Fixed broken type declaration in IR2-CONVERT-IF.

Revision 1.11 - (view) (annotate) - [select for diffs]
Fri Apr 27 11:39:42 1990 UTC (23 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.10: +13 -12 lines
Diff to previous 1.10
Fixed closure referencing to understand the new :TOP-LEVEL-XEP functionals.

Revision 1.10.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Apr 24 02:37:40 1990 UTC (24 years ago) by wlott
Changes since 1.10.1.1: +17 -16 lines
Diff to previous 1.10.1.1 , to next main 1.77
Pass the start-label in to setup-environment and setup-closure-environment
so that they can use it instead of assuming that it will be the same as the
block-label of the node-block (which it isn't).

Revision 1.10.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Sun Apr 22 02:42:52 1990 UTC (24 years ago) by wlott
Changes since 1.10: +15 -16 lines
Diff to previous 1.10
Picked up changes.

Revision 1.10 - (view) (annotate) - [select for diffs]
Sat Apr 21 17:36:53 1990 UTC (24 years ago) by ram
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9
Fixed order of args to ALLOCATE-FRAME.

Revision 1.9 - (view) (annotate) - [select for diffs]
Thu Apr 19 15:28:43 1990 UTC (24 years ago) by ram
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8
Pass the callee into ALLOCATE-FRAME so that it can tell whether to allocate a
NFP.

Revision 1.8 - (view) (annotate) - [select for diffs]
Thu Apr 19 14:27:06 1990 UTC (24 years ago) by ram
Branch: MAIN
Changes since 1.7: +5 -8 lines
Diff to previous 1.7
In local call, pass in the ir2-environment instead of the return-pc
as an info arg.  This way, there is a general handle for getting at
info about the callee (such as the NFP.)

Revision 1.7.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Apr 17 23:19:53 1990 UTC (24 years ago) by wlott
Changes since 1.7: +16 -17 lines
Diff to previous 1.7 , to next main 1.77
Merged stuff into MIPS branch.

Revision 1.7 - (view) (annotate) - [select for diffs]
Tue Apr 17 13:26:42 1990 UTC (24 years ago) by ram
Branch: MAIN
Changes since 1.6: +7 -6 lines
Diff to previous 1.6
Fixed the hand-coded call to FDEFINITION for SETF functions to use the
new interface to the call VOPs.

Revision 1.6 - (view) (annotate) - [select for diffs]
Mon Apr 16 10:38:52 1990 UTC (24 years ago) by ram
Branch: MAIN
Changes since 1.5: +301 -568 lines
Diff to previous 1.5
Merged non-descriptor changes:
Changed CONTINUATION-RESULT-TNS to just look at the number of results
desired, and make any needed temps with type T, instead of trying to
figure out a type from the restriction.  This code was previously 
broken (didn't work on *), and was even more broken after addition of
the new operand restriction kinds.  We don't need this anymore anyway.


Fixed up call stuff for new argument convention.

Ripped out coercion stuff.

Revision 1.5.1.4 - (view) (annotate) - [select for diffs] (vendor branch)
Sun Mar 18 23:43:32 1990 UTC (24 years, 1 month ago) by wlott
Changes since 1.5.1.3: +2 -2 lines
Diff to previous 1.5.1.3 , to next main 1.77
Corrected call to ir2-nlx-info-label to be ir2-nlx-info-target.

Revision 1.5.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Mar 14 16:08:03 1990 UTC (24 years, 1 month ago) by wlott
Changes since 1.5.1.2: +8 -5 lines
Diff to previous 1.5.1.2
Changed NLX-entry targets to be an explicit label stored in the
ir2-nlx-info structure.  Changed emit-nlx-start and %nlx-entry to use that
label.

Revision 1.5.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Mar 13 15:44:05 1990 UTC (24 years, 1 month ago) by wlott
Changes since 1.5.1.1: +6 -10 lines
Diff to previous 1.5.1.1
Changed emit-nlx-start to pass the label in to the MAKE-mumble-BLOCK vop
instead of a load-time constant tn.

Revision 1.5.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Mar 13 12:19:48 1990 UTC (24 years, 1 month ago) by wlott
Changes since 1.5: +4 -4 lines
Diff to previous 1.5
Removed references to system:%function-closure-variables-offset as it is
no longer needed.

Removed the constant 1 from the unbind vop.

Revision 1.5 - (view) (annotate) - [select for diffs]
Sat Mar 10 16:58:03 1990 UTC (24 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.4: +7 -3 lines
Diff to previous 1.4
Pass the ENTRY-INFO-OFFSET label to the ALLOCATE-FRAME VOP so that it can 
emit it where it sees fit.  At the end of IR2-CONVERT-BIND, emit a 
make the ENVIRONMENT-START label and pass it to NOTE-ENVIRONMENT-START VOP.

Revision 1.4 - (view) (annotate) - [select for diffs]
Mon Mar 5 12:13:49 1990 UTC (24 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.3: +9 -56 lines
Diff to previous 1.3
Flushed code in EMIT-MOVE that directly called ERROR2.  Instead, the
ILLEGAL-MOVE VOP is now supposed to signal the error.  In OK-RESULT-TN,
consider illegal moves to be not-ok (rather than an assertion failure) so that
we quietly emit ILLEGAL-MOVE.

Revision 1.3 - (view) (annotate) - [select for diffs]
Tue Feb 27 11:42:12 1990 UTC (24 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.2: +6 -0 lines
Diff to previous 1.2
Added #+rt-target around syscall stuff.

Revision 1.2 - (view) (annotate) - [select for diffs]
Sat Feb 10 13:28:51 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.1: +1 -1 lines
Diff to previous 1.1
Added some missing commas in the interpreter case of the PROGV IR1 convert
method.

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Feb 6 11:29:11 1990 UTC (24 years, 2 months ago) by wlott
Branch: MAIN
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5