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

Log of /src/compiler/envanal.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.35 - (view) (annotate) - [select for diffs]
Fri Mar 19 15:19:00 2010 UTC (4 years 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, post-merge-intl-branch, release-20b-pre1, release-20b-pre2, snapshot-2010-04, 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.34: +2 -1 lines
Diff to previous 1.34
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.34.42.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.34: +2 -1 lines
Diff to previous 1.34 , to next main 1.35
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.34.40.1 - (view) (annotate) - [select for diffs]
Mon Feb 8 17:15:50 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.34: +2 -1 lines
Diff to previous 1.34 , to next main 1.35
Add (intl:textdomain "cmucl") to the files to set the textdomain.

Revision 1.34 - (view) (annotate) - [select for diffs]
Tue Apr 13 17:46:21 2004 UTC (10 years ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, RELEASE_20a, amd64-dd-start, 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, 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, ppc_gencgc_snap_2005-05-14, ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06, pre-merge-intl-branch, pre-telent-clx, 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, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, release-20a-base, release-20a-pre1, 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, 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, double-double-array-branch, double-double-branch, double-double-reader-branch, intl-2-branch, intl-branch, portable-clx-branch, ppc_gencgc_branch, release-19a-branch, release-19b-branch, release-19c-branch, release-19d-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.33: +2 -2 lines
Diff to previous 1.33
o Trust dynamic extent declarations by default.
o Do not generate dynamic-extent closures.

This should enable dynamic-extent &rest lists and dynamic-extent
lists, but dynamic-extent closures are disabled.

Revision 1.33 - (view) (annotate) - [select for diffs]
Sun Oct 26 10:27:58 2003 UTC (10 years, 5 months ago) by gerd
Branch: MAIN
CVS Tags: mod-arith-base, snapshot-2003-11, snapshot-2003-12, snapshot-2004-04
Branch point for: mod-arith-branch
Changes since 1.32: +6 -4 lines
Diff to previous 1.32
	(eval '(block b3
                 (max (return-from b3 1)
                 (if (unwind-protect (unwind-protect 2)) 3 4))))
	 => nil is not of type c::ref

	* src/compiler/envanal.lisp (emit-cleanups): Don't generate
	a %funcall If second arg of :unwind-protect cleanup is unused.
	Found by Paul Dietz.

Revision 1.32 - (view) (annotate) - [select for diffs]
Sat Oct 4 12:21:49 2003 UTC (10 years, 6 months ago) by gerd
Branch: MAIN
Changes since 1.31: +18 -7 lines
Diff to previous 1.31
	(compile nil '(lambda (c)
	                (flet ((%f16 () (setq c 1)))
	                  (+ (%f16) (%f16)))))
	 => assertion failure, c not found in environment

	Found by Paul Dietz (similar cases).

	* src/compiler/envanal.lisp (compute-closure): Don't close
	over unused variables from sets.  Not really a port from
	SBCL because I needed to debug this to the point where the
	cause was clear; SBCL does the same though.

Revision 1.31 - (view) (annotate) - [select for diffs]
Sun Sep 14 10:13:27 2003 UTC (10 years, 7 months ago) by gerd
Branch: MAIN
CVS Tags: snapshot-2003-10
Changes since 1.30: +2 -2 lines
Diff to previous 1.30
	Disable dynamic-extent.  Fred Gilham has been observing a problem
	that is likely caused by it, and which needs to be tracked down
	first before enabling dynamic-extent again.

	* src/compiler/envanal.lisp (*suppress-dynamic-extent-safe-closures*):
	Set to true.

	* src/compiler/ir1tran.lisp (*trust-dynamic-extent-declarations*):
	Set to nil.

Revision 1.30 - (view) (annotate) - [select for diffs]
Mon Aug 25 20:51:00 2003 UTC (10 years, 7 months ago) by gerd
Branch: MAIN
CVS Tags: lisp-executable-base
Branch point for: lisp-executable
Changes since 1.29: +83 -3 lines
Diff to previous 1.29
	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.29.2.5 - (view) (annotate) - [select for diffs]
