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

Log of /src/compiler/eval.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Links to snapshot-2005-05: (view) (annotate)
Sticky Tag:

Revision 1.36 - (view) (annotate) - [select for diffs]
Fri Dec 13 19:25:50 2002 UTC (11 years, 4 months ago) by toy
Branch: MAIN
CVS Tags: RELEASE_19f, RELEASE_20a, amd64-dd-start, amd64-merge-start, cold-pcl-base, 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, dynamic-extent-base, intl-2-branch-base, intl-branch-base, label-2009-03-16, label-2009-03-25, lisp-executable-base, merge-sse2-packed, merge-with-19f, merged-unicode-utf16-extfmt-2009-06-11, mod-arith-base, 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-18e, release-18e-base, release-18e-pre1, release-18e-pre2, 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, remove_negative_zero_not_zero, 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, 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, sparc_gencgc, sparc_gencgc_merge, 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, cold-pcl, double-double-array-branch, double-double-branch, double-double-reader-branch, dynamic-extent, intl-2-branch, intl-branch, lisp-executable, mod-arith-branch, portable-clx-branch, ppc_gencgc_branch, release-18e-branch, release-19a-branch, release-19b-branch, release-19c-branch, release-19d-branch, release-19e-branch, sparc_gencgc_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.35: +3 -3 lines
Diff to previous 1.35
MACROLET needs to be expanded in the lexical environment, not the null
environment.  Adds an optional environment argument to
COMPILE-FOR-EVAL and INTERNAL-EVAL.  DO-MACROLET-STUFF then uses
INTERNAL-EVAL (instead of COERCE) to create the local macro function
in a suitable environment.

This is a "minimalistic fix for CMUCL" from Gerd Moellmann.

Revision 1.35 - (view) (annotate) - [select for diffs]
Sun Mar 4 20:12:15 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.34: +5 -5 lines
Diff to previous 1.34
Change most PROCLAIMs to DECLAIMs.

Revision 1.34 - (view) (annotate) - [select for diffs]
Thu Mar 1 21:45:34 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.33: +3 -12 lines
Diff to previous 1.33
This set of changes fixes EVAL-WHEN to work according to the ANSI spec.

Revision 1.33 - (view) (annotate) - [select for diffs]
Tue Sep 26 16:38:57 2000 UTC (13 years, 6 months ago) by dtc
Branch: MAIN
Changes since 1.32: +25 -34 lines
Diff to previous 1.32
o Within set-leaf-value-lambda-var, avoid trying to set a lexical
  variable with no refs since the compiler deletes such variables.

o Use value-cell objects rather than a cons for the interpreters
  value-cells.

