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

Log of /src/compiler/typetran.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.48 - (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.47: +3 -3 lines
Diff to previous 1.47
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.47 - (view) (annotate) - [select for diffs]
Mon Apr 19 15:08:20 2010 UTC (4 years ago) by rtoy
Branch: MAIN
Changes since 1.46: +2 -2 lines
Diff to previous 1.46
Remove _N"" reader macro from docstrings when possible.

Revision 1.46 - (view) (annotate) - [select for diffs]
Fri Mar 19 15:19:01 2010 UTC (4 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: post-merge-intl-branch, snapshot-2010-04
Changes since 1.45: +8 -7 lines
Diff to previous 1.45
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.45.38.5 - (view) (annotate) - [select for diffs]
Fri Feb 26 03:38:17 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-2010-03-18-1300
Changes since 1.45.38.4: +2 -2 lines
Diff to previous 1.45.38.4 , to branch point 1.45 , to next main 1.48
Do translation of compiler-error messages in compiler-error.  Update
all calls to use _N instead of _.

Revision 1.45.40.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.45: +8 -7 lines
Diff to previous 1.45 , to next main 1.48
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.45.38.4 - (view) (annotate) - [select for diffs]
Thu Feb 25 04:35:40 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-branch
Changes since 1.45.38.3: +2 -2 lines
Diff to previous 1.45.38.3 , to branch point 1.45
o Make COMPILER-WARNING do the string lookup instead of at each call
  site.
o Change all calls to COMPILER-WARNING to use _N" instead of _".

Revision 1.45.38.3 - (view) (annotate) - [select for diffs]
Thu Feb 25 03:59:44 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-branch
Changes since 1.45.38.2: +2 -2 lines
Diff to previous 1.45.38.2 , to branch point 1.45
o Make COMPILER-NOTE do the string lookup instead of at each call
  site.
o Change all calls to COMPILER-NOTE to use _N" instead of _".

Revision 1.45.38.2 - (view) (annotate) - [select for diffs]
Thu Feb 11 02:45:32 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-working-2010-02-11-1000, intl-branch-working-2010-02-19-1000
Changes since 1.45.38.1: +7 -7 lines
Diff to previous 1.45.38.1 , to branch point 1.45
Mark translatable strings; regenerate cmucl.pot and ko/cmucl.po
accordingly.

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

Revision 1.45 - (view) (annotate) - [select for diffs]
Mon Feb 7 17:27:16 2005 UTC (9 years, 2 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, RELEASE_20a, amd64-dd-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, 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-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-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.44: +1 -2 lines
Diff to previous 1.44
o IGNORE some unused args
o Remove some unused variables

Revision 1.44 - (view) (annotate) - [select for diffs]
Thu Jul 3 18:44:03 2003 UTC (10 years, 9 months ago) by gerd
Branch: MAIN
CVS Tags: amd64-merge-start, dynamic-extent-base, lisp-executable-base, mod-arith-base, prm-before-macosx-merge-tag, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, 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, sparc_gencgc, sparc_gencgc_merge
Branch point for: dynamic-extent, lisp-executable, mod-arith-branch, release-19a-branch, sparc_gencgc_branch
Changes since 1.43: +15 -13 lines
Diff to previous 1.43
        (compile nil '(lambda (x) (typep x '(not (member 0d0))))) recurses
	infinitely.  The same symptom could be observed when compiling
	CLOCC's cllib:rnd.lisp.  From Alexey Dejneka on cmucl-imp.

	* src/compiler/typetran.lisp (source-transform-union-typep):
	Produce (or (listp ...) ...) only if a member-type is among the
	union types, that member-type contains nil, and the rest of
	union types contains the cons type.

Revision 1.43 - (view) (annotate) - [select for diffs]
Sun Apr 27 14:52:27 2003 UTC (10 years, 11 months ago) by toy
Branch: MAIN
Changes since 1.42: +1 -46 lines
Diff to previous 1.42
Remove all stuff relating to :negative-zero-is-not-zero which enabled
the non-ANSI feature of making -0 and +0 different in
type-specifiers.  Internal code still assumes this in various places,
however.  Since our type system is much smarter now than when this was
written (and handles type unions and member types much better),
perhaps we should clean this up?

Revision 1.42 - (view) (annotate) - [select for diffs]
Sat Apr 26 18:24:46 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
CVS Tags: remove_negative_zero_not_zero
Changes since 1.41: +6 -2 lines
Diff to previous 1.41
	CLASS-04.[2345], CONDITION-27-READER-IS-GENERIC, compiled.  Avoid
	constant-folding tests for generic-functionness.  Fix intersection
	of function types and generic-function.

	* src/code/type.lisp (type-intersection2): Handle intersection
	of FUNCTION-TYPEs with non-FUNCTION-TYPEs, like generic-function.

	* src/compiler/typetran.lisp (ir1-transform-type-predicate)
	(typep): Handle generic-function type tests differently.

	* src/code/class.lisp (class) <:complex-subtypep-arg1>:
	New type method for function = (function * *).

Revision 1.41 - (view) (annotate) - [select for diffs]
Sun Apr 13 11:57:16 2003 UTC (11 years ago) by gerd
Branch: MAIN
Changes since 1.40: +23 -6 lines
Diff to previous 1.40
  	The SEQUENCE-COUNT type was previously used in c:fndb, but since
	C::SEQUENCE-COUNT /= KERNEL::SEQUENCE-COUNT, it was an unknown
	type.  Please read boot4.lisp.

	* src/code/exports.lisp ("KERNEL"): Export sequence-count.

	* src-types/bootfiles/18e/boot4.lisp: New file.


	Make compute-effective-slot-definition AMOP compliant.
	Patch from Kevin Rosenberg.

	* src/pcl/std-class.lisp (compute-slots): Pass slot name
	to compute-effective-slot-definition.
	(compute-slots): Likewise.
	(compute-effective-slot-definition): Add parameter slot-name.

	* src/pcl/generic-functions.lisp (compute-effective-slot-definition):
	Add second parameter slot-name.


	Allow non-keyword keyword names in lambda lists.  This fixes test
	cases STRUCTURE-BOA-TEST-15/[1-8], and FLET.30.

	* src/compiler/node.lisp (arg-info): Accept non-keyword
	keyword names.

	* src/code/type.lisp (key-info): Likewise.


	Fix type system bugs detected by Paul Dietz' test suite
	This is to a large extent a port from SBCL.

	* src/code/type.lisp: Mostly rewritten with code ported from
	SBCL.

	* src/compiler/typetran.lisp (ir1-transform-type-predicate):
	Return nil if type is *empty-type*.
	(source-transform-negation-typep)
	(source-transform-intersection-typep): New functions.
	(source-transform-array-typep): Handle unknown array element types.
	(typep): Add handling of negation and intersection types.

	* src/compiler/srctran.lisp (make-canonical-union-type):
	Simplify, now that #'type-union is smarter.
	(ir1-transform-<-helper): Give up on non-numeric, non-member
	types.

	* src/compiler/checkgen.lisp (type-test-cost): Add a case
	for intersection-type.
	(values-types-asserted): Don't use coerce-to-values, see
	the comment there.

	* src/compiler/array-tran.lisp (array-dimension): Accept
	:maybe as array-type-complexp.

	* src/code/pred.lisp (%%typep): Add handling of
	negation-types and intersection-types.  Change cases of
	hairy-types, union-types, and arrays with unknown element type.

	* src/code/exports.lisp ("KERNEL"): Export negation-type,
	negation-type-type, intersection-type, intersection-type-types.

	* src/code/class.lisp (sealed-class-intersection):
	Return one value.
	(class :simple-intersection): Return one value, return nil in
	the default case.
	(class :complex-subtypep-arg2): New type method.

Revision 1.40 - (view) (annotate) - [select for diffs]
Sat Mar 22 16:15:19 2003 UTC (11 years ago) by gerd
Branch: MAIN
Changes since 1.39: +7 -7 lines
Diff to previous 1.39
* bootfiles/18e/boot[12].lisp: Bootstrap files for the lisp:class
= pcl:class part.  To get it booted from 18e, cross-compile using
boot1.lisp as bootstrap.lisp in pmai's build scripts, then do a
normal compile with boot2.lisp as bootstrap.lisp with the
resulting Lisp.

* code/byte-interp.lisp, code/defstruct.lisp, code/describe.lisp:
* code/error.lisp, code/exports.lisp, code/hash-new.lisp:
* code/hash.lisp, code/macros.lisp, code/misc.lisp:
* code/package.lisp, code/pred.lisp, code/sharpm.lisp, code/type.lisp:
* compiler/dump.lisp, compiler/fndb.lisp, compiler/globaldb.lisp:
* compiler/proclaim.lisp, compiler/typetran.lisp, compiler/xref.lisp:
* compiler/generic/primtype.lisp, compiler/generic/vm-type.lisp:
Changes for to use kernel::class etc.

* code/class.lisp (toplevel): Shadow class, built-in-class etc.
(class): Give it conc-name %class-.
(toplevel) [#+bootstrap-lisp-class=pcl-class]: Define old accessors.
(everywhere): Use new class accessors.

* compiler/generic/vm-fndb.lisp (%make-instance): Change from
unsafe to flushable and movable.

* code/ntrace.lisp (expand-trace, untrace): Changes for method
tracing.

* code/profile.lisp (profile, profile-all, unprofile): Method
profiling.

* pcl/*.text, pcl/bench.lisp, pcl/extensions.lisp:
* pcl/fast-init.lisp, pcl/precom1.lisp, pcl/precom4.lisp:
* pcl/structure-class.lisp, pcl/user-instances.lisp:
Removed.

* tools/pclcom.lisp: Changes for my PCL and lisp:class =
pcl::class.

Revision 1.39.4.1 - (view) (annotate) - [select for diffs]
Wed Mar 19 16:45:30 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.39: +7 -7 lines
Diff to previous 1.39 , to next main 1.48
* code/defstruct.lisp, code/describe.lisp, code/error.lisp:
* code/exports.lisp, code/hash-new.lisp, code/hash.lisp
* code/macros.lisp, code/misc.lisp, code/package.lisp
* code/pred.lisp, code/sharpm.lisp, code/type.lisp:
Changes for lisp:class = pcl:class.

* compiler/dump.lisp, compiler/fndb.lisp, compiler/globaldb.lisp:
* compiler/ir1tran.lisp, compiler/ir1util.lisp:
* compiler/node.lisp, compiler/proclaim.lisp, compiler/typetran.lisp:
* compiler/xref.lisp, compiler/generic/primtype.lisp:
* compiler/generic/vm-type.lisp:
Likewise.

* code/class.lisp (toplevel): Shadow class, built-in-class etc.
(class): Give it conc-name %class-.
(toplevel) [#-lisp-class-is-pcl-class]: Define old accessors.
(everywhere): Use new class accessors.

* code/byte-interp.lisp (load-type-predicate):
Use kernel::structure-class instead of structure-class.

Revision 1.39.2.1 - (view) (annotate) - [select for diffs]
Fri Oct 4 23:13:41 2002 UTC (11 years, 6 months ago) by pmai
Branch: UNICODE-BRANCH
Changes since 1.39: +54 -2 lines
Diff to previous 1.39 , to next main 1.48
Checked in Brian Spilsbury's experimental Unicode, locales, and dialect
support patchset.  This lives on its own branch, so that people can
play with it and tweak it, without disturbing 18e release engineering
on the main branch.  Bootstrapping has only been tried on LINKAGE_TABLE
x86/Linux builds.  A working cross-compile script is checked in under
bootfiles/19a/boot1-cross-unicode.lisp.  The script still leaves you
with some interactive errors, on the cross compile, which you should
answer with 2.  See the mailing list for more information.

Revision 1.39 - (view) (annotate) - [select for diffs]
Wed Aug 9 13:00:17 2000 UTC (13 years, 8 months ago) by dtc
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
Branch point for: UNICODE-BRANCH, cold-pcl, release-18e-branch
Changes since 1.38: +10 -7 lines
Diff to previous 1.38
Delay the %instance-typep transform when converting to inline code,
giving type propagation a chance.

Revision 1.29.2.4 - (view) (annotate) - [select for diffs]
Wed Aug 9 12:59:51 2000 UTC (13 years, 8 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18c, RELEASE_18d
Changes since 1.29.2.3: +10 -7 lines
Diff to previous 1.29.2.3 , to branch point 1.29 , to next main 1.48
Delay the %instance-typep transform when converting to inline code,
giving type propagation a chance.

Revision 1.29.2.3 - (view) (annotate) - [select for diffs]
Sun Aug 6 19:13:45 2000 UTC (13 years, 8 months ago) by dtc
Branch: RELENG_18
Changes since 1.29.2.2: +18 -2 lines
Diff to previous 1.29.2.2 , to branch point 1.29
o Add the new function order-layout-inherits to correctly order the
  layouts within the layout-inherits vector. This ensures that
  the compiler can generate inline type tests for hierarchical classes.

o Modify the definition of the stream class to be hierarchical.

o Have the condition classes correctly order their layout-inherits
  so that the hierarchical condition class is placed at it specified depth.

o Enhance the compiler instance typep transform to generate inline
  type tests for hierarchical classes, not just for structures.

Revision 1.38 - (view) (annotate) - [select for diffs]
Sun Aug 6 19:12:27 2000 UTC (13 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.37: +18 -2 lines
Diff to previous 1.37
o Add the new function order-layout-inherits to correctly order the
  layouts within the layout-inherits vector. This ensures that
  the compiler can generate inline type tests for hierarchical classes.

o Modify the definition of the stream class to be hierarchical.

o Have the condition classes correctly order their layout-inherits
  so that the hierarchical condition class is placed at it specified depth.

o Enhance the compiler instance typep transform to generate inline
  type tests for hierarchical classes, not just for structures.

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

Revision 1.37 - (view) (annotate) - [select for diffs]
Tue May 23 06:52:09 2000 UTC (13 years, 10 months ago) by dtc
Branch: MAIN
Changes since 1.36: +2 -2 lines
Diff to previous 1.36
The %instance-typep transform must be applied when both native and
byte compiling because typep may be source transformed to %instance-typep
even when byte-compiling as the (not (byte-compiling)) test is just a best
guess. Fix spotted by Raymond Toy; problem noted by William Harold Newman.

Revision 1.36 - (view) (annotate) - [select for diffs]
Tue May 2 04:44:28 2000 UTC (13 years, 11 months ago) by dtc
Branch: MAIN
Changes since 1.35: +26 -1 lines
Diff to previous 1.35
Implement a specializing CONS class as per issue CONS-TYPE-SPECIFIER:ADD.
The new cons-type which maintains the specialised CAR and CDR types:

o Typep recurses, checking the respective car and cdr specialisations;
  two cons-types are type= if both their car and cdr types are type=.

o Subtypep recurses, applying subtypep to the respective car and
  cdr types. If both sub-tests return true then the cons test returns
  true with a win only when both sub-tests win. If either sub-test
  returns false then the cons tests returns false with a win if either
  of sub-tests win.

o Type-intersection is applied to the respective car and cdr types,
  and wins if both win.

o The type-union of two cons-types handles cases for which either the
  respective car or cdr types are type=, in which case type-union is
  applied to the other type. This avoid returning an overly general result.

o Ctype-of a cons object simply returns (cons * *); and does not attempt
  to recurse.

o The compiler recursively checks the specialised type of the cons-type,
  which allows it to also use this type information to derive the result
  type car and cdr. Inline code is currently only generated when
  natively compiling.

Revision 1.35 - (view) (annotate) - [select for diffs]
Fri Jul 24 17:22:28 1998 UTC (15 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.34: +3 -3 lines
Diff to previous 1.34
The complex-float and signed-array features are  now standard, so
remove unnecessary conditionals.

Revision 1.29.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:23:10 1998 UTC (15 years, 9 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.29: +119 -77 lines
Diff to previous 1.29
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.34 - (view) (annotate) - [select for diffs]
Fri May 29 06:41:23 1998 UTC (15 years, 10 months ago) by dtc
Branch: MAIN
Changes since 1.33: +73 -77 lines
Diff to previous 1.33
Rather than source transforming instance type tests, convert them to
%instance-typep to be later handled by an IR1 transform. This improves
type propagation and allows tests known a compile time to be optimised
away, and when the IR1 transform is eventually delayed constraint
propagation will get a chance.

Revision 1.33 - (view) (annotate) - [select for diffs]
Fri Apr 3 03:58:12 1998 UTC (16 years ago) by dtc
Branch: MAIN
Changes since 1.32: +34 -10 lines
Diff to previous 1.32
Reworking of the neg-zero-not-zero version of
transform-numeric-bound-test to respect the type of the test and avoid
generating unnecessary float zero tests which were causing compiler
warnings.

Revision 1.32 - (view) (annotate) - [select for diffs]
Mon Jan 5 22:35:00 1998 UTC (16 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.31: +21 -1 lines
Diff to previous 1.31
Change to the handling of floating point zeros within numeric type
specifiers by Raymond Toy. With these changes -0.0 and 0.0 and
considered separate on the float type intervals which is more natural
for many arithmetic function derive type optimizers.  These changes
are dependent upon the :negative-zero-is-not-zero feature.

Revision 1.31 - (view) (annotate) - [select for diffs]
Sat Nov 15 04:38:57 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.30: +2 -1 lines
Diff to previous 1.30
Add a complex-rational-p predicate. This test for a unique object type
so can be implemented efficiently, and is handy for type dispatch.
Cleanup the realpart and imagpart source transforms, exploiting the
complex rational test.

Revision 1.30 - (view) (annotate) - [select for diffs]
Fri Nov 7 17:11:22 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.29: +2 -1 lines
Diff to previous 1.29
Add a complex-float-p predicate to the backend which can be handled
efficiently inline with the complex-float support.

Revision 1.29 - (view) (annotate) - [select for diffs]
Thu Feb 6 00:34:16 1997 UTC (17 years, 2 months ago) by pw
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
Changes since 1.28: +3 -2 lines
Diff to previous 1.28
Fix failure of typep on instance with changed PCL defclass

Revision 1.28 - (view) (annotate) - [select for diffs]
Fri Jul 12 21:01:07 1996 UTC (17 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.27: +4 -4 lines
Diff to previous 1.27
Check if we have a funcallable instance before we check if we have an instance
in SOURCE-TRANSFORM-INSTANCE-TYPEP.  This way, typep of funcallable instance
types should actually work.

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

Revision 1.26 - (view) (annotate) - [select for diffs]
Tue Nov 30 18:02:54 1993 UTC (20 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.25: +3 -2 lines
Diff to previous 1.25
Fixed SOURCE-TRANSFORM-NUMERIC-TYPEP to test against REAL instead of NUMBER
when testing reals.  Added a define-type-predicate for REAL, so SOURCE-
TRANSFORM-NUMERIC-TYPEP can use it.

Revision 1.25 - (view) (annotate) - [select for diffs]
Fri Sep 10 19:09:23 1993 UTC (20 years, 7 months ago) by wlott
Branch: MAIN
Changes since 1.24: +7 -4 lines
Diff to previous 1.24
Added support for &more args

Revision 1.24 - (view) (annotate) - [select for diffs]
Thu Aug 19 21:03:39 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23
:where -> :when

Revision 1.23 - (view) (annotate) - [select for diffs]
Thu Aug 19 17:36:12 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.22: +3 -2 lines
Diff to previous 1.22
Do FIND-CLASS transform even in byte code.

Revision 1.22 - (view) (annotate) - [select for diffs]
Tue Jul 20 15:38:15 1993 UTC (20 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.21: +14 -4 lines
Diff to previous 1.21
Add transform for constant FIND-CLASS & change class TYPEP to 
use the CLASS-CELL make-load-form instead of LOAD-TIME-VALUE.

Revision 1.21 - (view) (annotate) - [select for diffs]
Sat Jul 17 01:00:08 1993 UTC (20 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.20: +6 -4 lines
Diff to previous 1.20
Allow load-time forward referencing of classes passed to TYPEP.

Revision 1.20 - (view) (annotate) - [select for diffs]
Wed May 12 11:12:22 1993 UTC (20 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.19: +2 -2 lines
Diff to previous 1.19
*byte-compiling* => (byte-compiling)

Revision 1.19 - (view) (annotate) - [select for diffs]
Tue May 11 13:50:58 1993 UTC (20 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.18: +18 -15 lines
Diff to previous 1.18
Update transforms to inhibit ones which pessimize byte code.

Revision 1.18 - (view) (annotate) - [select for diffs]
Sat Mar 13 17:27:23 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.17: +3 -2 lines
Diff to previous 1.17
Make funcallable-instance-p a primitive predicate.  Fix class-typep layout
lossage.

Revision 1.17 - (view) (annotate) - [select for diffs]
Sat Mar 13 14:46:31 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.16: +2 -3 lines
Diff to previous 1.16
Delete unused binding.

Revision 1.16 - (view) (annotate) - [select for diffs]
Sat Mar 13 14:38:11 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.15: +50 -33 lines
Diff to previous 1.15
Fix up FIN type testing, and sealed classes in general.

Revision 1.15 - (view) (annotate) - [select for diffs]
Fri Feb 26 08:39:29 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.14: +57 -37 lines
Diff to previous 1.14
new structure branch & tuning, see new_struct

Revision 1.14.1.5 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Feb 22 15:05:16 1993 UTC (21 years, 1 month ago) by ram
Branch: new_struct
Changes since 1.14.1.4: +2 -2 lines
Diff to previous 1.14.1.4 , to next main 1.48
type-specifier, not specifier-type in unknown type test eff note.

Revision 1.14.1.4 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Feb 10 12:50:47 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.14.1.3: +4 -3 lines
Diff to previous 1.14.1.3
Suppress simple-vector bounds check in structure type test, since
we already check for that.

Revision 1.14.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Feb 8 22:12:19 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.14.1.2: +6 -7 lines
Diff to previous 1.14.1.2
Update structure type hackery


Revision 1.14.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Sat Jan 23 14:34:43 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.14.1.1: +2 -2 lines
Diff to previous 1.14.1.1
New structure hax.

Revision 1.14.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Fri Jan 15 15:32:22 1993 UTC (21 years, 3 months ago) by ram
Branch: new_struct
Changes since 1.14: +55 -35 lines
Diff to previous 1.14
New structure hacks
,

Revision 1.14 - (view) (annotate) - [select for diffs]
Mon Apr 27 19:46:44 1992 UTC (21 years, 11 months ago) by ram
Branch: MAIN
Branch point for: new_struct
Changes since 1.13: +3 -2 lines
Diff to previous 1.13
Fixed SOURCE-TRANSFORM-STRUCTURE-TYPEP to return T-or-NIL in the frozen
included case, and not some random non-null lists.

Revision 1.13 - (view) (annotate) - [select for diffs]
Sat Mar 21 19:41:34 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.12: +46 -45 lines
Diff to previous 1.12
Moved *type-predicate* and *predicate-type* into the backend structure.

Revision 1.12 - (view) (annotate) - [select for diffs]
Thu Oct 24 21:05:00 1991 UTC (22 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11
Fixed TYPEP SATISFIES to always return T-or-NIL, regardless of what the
predicate returns.

Revision 1.11 - (view) (annotate) - [select for diffs]
Thu May 23 17:55:06 1991 UTC (22 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.10: +5 -6 lines
Diff to previous 1.10
Changed structure predicate transform to inhibit inline expansion of the
predicate function, as the inline expansion just converts back to TYPEP.

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

Revision 1.9 - (view) (annotate) - [select for diffs]
Thu Jan 3 15:02:09 1991 UTC (23 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.8: +4 -4 lines
Diff to previous 1.8
Fixed frozen structure type test stuff to allow any subtypes of the
desired type, rather than any supertypes.

Revision 1.8 - (view) (annotate) - [select for diffs]
Thu Jan 3 13:13:37 1991 UTC (23 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.7: +37 -3 lines
Diff to previous 1.7
Added special-casing of structure types that have been declared frozen
with the FREEZE-TYPE declaration..

Revision 1.7 - (view) (annotate) - [select for diffs]
Wed Oct 3 12:53:00 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.6: +1 -2 lines
Diff to previous 1.6
Nuked the type common, and it's predicate.

Revision 1.6 - (view) (annotate) - [select for diffs]
Mon Sep 24 18:10:04 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5
typo

Revision 1.5 - (view) (annotate) - [select for diffs]
Fri Aug 24 18:30:08 1990 UTC (23 years, 7 months ago) by wlott
Branch: MAIN
Changes since 1.4: +15 -36 lines
Diff to previous 1.4
Moved MIPS branch onto trunk; no merge necessary.

Revision 1.4.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Sat Jul 21 12:07:39 1990 UTC (23 years, 9 months ago) by ram
Changes since 1.4.1.1: +9 -6 lines
Diff to previous 1.4.1.1 , to next main 1.48
Tweaked COMPLEX testing a bit.  Only test the type of the imagpart when
we really have to, and suppress unreferenced warnings on the imagpart var
when we don't use it.

Revision 1.4.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Jun 12 23:46:06 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.4: +7 -31 lines
Diff to previous 1.4
Merged trunk changes into MIPS branch.

Revision 1.4 - (view) (annotate) - [select for diffs]
Thu May 24 13:58:43 1990 UTC (23 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.3: +2 -1 lines
Diff to previous 1.3
Fixed note in SOURCE-TRANSFORM-HAIRY-TYPEP to turn the type into a type
specifier when printing it.

Revision 1.3 - (view) (annotate) - [select for diffs]
Wed May 16 11:09:10 1990 UTC (23 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.2: +4 -6 lines
Diff to previous 1.2
Fixed FOLD-TYPE-PREDICATE to specify one arg rather than two so that it
will actually get called.

Revision 1.2.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Sun May 6 05:16:51 1990 UTC (23 years, 11 months ago) by wlott
Changes since 1.2.1.1: +2 -8 lines
Diff to previous 1.2.1.1 , to next main 1.48
When converting integer typep's, don't assume that fixnum/integer is the
only useful first cut to make.  Ask the new routine containing-integer-type
what the first cut should be so that raw arithmetic can be used.

Revision 1.2.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Apr 17 23:20:55 1990 UTC (24 years ago) by wlott
Changes since 1.2: +6 -24 lines
Diff to previous 1.2
Merged stuff into MIPS branch.

Revision 1.2 - (view) (annotate) - [select for diffs]
Mon Apr 16 10:50:22 1990 UTC (24 years ago) by ram
Branch: MAIN
Changes since 1.1: +13 -12 lines
Diff to previous 1.1
Merged non-descriptor changes:
 revision 1.1.2.1
 date: 90/03/27 12:21:55;  author: ram;  state: Exp;  lines added/del: 13/12
 Changed TYPEP transform to distinguish between hairy and unknown types.
 Also, if a type is unknown, we give an optional efficency note instead
 of a warning.  Any warnings should now be given as a consequence of
 the PARSE-UNKNOWN-TYPE condition.
 ----------------------------
 revision 1.1.1.3
 date: 90/03/27 17:02:25;  author: wlott;  state: Exp;  lines added/del: 1/24
 Moved implementation specific predicates into a new VM specific file:
 vm-typetran.lisp.
 ----------------------------
 revision 1.1.1.2
 date: 90/03/26 21:57:20;  author: wlott;  state: Exp;  lines added/del: 6/2
 Only take continuation-value of constant-continuations in the %typep
 transform.

 Deal with NIL for the class when converting numeric typep tests.
 ----------------------------
 revision 1.1.1.1
 date: 90/03/23 21:52:24;  author: wlott;  state: Exp;  lines added/del: 1/0
 Added predicate for base-characters.

Revision 1.1.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Mar 27 17:02:25 1990 UTC (24 years ago) by wlott
Changes since 1.1.1.2: +1 -24 lines
Diff to previous 1.1.1.2 , to next main 1.48
Moved implementation specific predicates into a new VM specific file:
vm-typetran.lisp.

Revision 1.1.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Mar 26 21:57:20 1990 UTC (24 years ago) by wlott
Changes since 1.1.1.1: +6 -2 lines
Diff to previous 1.1.1.1
Only take continuation-value of constant-continuations in the %typep
transform.

Deal with NIL for the class when converting numeric typep tests.

Revision 1.1.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Fri Mar 23 21:52:24 1990 UTC (24 years, 1 month ago) by wlott
Changes since 1.1: +1 -0 lines
Diff to previous 1.1
Added predicate for base-characters.

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