Mon Aug 18 17:20:07 2003 UTC (10 years, 8 months ago) by gerd
Branch: dynamic-extent
Changes since 1.29.2.4: +59 -55 lines
Diff to previous 1.29.2.4 , to branch point 1.29 , to next main 1.35
	* src-dx/compiler/envanal.lisp (mark-dynamic-extent-safe-closures):
	Renamed from mark-dynamic-extent-closures.  Return combinations.
	(find-dynamic-extent-safe-closures): Rewritten.

Revision 1.29.2.4 - (view) (annotate) - [select for diffs]
Sun Aug 17 18:49:51 2003 UTC (10 years, 8 months ago) by gerd
Branch: dynamic-extent
Changes since 1.29.2.3: +73 -1 lines
Diff to previous 1.29.2.3 , to branch point 1.29
	* src-dx/compiler/ir1tran.lisp:
	(*suppress-dynamic-extent-closure-safe*): Remove.
	(dynamic-extent-closure-args): Remove arg fun.  Don't handle
	dynamic-extent-closure-safe functions.

	* src-dx/compiler/envanal.lisp: New variable.
	(mark-dynamic-extent-closures)
	(find-dynamic-extent-safe-closures): New functions.
	(environment-analyze): Call find-dynamic-extent-safe-closures.

Revision 1.29.2.3 - (view) (annotate) - [select for diffs]
Fri Aug 15 18:53:03 2003 UTC (10 years, 8 months ago) by gerd
Branch: dynamic-extent
Changes since 1.29.2.2: +4 -28 lines
Diff to previous 1.29.2.2 , to branch point 1.29
	* 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.29.2.2 - (view) (annotate) - [select for diffs]
Wed Aug 13 19:11:36 2003 UTC (10 years, 8 months ago) by gerd
Branch: dynamic-extent
Changes since 1.29.2.1: +28 -3 lines
Diff to previous 1.29.2.1 , to branch point 1.29
	* 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.29.2.1 - (view) (annotate) - [select for diffs]
Wed Aug 13 13:25:27 2003 UTC (10 years, 8 months ago) by gerd
Branch: dynamic-extent
Changes since 1.29: +6 -3 lines
Diff to previous 1.29
	* 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.29 - (view) (annotate) - [select for diffs]
Tue Jun 3 12:22:37 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
CVS Tags: dynamic-extent-base, sparc_gencgc, sparc_gencgc_merge
Branch point for: dynamic-extent, sparc_gencgc_branch
Changes since 1.28: +8 -6 lines
Diff to previous 1.28
	* src/compiler/envanal.lisp (find-non-local-exits): Deal with
	exits from deleted lambdas when *converting-for-interpreter*.

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

Revision 1.28 - (view) (annotate) - [select for diffs]
Wed Feb 6 23:20:46 2002 UTC (12 years, 2 months ago) by pmai
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE, cold-pcl-base, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2, remove_negative_zero_not_zero
Branch point for: UNICODE-BRANCH, cold-pcl, release-18e-branch
Changes since 1.27: +5 -4 lines
Diff to previous 1.27
Allow users to disable tail-call optimization by setting a debug
optimization quality is higher than 2.  While we claim that debugging
is not degraded by TCO, some people evidently believe otherwise, so
this change tries to accomodate them, hopefully without disturbing the
status-quo too much.

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