Revision 1.32 - (view) (annotate) - [select for diffs]
Thu Feb 25 13:03:04 1999 UTC (15 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.31: +2 -18 lines
Diff to previous 1.31
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.31 - (view) (annotate) - [select for diffs]
Sat Feb 8 21:44:28 1997 UTC (17 years, 2 months ago) by dtc
Branch: MAIN
CVS Tags: RELEASE_18a, RELEASE_18b
Branch point for: RELENG_18
Changes since 1.30: +3 -2 lines
Diff to previous 1.30
Fix from Rob for trouble noted by Peter:

> o.k.  interpreted-function-lambda-expression just didn't work for anonymous
> lambdas with non-fixed argcounts.
>
>   Rob

Revision 1.30 - (view) (annotate) - [select for diffs]
Sat Feb 8 17:24:47 1997 UTC (17 years, 2 months ago) by pw
Branch: MAIN
Changes since 1.29: +57 -113 lines
Diff to previous 1.29
From: Douglas Thomas Crosher  <dtc@scrooge.ee.swin.oz.au>
Message-Id: <199702041630.DAA06602@scrooge.ee.swin.oz.au>
Subject: Re: making eval-functions FINs
To: cmucl-imp@cons.org
Date: Wed, 5 Feb 1997 03:30:55 +1100 (EST)
In-Reply-To: <199702040300.EAA16744@knight.cons.org> from "Rob MacLachlan" at Feb 3, 97 09:59:02 pm
X-Mailer: ELM [version 2.4 PL24]
Content-Type: text


> I seem to have lost the most recent message about fixing compiler/eval to
> use FINs instead of closures.  But yes, I would think that the current
> EVAL-FUNCTION  slots should become slots in the interpreted function FIN.
> GET-EVAL-FUN when would then become IDENTITY, so it should probably be
> flushed entirely.

Done; moved eval-function data into the interpreted-function FIN, also
added a closure slot so describe can access it easily. Revised patches
below.

Douglas

Revision 1.29 - (view) (annotate) - [select for diffs]
Wed Feb 5 16:01:21 1997 UTC (17 years, 2 months ago) by pw
Branch: MAIN
Changes since 1.28: +3 -2 lines
Diff to previous 1.28
initial post 1.3.7 merge

Revision 1.28 - (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.27: +1 -3 lines
Diff to previous 1.27
Fix headed boilerplate.

Revision 1.27 - (view) (annotate) - [select for diffs]
Sun Dec 5 11:58:03 1993 UTC (20 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.26: +7 -9 lines
Diff to previous 1.26
Changed lookup-varinfo-value to lookup-variable-value.

Revision 1.26 - (view) (annotate) - [select for diffs]
Wed Aug 25 01:42:38 1993 UTC (20 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.25: +2 -2 lines
Diff to previous 1.25
Fix another unqualified inhibit-warnings.

Revision 1.25 - (view) (annotate) - [select for diffs]
Wed Aug 25 00:15:24 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]
Tue Aug 24 23:43:05 1993 UTC (20 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23
inhibit-warnings -> ext:inhibit-warnings 

Revision 1.23 - (view) (annotate) - [select for diffs]
Mon Aug 23 01:35:53 1993 UTC (20 years, 8 months ago) by wlott
Branch: MAIN
Changes since 1.22: +23 -5 lines
Diff to previous 1.22
Added support for dylan-var leafs.  Changed typecases to etypecases so
that we get a sensible error if any more leafs get added.

Revision 1.22 - (view) (annotate) - [select for diffs]
Sun Jul 25 21:17:20 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21
debug-info -> debug

Revision 1.21 - (view) (annotate) - [select for diffs]
Wed May 12 16:16:17 1993 UTC (20 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.20: +1 -6 lines
Diff to previous 1.20
Moved *eval-stack* to code/byte-interp, since that is loaded first.

Revision 1.20 - (view) (annotate) - [select for diffs]
Mon Sep 7 15:37:19 1992 UTC (21 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.19: +4 -3 lines
Diff to previous 1.19
Fixed MAKE-INTERPRETED-FUNCTION to pass the arglist in so that it isn't
lost.
Changed to handle :ERROR combination kind.
. 


Revision 1.19 - (view) (annotate) - [select for diffs]
Tue Sep 24 16:09:34 1991 UTC (22 years, 7 months ago) by ram
Branch: MAIN
Branch point for: gengc
Changes since 1.18: +23 -15 lines
Diff to previous 1.18
Fix to make unreferenced arguments in local call work.  We were correctly 
only popping (into the INTERNAL-APPLY arglist) the number of referenced
args, but INTERNAL-APPLY was assuming that all arguments were present
in the list.  Added a flag to INTERNAL-APPLY to control this behavior. 
This was breaking full call to interpreted functions as well, since the
XEP did a local call to the main entry.

Revision 1.18 - (view) (annotate) - [select for diffs]
Mon Apr 22 23:05:05 1991 UTC (23 years ago) by ram
Branch: MAIN
Changes since 1.17: +8 -9 lines
Diff to previous 1.17
Added a (OPTIMIZE (SAFETY 1)) in LEAF-VALUE so that we get unbound errors in
interpreted code, even when the interpreter is compiled unsafe.

Revision 1.17 - (view) (annotate) - [select for diffs]
Tue Apr 9 14:40:43 1991 UTC (23 years ago) by ram
Branch: MAIN
Changes since 1.16: +13 -2 lines
Diff to previous 1.16
Added FLUSH-INTERPRETED-FUNCTION-CACHE so that we can prevent interpreted stuff
from being unnecessarily retained in saved cores.

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

Revision 1.15 - (view) (annotate) - [select for diffs]
Fri Nov 23 18:13:32 1990 UTC (23 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.14: +13 -7 lines
Diff to previous 1.14
Let-bind a special in interpreted-function-type so that we can tell when we
are recursivly called with the same function object.  If we are, we just
return a generic function type.

Revision 1.14 - (view) (annotate) - [select for diffs]
Tue Nov 20 18:36:03 1990 UTC (23 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.13: +18 -1 lines
Diff to previous 1.13
Added the INTERPRETED-FUNCTION-TYPE interface so that the compiler
could stop thinking all interpreted functions are (&rest t).

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

Revision 1.12 - (view) (annotate) - [select for diffs]
Mon Jul 23 14:25:03 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.11: +100 -62 lines
Diff to previous 1.11
lexenv changes and associated NLX changes, and also changes to support
interpreted code debugging.

Revision 1.11 - (view) (annotate) - [select for diffs]
Mon Feb 12 09:23:54 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Branch point for: bill_debug, eval_debug
Changes since 1.10: +13 -14 lines
Diff to previous 1.10
In CONVERT-EVAL-FUN, fixed inverted sense in the computation of the Quietly arg
to COMPILE-FOR-EVAL.  Also, changed eval function cache replacement to be less
eager to flush functions from the cache: the threshold is now GCs/call rather
than calls/GC.

Revision 1.10 - (view) (annotate) - [select for diffs]
Sat Feb 10 19:45:52 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9
Added some missing commas in COMBINATION-NODE.

Revision 1.9 - (view) (annotate) - [select for diffs]
Fri Feb 9 12:16:14 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.8: +14 -16 lines
Diff to previous 1.8
Changed COMBINATION-NODE to recognize the funny function case by the :UNUSED
annotation of the FUN continuation.  MAYBE-DO-FUNNY-FUNCTION is now
DO-FUNNY-FUNCTION and is only called when we've got a live one.  This speeds up
the most common case of call (a known, non-funny function), since we don't have
to fall all the way down to the bottom of a CASE.

Revision 1.8 - (view) (annotate) - [select for diffs]
Fri Feb 9 12:00:04 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.7: +1 -1 lines
Diff to previous 1.7
Changed INTERPRETED-FUNCTION-LAMBDA-EXPRESSION to not return the lambda as the
name when there is no name.  Callers can do this when that's what they want.

Revision 1.7 - (view) (annotate) - [select for diffs]
Fri Feb 9 11:47:49 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.6: +36 -29 lines
Diff to previous 1.6
Changed the interpreted function caching policy so that any function used more
than *INTERPRETED-FUNCTION-CACHE-THRESHOLD* times since the last GC is
retained.

Revision 1.6 - (view) (annotate) - [select for diffs]
Fri Feb 9 10:59:19 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.5: +45 -32 lines
Diff to previous 1.5
Fixed the unwind case of %UNWIND-PROTECT to push a bogus values list on the
stack to keep the MV-BIND in the UNWIND-PROTECT translation happy.  Unlike in
compiled code, we don't use these values to keep track of the exit being done,
but we still execute the MV-BIND.  Also, fixed SET-LEAF-VALUE to check for the
var being indirect even when the reference is in the home env.  Reordered the
TYPECASE in INTERNAL-APPLY-LOOP according to my intuition of the relatively
frequency of node types.

Revision 1.5 - (view) (annotate) - [select for diffs]
Thu Feb 8 15:49:13 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.4: +5 -5 lines
Diff to previous 1.4
Fixed a comment.

Revision 1.4 - (view) (annotate) - [select for diffs]
Wed Feb 7 16:28:27 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.3: +1 -1 lines
Diff to previous 1.3
Oops...  In LEAF-VALUE, I was looking at the wrong closure to see if the
environment was null.

Revision 1.3 - (view) (annotate) - [select for diffs]
Wed Feb 7 14:49:20 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.2: +31 -14 lines
Diff to previous 1.2
Changed LEAF-VALUE to make a cached EVAL-FUNCTION when the lexical environment
is null.  Although we don't get lazy conversion, at least we can prevent
excessive memory usage.  Also, this result is cached in the new
LAMBDA-EVAL-INFO-FUNCTION slot so that all references to a non-closure
interpreted function will get the same EQ result (mainly to avoid having N
copies of the IR1 if the conversion is decached and then reconverted.)

Revision 1.2 - (view) (annotate) - [select for diffs]
Wed Feb 7 12:07:22 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.1: +2 -1 lines
Diff to previous 1.1
When handling %UNWIND-PROTECT, don't pop and discard the cleanup function,
since it is no longer pushed.

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