Revision 1.27 - (view) (annotate) - [select for diffs]
Fri Dec 3 16:27:14 1999 UTC (14 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.26: +10 -3 lines
Diff to previous 1.26
When compiling for the interpreter, only generate one
%lexical-exit-breakup for each associated entry, as expected by the
interpreter.  The generation of multiple breakups had been causing
invalid results from interpreted code with multiple non-local exits -
as noted for the series extension.

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

Revision 1.25 - (view) (annotate) - [select for diffs]
Wed Aug 25 00:15:19 1993 UTC (20 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24
Fix compiler warnings.

Revision 1.24 - (view) (annotate) - [select for diffs]
Thu May 13 11:35:26 1993 UTC (20 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.23: +18 -12 lines
Diff to previous 1.23
Changed PRE-ENVIRONMENT-ANALYZE-TOP-LEVEL to return true if it discovered any
closure vars so that we make sure to make the same byte-compile/native decision
for the top-level form and closure.

Revision 1.23 - (view) (annotate) - [select for diffs]
Tue Feb 23 11:56:16 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.22: +5 -2 lines
Diff to previous 1.22
Weaken (not (component-new-functions component)) assertion to allow
deleted functions.

Revision 1.22 - (view) (annotate) - [select for diffs]
Tue Sep 15 17:46:41 1992 UTC (21 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21
delete-lambda => delete-functional, since only the latter is an interface
function.

Revision 1.21 - (view) (annotate) - [select for diffs]
Sat Aug 1 14:00:26 1992 UTC (21 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.20: +6 -3 lines
Diff to previous 1.20
Conditionalize deletion of unreferenced :optional entry points for the byte
compiler.

Revision 1.20 - (view) (annotate) - [select for diffs]
Wed Dec 11 16:52:24 1991 UTC (22 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.19: +24 -9 lines
Diff to previous 1.19
Delete all unreferenced functions after cleanup generation (including
:OPTIONAL entries, etc.)
Changed to set NODE-TAIL-P to T instead of a tail set.

Revision 1.19 - (view) (annotate) - [select for diffs]
Sun Dec 8 17:23:41 1991 UTC (22 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.18: +4 -1 lines
Diff to previous 1.18
Clear out NODE-DERIVED-TYPE in references to escape functions before substution
to prevent type inference anomalies.

Revision 1.18 - (view) (annotate) - [select for diffs]
Sat Nov 9 22:07:01 1991 UTC (22 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.17: +12 -8 lines
Diff to previous 1.17
Link NLX points to the component tail, instead of leaving them with
no successors.

Revision 1.17 - (view) (annotate) - [select for diffs]
Mon Sep 23 14:17:41 1991 UTC (22 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.16: +32 -14 lines
Diff to previous 1.16
Added code to clear LAMBDA-VAR-INDIRECT (to handle the case where sets to a
closure variable have been deleted after pre-analysis.)  Moved variable
deletion out of GET-LAMBDA-ENVIRONMENT into a new function
REINIT-LAMBDA-ENVIRONMENT, which is called by ENVIRONMENT-ANALYZE.  This
function cleans up environment analysis assumptions that were invalidated by
optimization.

Revision 1.16 - (view) (annotate) - [select for diffs]
Thu Sep 5 13:13:17 1991 UTC (22 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.15: +5 -2 lines
Diff to previous 1.15
When deleting unreferenced closure vars in GET-LAMBDA-ENVIRONMENT, watch out
for NLX-INFO.

Revision 1.15 - (view) (annotate) - [select for diffs]
Wed Aug 28 02:59:57 1991 UTC (22 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.14: +16 -9 lines
Diff to previous 1.14
In GET-LAMBDA-ENVIRONMENT, clean out any deleted variables that where optimized
away after environment pre-analysis.

Revision 1.14 - (view) (annotate) - [select for diffs]
Mon Mar 18 13:06:22 1991 UTC (23 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.13: +25 -1 lines
Diff to previous 1.13
Moved tail annotation back here from ir1final, since it must be done after
cleanup generation.

Revision 1.13 - (view) (annotate) - [select for diffs]
Mon Mar 11 17:13:25 1991 UTC (23 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.12: +2 -48 lines
Diff to previous 1.12
Moved some stuff out of here and into ir1final.

Revision 1.12 - (view) (annotate) - [select for diffs]
Wed Feb 20 14:57:17 1991 UTC (23 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.11: +8 -4 lines
Diff to previous 1.11
New file header with RCS stuff.

Revision 1.11 - (view) (annotate) - [select for diffs]
Wed Jan 2 19:12:06 1991 UTC (23 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.10: +2 -9 lines
Diff to previous 1.10
Changed stuff to use NODE-HOME-LAMBDA, since now that lets can be
deleted, it is not totally simple to find the home lambda.
Moved unreferenced variable noting into NOTE-UNREFERENCED-VARS,
since this code is now shared with function deleting code
in ir1util.

Revision 1.10 - (view) (annotate) - [select for diffs]
Mon Nov 26 16:40:00 1990 UTC (23 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.9: +1 -1 lines
Diff to previous 1.9
Changed "does not return" note to only be done when brevity is 0.

Revision 1.9 - (view) (annotate) - [select for diffs]
Wed Oct 17 19:17:04 1990 UTC (23 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.8: +6 -6 lines
Diff to previous 1.8
Changed PRE-ENVIRONMENT-ANALYZE-TOP-LEVEL to not gag on non :TOP-LEVEL
components.

Revision 1.8 - (view) (annotate) - [select for diffs]
Sat Oct 6 18:23:33 1990 UTC (23 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.7: +3 -1 lines
Diff to previous 1.7
Changed the does-not-return tail recursion inhibition to only apply to
full calls.

Revision 1.7 - (view) (annotate) - [select for diffs]
Thu Aug 23 18:42:50 1990 UTC (23 years, 7 months ago) by ram
Branch: MAIN
CVS Tags: old_rt
Changes since 1.6: +13 -12 lines
Diff to previous 1.6
Changed ENVIRONMENT-ANALYZE so that it doesn't always give multiple
"does not return" notes.

Revision 1.6 - (view) (annotate) - [select for diffs]
Mon Jul 23 14:19:41 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.5: +81 -93 lines
Diff to previous 1.5
Misc changes for lexenv stuff.
Moved function-does-not-return test here from ir1final.
Numerous changes due to NLX changes associated with new lexenv cleanup
stuff.  Also, ENTRY-EXITS is now a list of EXITs, so we don't have to
worry about continuations are deleted, and can find NLX points without
iterating over all blocks.

Revision 1.5.1.5 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Jul 23 13:26:28 1990 UTC (23 years, 9 months ago) by ram
Branch: eval_debug
Changes since 1.5.1.4: +17 -5 lines
Diff to previous 1.5.1.4 , to next main 1.35
*** empty log message ***

Revision 1.5.1.4 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Jun 27 09:54:26 1990 UTC (23 years, 9 months ago) by ram
Branch: eval_debug
Changes since 1.5.1.3: +25 -46 lines
Diff to previous 1.5.1.3
*** empty log message ***

Revision 1.5.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Jun 20 20:58:19 1990 UTC (23 years, 10 months ago) by ram
Branch: eval_debug
Changes since 1.5.1.2: +4 -5 lines
Diff to previous 1.5.1.2
*** empty log message ***

Revision 1.5.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Fri Jun 15 15:38:54 1990 UTC (23 years, 10 months ago) by ram
Branch: eval_debug
Changes since 1.5.1.1: +51 -53 lines
Diff to previous 1.5.1.1
*** empty log message ***

Revision 1.5.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Jun 11 17:55:08 1990 UTC (23 years, 10 months ago) by ram
Branch: eval_debug
Changes since 1.5: +0 -0 lines
Diff to previous 1.5
*** empty log message ***

Revision 1.5 - (view) (annotate) - [select for diffs]
Tue Apr 24 15:37:13 1990 UTC (23 years, 11 months ago) by ram
Branch: MAIN
Branch point for: eval_debug
Changes since 1.4: +54 -10 lines
Diff to previous 1.4
Added support for pre-analyzing top-level lambdas so that we don't have to
merge them into the same component when there are closure references.

Revision 1.4 - (view) (annotate) - [select for diffs]
Fri Apr 13 12:12:11 1990 UTC (24 years ago) by ram
Branch: MAIN
Changes since 1.3: +7 -0 lines
Diff to previous 1.3
Added code to set the LEAF-TYPE of functionals to the DEFINITION-TYPE
so that this information is easily avalible for later use (and isn't
trashed by TR return deletion.

Revision 1.3 - (view) (annotate) - [select for diffs]
Thu Mar 8 13:30:35 1990 UTC (24 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.2: +7 -2 lines
Diff to previous 1.2
Changed NOTE-NON-LOCAL-EXIT to add a use of the NLX continuation to the
%NLX-ENTRY function when we delete the escape function.  Formerly there was no
use to represent the type uncertainty of the thrown value, which could cause
LTN to get confused, perhaps choosing a specialized representation when the
value could in fact be of any type.

Revision 1.2 - (view) (annotate) - [select for diffs]
Wed Feb 7 12:40:19 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.1: +1 -1 lines
Diff to previous 1.1
In the UNWIND-PROTECT case of EMIT-CLEANUPS, fixed to use %FUNCALL instead of
FUNCALL so that the cleanup function reference will be recognized as a local
call.  (Which is must be, since there is no XEP for cleanup functions.)

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Feb 6 11:28:48 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