/[cmucl]/src/code/hash-new.lisp
ViewVC logotype

Log of /src/code/hash-new.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.54.4.1 - (view) (annotate) - [select for diffs]
Sun Aug 15 15:00:08 2010 UTC (3 years, 8 months ago) by rtoy
Branch: RELEASE-20B-BRANCH
CVS Tags: RELEASE_20b, release-20b-pre2
Changes since 1.54: +10 -4 lines
Diff to previous 1.54 , to next main 1.55
Merge fix from HEAD to allow hashing of NaNs.

Revision 1.55 - (view) (annotate) - [select for diffs]
Wed Aug 11 17:40:09 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: GIT-CONVERSION, HEAD, cross-sol-x86-2010-12-20, cross-sol-x86-base, cross-sol-x86-merged, cross-sparc-branch-base, 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
Branch point for: cross-sol-x86-branch, cross-sparc-branch
Changes since 1.54: +10 -4 lines
Diff to previous 1.54
Trying to has a NaN causes an error.  Don't add zero if it's a NaN.

Revision 1.54 - (view) (annotate) - [select for diffs]
Tue Apr 20 17:57:44 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: release-20b-pre1, snapshot-2010-05, snapshot-2010-06, snapshot-2010-07, snapshot-2010-08, sparc-tramp-assem-2010-07-19, sparc-tramp-assem-base
Branch point for: RELEASE-20B-BRANCH, sparc-tramp-assem-branch
Changes since 1.53: +5 -5 lines
Diff to previous 1.53
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.53 - (view) (annotate) - [select for diffs]
Mon Apr 19 02:18:03 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
Changes since 1.52: +13 -13 lines
Diff to previous 1.52
Remove _N"" reader macro from docstrings when possible.

Revision 1.52 - (view) (annotate) - [select for diffs]
Fri Mar 19 15:18:59 2010 UTC (4 years ago) by rtoy
Branch: MAIN
CVS Tags: post-merge-intl-branch, snapshot-2010-04
Changes since 1.51: +24 -22 lines
Diff to previous 1.51
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.51.12.1 - (view) (annotate) - [select for diffs]
Thu Feb 25 20:34:49 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-2-branch
Changes since 1.51: +22 -20 lines
Diff to previous 1.51 , to next main 1.55
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.51.10.4 - (view) (annotate) - [select for diffs]
Sun Feb 14 03:06:41 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-19-1000
Changes since 1.51.10.3: +3 -3 lines
Diff to previous 1.51.10.3 , to branch point 1.51 , to next main 1.55
o Marking more translatable strings that were previously missed.
o Regenerated cmucl.pot and cmucl.po's.
o Fixed some problems with ko/cmucl.po introduced in last checkin.

Revision 1.51.10.3 - (view) (annotate) - [select for diffs]
Wed Feb 10 04:00:05 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-working-2010-02-11-1000
Changes since 1.51.10.2: +5 -5 lines
Diff to previous 1.51.10.2 , to branch point 1.51
Use _N for docstrings.

Revision 1.51.10.2 - (view) (annotate) - [select for diffs]
Tue Feb 9 20:23:02 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
Changes since 1.51.10.1: +20 -20 lines
Diff to previous 1.51.10.1 , to branch point 1.51
Mark translatable strings; update cmucl.pot and ko/cmucl.po
accordingly.

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

Revision 1.51.8.1 - (view) (annotate) - [select for diffs]
Fri Nov 6 19:54:20 2009 UTC (4 years, 5 months ago) by rtoy
Branch: amd64-dd-branch
Changes since 1.51: +4 -2 lines
Diff to previous 1.51 , to next main 1.55
code/class.lisp:
o Make layout-hash-max the same size as used for 32-bit.

code/hash-new.lisp:
o Make max-hash be the same size as used for 32-bit.

These changes are needed because the index type is still a small
fixnum.  Have not yet figured out how to make that a big fixnum type
yet.

Revision 1.51 - (view) (annotate) - [select for diffs]
Sun Aug 9 03:54:42 2009 UTC (4 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_20a, amd64-dd-start, intl-2-branch-base, intl-branch-base, pre-merge-intl-branch, release-20a-base, release-20a-pre1, snapshot-2009-08, snapshot-2009-11, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03, unicode-string-buffer-base, unicode-string-buffer-impl-base
Branch point for: RELEASE-20A-BRANCH, amd64-dd-branch, intl-2-branch, intl-branch, unicode-string-buffer-branch, unicode-string-buffer-impl-branch
Changes since 1.50: +2 -2 lines
Diff to previous 1.50
Fix some typos.  From Paul Foley.

Revision 1.50 - (view) (annotate) - [select for diffs]
Thu Jul 2 21:00:48 2009 UTC (4 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.49: +9 -9 lines
Diff to previous 1.49
boot-2009-07.lisp:
o Bootstrap file needed to compile this change (because the current
  shrink-vector derive-type optimizer didn't handle union types).

compiler/fndb.lisp:
o Make the compiler warn if the result of lisp::shrink-vector is not
  used.  This is a problem because the compiler doesn't know that
  shrink-vector destructively modifies the length of a vector.  As a
  partial solution, warn the user if the result of shrink-vector is
  not.

code/hash-new.lisp:
code/seq.lisp:
o Make sure the result of shrink-vector is used, to get rid of a new
  compiler warning.

code/unidata.lisp:
o Modify %unicode-full-case so that it doesn't use shrink-vector
  anymore.

compiler/seqtran.lisp:
o Fix shrink-vector derive-type optimizer to handle union types.

tools/build-unidata.lisp:
o Fix typo that someone got in.
o Make sure the result of shrink-vector is used, to get rid of a new
  compiler warning.

Revision 1.49 - (view) (annotate) - [select for diffs]
Thu Jun 11 16:03:57 2009 UTC (4 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: merged-unicode-utf16-extfmt-2009-06-11, portable-clx-base, portable-clx-import-2009-06-16, snapshot-2009-07
Branch point for: portable-clx-branch
Changes since 1.48: +4 -4 lines
Diff to previous 1.48
Merge Unicode work to trunk.  From label
unicode-utf16-extfmt-2009-06-11.

Revision 1.47.4.2 - (view) (annotate) - [select for diffs]
Tue May 12 16:31:48 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-06, unicode-utf16-extfmt-2009-06-11
Changes since 1.47.4.1: +4 -4 lines
Diff to previous 1.47.4.1 , to branch point 1.47 , to next main 1.55
o Lots of spelling fixes from Paul.
o Add unicode codepoints in final-sigma.lisp (in case the characters
  there don't show up correctly).
o Support partial-fill in READ-INTO-STRING.

Revision 1.47.4.1 - (view) (annotate) - [select for diffs]
Fri Mar 27 16:24:10 2009 UTC (5 years ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-05, unicode-utf16-extfmt-2009-03-27
Changes since 1.47: +2 -2 lines
Diff to previous 1.47
Merge from unicode-utf16-branch to get equal hash-table fixes so that
name-char works again.

Revision 1.47.2.1 - (view) (annotate) - [select for diffs]
Fri Mar 27 16:12:03 2009 UTC (5 years ago) by rtoy
Branch: unicode-utf16-branch
Changes since 1.47: +2 -2 lines
Diff to previous 1.47 , to next main 1.55
Merge from HEAD to get the SXHASH fix for characters.

Revision 1.48 - (view) (annotate) - [select for diffs]
Fri Mar 27 16:03:15 2009 UTC (5 years ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2009-04, snapshot-2009-05
Changes since 1.47: +2 -2 lines
Diff to previous 1.47
code/hash-new.lisp:
o Don't convert characters to uppercase when computing SXHASH for
  characters.  The characters aren't EQUAL anyway, so the hash value
  doesn't have to be the same.

general-info/release-20a.txt:
o Update

Revision 1.47 - (view) (annotate) - [select for diffs]
Tue Apr 29 13:07:47 2008 UTC (5 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, label-2009-03-16, label-2009-03-25, merge-sse2-packed, merge-with-19f, release-19f-base, release-19f-pre1, 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, 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-utf16-base, unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26, 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, sse2-branch, sse2-packed-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.46: +2 -2 lines
Diff to previous 1.46
[cmucl-ticket] #16: Read-time hash-table issue

MAKE-HASH-TABLE-LOAD-FORM was missing a comma for the value of the
:weak-p arg.

Revision 1.46 - (view) (annotate) - [select for diffs]
Tue Jan 22 17:55:30 2008 UTC (6 years, 2 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04
Branch point for: release-19e-branch
Changes since 1.45: +3 -3 lines
Diff to previous 1.45
Update docstring to note that weak tables can be created only with a
test of 'EQ or 'EQL.

Revision 1.45 - (view) (annotate) - [select for diffs]
Mon Oct 8 15:35:36 2007 UTC (6 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2007-11, snapshot-2007-12, snapshot-2008-01
Changes since 1.44: +14 -1 lines
Diff to previous 1.44
Fix problem with cross-compiles needing SXHASH-INSTANCE because TRACE
uses EQUAL hash-tables now to keep track of labels/flets.

Basically moved the implementation of sxhash-instance from
pcl/low.lisp to hash-new.lisp.

Revision 1.44 - (view) (annotate) - [select for diffs]
Fri Sep 28 17:07:21 2007 UTC (6 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2007-10
Changes since 1.43: +7 -6 lines
Diff to previous 1.43
Fix bug noted by Chisheng Huang, cmucl-imp, 25 Sep 2007.

MAPHASH needs to grab the kv-vector from the hash table for each
iteration because the hash table may have been rehashed.  (This mostly
reverts the code to the previous version, where this bug was
introduced.)

Revision 1.43 - (view) (annotate) - [select for diffs]
Fri Aug 18 13:19:05 2006 UTC (7 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: pre-telent-clx, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, 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
Branch point for: release-19d-branch
Changes since 1.42: +24 -15 lines
Diff to previous 1.42
code/hash-new.lisp:
o Replace the magic value #x80000000 with +eq-based-hash-value+.

lisp/gencgc.c:
o Replace the magic value 0x80000000 with EQ_BASED_HASH_VALUE.
o When freeing the hash entry, we forgot to reset the hash-vector
  entry to EQ_BASED_HASH_VALUE.

Revision 1.42 - (view) (annotate) - [select for diffs]
Fri Aug 18 02:26:28 2006 UTC (7 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.41: +29 -10 lines
Diff to previous 1.41
Add support for weak value, key-and-value, and key-or-value hash
tables.  Use boot-2006-08-1-cross to cross-compile.  During worldload,
you'll get a restart.  Choose the CLOBBER-IT restart.

bootfiles/19c/boot-2006-08-1-cross.lisp:
o Cross-compile script to mark that a cross-compile is needed.
  Nothing fancy, just load up the example scripts.

code/hash-new.lisp:
o Update the allowed values for the weak-p slot of a hash table.
o Change hash table printer to print out the test and weak style.
o Update MAKE-HASH-TABLE to allow other values for :weak-p keyword arg
  and set the weak-p slot appropriately.
o Produce an error if a weak key, key-and-value, or key-or-value table
  is created but the test is not EQ or EQL.

compiler/ppc/parms.lisp:
compiler/sparc/parms.lisp:
o Add :KEY, :VALUE, :KEY-AND-VALUE, and :KEY-OR-VALUE symbols to the
  static symbols because C code needs them.

lisp/gencgc.c:
o Add necessary support to handle the new hash types.

Revision 1.41 - (view) (annotate) - [select for diffs]
Wed Aug 16 16:19:09 2006 UTC (7 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.40: +10 -4 lines
Diff to previous 1.40
code/hash-new.lisp:
o Add a new slot to the hash-table structure for GC to use for linking
  weak tables together.  (Previously we used the weak-p slot for
  this.  Let's make it explicit, now.  Plus, this allows us to use
  weak-p to indicate other types of weak tables, should they be
  implemented.)

lisp/gencgc.c:
o Update defstruct appropriately.
o Use the new next-weak-table slot to chain the weak tables together.
o Previously we scanned the weak tables in several places in the
  code.  However, this scanning also removed entries.  I don't think
  we want that because later scans could make a key valid.  Thus:

  - Change scav_hash_entries so that it doesn't remove a hash-table
    entry unless told to.
  - Add new function to scavenge weak tables without removing a weak
    entry.
  - Adjust scan_weak_tables to remove weak entries.

NOTE:  When building, you'll be asked twice about the hash-table
structure changing size.  Just select the CLOBBER-IT restart in both
cases.

Revision 1.40 - (view) (annotate) - [select for diffs]
Mon Aug 14 14:37:30 2006 UTC (7 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.39: +12 -2 lines
Diff to previous 1.39
o Print a warning when creating a weak hash table with a test other
  than 'EQ.
o Make the hash-table printer indicate if the hash table is weak.

Revision 1.39 - (view) (annotate) - [select for diffs]
Fri Aug 11 18:20:18 2006 UTC (7 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.38: +4 -4 lines
Diff to previous 1.38
Instead of using :empty to denote empty hash entries, use
'lisp::empty-hash-entry instead.

Not the best solution, since the user can still access this symbol,
but being an implementation-specific, non-exported symbol, this seems
acceptable.

Should try to use the unbound marker instead.

Revision 1.38 - (view) (annotate) - [select for diffs]
Fri Jul 21 17:39:46 2006 UTC (7 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2006-08
Changes since 1.37: +38 -29 lines
Diff to previous 1.37
Don't hardwire the :EMPTY symbol all over the code.  Element 1 of the
key-value vector contains the desired value, so use that wherever we
need to.  :EMPTY should only be used for initializing the kv vector.

Revision 1.37 - (view) (annotate) - [select for diffs]
Fri Jun 30 18:41:22 2006 UTC (7 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2006-07
Changes since 1.36: +6 -1 lines
Diff to previous 1.36
This large checkin merges the double-double float support to HEAD.
The merge is from the tag "double-double-irrat-end".  The
double-double branch is now obsolete.

The code should build without double-double support (tested on sparc)
as well as build with double-double support (tested also on sparc).

Revision 1.36.2.1 - (view) (annotate) - [select for diffs]
Fri Jun 9 16:04:57 2006 UTC (7 years, 10 months ago) by rtoy
Branch: double-double-branch
CVS Tags: double-double-array-base, double-double-array-checkpoint, 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
Branch point for: double-double-array-branch, double-double-reader-branch
Changes since 1.36: +6 -1 lines
Diff to previous 1.36 , to next main 1.55
Add basic support for kernel:double-double-float type.  The primitive
type is there, and basic arithmetic operations work as well as PRINT.
But many things do not work: No reader, formatted output, many mixed
type arithmetic operations, special functions are just double-float
values, coerced to double-double-float.

compiler/generic/interr.lisp:
o Add new error

compiler/generic/new-genesis.lisp:
o Dump double-double-float objects (barely tested)

compiler/generic/primtype.lisp:
o Tell compiler about the new primitive type double-double-float.

compiler/generic/vm-fndb.lisp:
o Make double-double-float-p a known function.

compiler/generic/vm-type.lisp:
o Update FLOAT-FORMAT-NAME to include double-double-float

compiler/generic/vm-typetran.lisp:
o Tell compiler about double-double-float type predicate.

compiler/sparc/float.lisp:
o Add necessary vops to move double-double-float args, store and load
  double-double-floats to/from the double-double-stack,
  double-double-reg moves, box and unbox double-double-floats, move
  double-double-floats to and from args
o Add necessary vops to create a double-double-float and to extract
  the high and low parts out of a double-double-float.

compiler/sparc/parms.lisp:
o Define double-double-float-digits

compiler/sparc/type-vops.lisp:
o Define double-double-float type vop
o Adjust number hierarchy to include double-double-float

compiler/sparc/vm.lisp:
o Define the necessary storage class and storage base for the
  double-double-reg and double-double-stack.

lisp/gencgc.c:
o Tell GC about double-double-float objects.

lisp/purify.c:
o Tell purify about double-double-float objects.

code/class.lisp:
o Add the new double-double-float class.

code/exports.lisp:
o Add the necessary symbols to the various packages.  (This is
  important to get right otherwise there's confusion on what symbol
  really represents double-double-float stuff.)

code/float.lisp:
o Implement some of the necessary functions to support
  double-double-float.

code/hash-new.lisp:
o Hash double-double-floats by xor'ing the hashes of each double-float
  part.  (Is that good enough?)

code/irrat.lisp:
o Implement the special functions by calling the double-float versions
  and coercing the result to a double-double-float.  This is needed to
  get type-derivation working, but the precise value isn't that
  important right now.  We'll have to implement them later.

code/kernel.lisp:
o Make make-double-double-float, double-double-hi, and
  double-double-lo known functions.

code/lispinit.lisp:
o Register the :double-double float feature.

code/load.lisp:
o Add FOP for reading double-double-float values from fasls.  (Barely
  tested, if at all.)

code/numbers.lisp:
o Implement basic arithmetic operations for double-double-floats.
  This needs quite a bit of work to clean up, but most things work.

code/pred.lisp:
o Tell the type system about double-double-float type.

code/print.lisp:
o Add very rudimentary printing for double-double-float.  Basically
  copied from code written by Richard Fateman, with permission.

code/seq.lisp:
o Tell coerce how to coerce things to a double-double-float.

code/type.lisp:
o Tell type system about the new float format double-double-float and
  how numeric contagion works with double-double-float.

code/dump.lisp:
o Tell dumper how to dump double-double-float values to a fasl.

compiler/float-tran.lisp:
o Add appropriate deftransforms to handle conversion of things to
  double-double-float and from from double-double-float to other float
  types.
o The basic implmentation of double-double-float arithmetic is also
  here.
o Add deftransforms to tell the compiler how to do basic arithmetic
  and comparisions on double-double-float numbers.

compiler/srctran.lisp:
o Fix a bug in interval-range-info when :low is 0dd0 and :high is 0.
  We weren't returning the right value, which confuses interval-div,
  which caused an infinite loop because we couldn't split the
  numerator into positive and negative parts.
o Tell other parts about double-double-float.

Revision 1.33.2.1 - (view) (annotate) - [select for diffs]
Mon Dec 19 01:09:51 2005 UTC (8 years, 4 months ago) by rtoy
Branch: ppc_gencgc_branch
CVS Tags: ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06
Changes since 1.33: +15 -4 lines
Diff to previous 1.33 , to next main 1.55
Merge code from main branch of 2005-12-17 to ppc gencgc branch.  Still
doesn't work of course.

Revision 1.36 - (view) (annotate) - [select for diffs]
Fri Oct 21 13:09:38 2005 UTC (8 years, 5 months ago) by rtoy
Branch: MAIN
CVS Tags: double-double-base, snapshot-2005-11, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06
Branch point for: double-double-branch
Changes since 1.35: +3 -4 lines
Diff to previous 1.35
Slight modification so we don't cause underflows when the
underflow traps are enabled and rehash-threshold is very small.

Revision 1.35 - (view) (annotate) - [select for diffs]
Fri Sep 30 14:53:52 2005 UTC (8 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19c, release-19c-base, release-19c-pre1, snapshot-2005-10
Branch point for: release-19c-branch
Changes since 1.34: +5 -2 lines
Diff to previous 1.34
For all intents and purposes, pathnames with :version nil and :version
:newest are equivalent in CMUCL.

src/pathname.lisp:
o Make EQUAL compare pathnames such that version nil and :newest are
  equal.

src/hash-new.lisp:
o Adjust sxhash to treat :version nil and :newest the same.  (Version
  :newest is hashed as if it were nil.)

Revision 1.34 - (view) (annotate) - [select for diffs]
Mon Sep 26 19:59:55 2005 UTC (8 years, 6 months ago) by rtoy
Branch: MAIN
Changes since 1.33: +10 -1 lines
Diff to previous 1.33
Make SXHASH handle PATHNAME objects better by having it hash all the
components of a pathname object.

Revision 1.33 - (view) (annotate) - [select for diffs]
Wed Sep 8 02:10:54 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: ppc_gencgc_snap_2005-05-14, release-19b-base, release-19b-pre1, release-19b-pre2, 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
Branch point for: ppc_gencgc_branch, release-19b-branch
Changes since 1.32: +3 -3 lines
Diff to previous 1.32
Port lazy sxhash on symbols and one-at-a-time hash to ppc.  Use
boot6-sxhash to bootstrap this change for ppc.

Revision 1.32 - (view) (annotate) - [select for diffs]
Wed Jun 9 14:50:05 2004 UTC (9 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: prm-before-macosx-merge-tag, snapshot-2004-07, snapshot-2004-08, snapshot-2004-09
Changes since 1.31: +9 -4 lines
Diff to previous 1.31
sxhash is supposed to return the same value for -0.0 and +0.0 since
they are arithmetically equal.  Do this by adding 0.0 to the number,
which does nothing to the number, except convert -0.0 to 0.0.

Revision 1.31 - (view) (annotate) - [select for diffs]
Mon May 17 18:05:33 2004 UTC (9 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: amd64-merge-start, snapshot-2004-06
Changes since 1.30: +2 -2 lines
Diff to previous 1.30
Implement lazy computation of the symbol hash.  The hash is set to
zero on creation, and is computed when sxhash is called, which is then
cached.

Revision 1.30 - (view) (annotate) - [select for diffs]
Sat May 15 18:30:46 2004 UTC (9 years, 11 months ago) by rtoy
Branch: MAIN
Changes since 1.29: +3 -3 lines
Diff to previous 1.29
Make the symbol hash slot contain the sxhash of the symbol name
instead of a random value, just like on sparc.

Revision 1.29 - (view) (annotate) - [select for diffs]
Fri May 14 13:40:18 2004 UTC (9 years, 11 months ago) by rtoy
Branch: MAIN
Changes since 1.28: +3 -2 lines
Diff to previous 1.28
Add support for storing the symbol hash into a slot in the symbol
itself.  Only for sparc currently.

Doesn't lazily compute the symbol hash yet.  Simple test shows a 5%
increase in compilation speed, despite making make-symbol
significantly slower.


	* src/code/hash-new.lisp (internal-sxhash): Use the symbol-hash
	slot instead of computing the hash value.

	* src/compiler/generic/new-genesis.lisp (allocate-symbol): Write
	out the sxhash value of the symbol into the symbol-hash slot.

	* src/compiler/globaldb.lisp (info-hash): Update to use the symbol
	hash instead of computing the sxhash.

	* src/code/symbol.lisp (make-symbol): Compute the symbol hash when
	creating the symbol.

	* src/compiler/sparc/cell.lisp ((symbol-hash)): Add vop to extract
	out the symbol hash from a symbol.

	* src/compiler/generic/objdef.lisp: Rename the unused slot to
	hash, so we can make it the symbol hash.

Revision 1.28 - (view) (annotate) - [select for diffs]
Mon Dec 1 22:08:11 2003 UTC (10 years, 4 months ago) by toy
Branch: MAIN
CVS Tags: mod-arith-base, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, snapshot-2004-04, snapshot-2004-05
Branch point for: mod-arith-branch, release-19a-branch
Changes since 1.27: +6 -2 lines
Diff to previous 1.27
Silently limit the minimum rehash-threshold to 0.1, like SBCL.  This
prevents division by zero or overflow errors if the rehash-threshold
is too small.

Revision 1.27 - (view) (annotate) - [select for diffs]
Thu Sep 25 02:40:12 2003 UTC (10 years, 6 months ago) by toy
Branch: MAIN
CVS Tags: snapshot-2003-10, snapshot-2003-11, snapshot-2003-12
Changes since 1.26: +3 -1 lines
Diff to previous 1.26
Implmement Pierre Mai's idea of adding 2 macros for setting *FEATURES*
and *RUNTIME-FEATURES* and setting them appropriately as files are
loaded so that recompiling CMUCL produces a result with the same set
of features.  *RUNTIME-FEATURES* is a subset of *FEATURES* that is
written out to internals.h so the C code can be compiled
appropriately.

A simple bootstrap with boot17 is needed.

Revision 1.26.4.2 - (view) (annotate) - [select for diffs]
Mon Aug 18 13:10:44 2003 UTC (10 years, 8 months ago) by toy
Branch: sparc_gencgc_branch
Changes since 1.26.4.1: +3 -12 lines
Diff to previous 1.26.4.1 , to branch point 1.26 , to next main 1.55
Remove the without-gcing stuff that was added erroneously.

Revision 1.26.4.1 - (view) (annotate) - [select for diffs]
Fri Aug 15 20:50:58 2003 UTC (10 years, 8 months ago) by toy
Branch: sparc_gencgc_branch
Changes since 1.26: +12 -3 lines
Diff to previous 1.26
Initial port of gencgc to Solaris.

Revision 1.26 - (view) (annotate) - [select for diffs]
Tue Jul 15 19:47:16 2003 UTC (10 years, 9 months ago) by gerd
Branch: MAIN
CVS Tags: dynamic-extent-base, lisp-executable-base, sparc_gencgc, sparc_gencgc_merge
Branch point for: dynamic-extent, lisp-executable, sparc_gencgc_branch
Changes since 1.25: +6 -2 lines
Diff to previous 1.25
	* src/code/hash-new.lisp (internal-sxhash): Don't fail
	on interpreted functions.

Revision 1.25 - (view) (annotate) - [select for diffs]
Wed Jun 18 09:23:11 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.24: +3 -3 lines
Diff to previous 1.24
	Remove package nicknames USER from COMMON-LISP-USER.  Add a new
	package COMMON-LISP which LISP uses, so that COMMON-LISP no longer
	has the non-ANSI nickname LISP.

	To bootstrap, use boot13.lisp as target:bootstrap.lisp with pmai's
	build scripts, and do a full compile.

	* src/bootfiles/18e/boot13.lisp: Change for all the package
	changes.

	* src/code/exports.lisp: New package common-lisp,
	which lisp uses.

	* src/tools/worldload.lisp:
	* src/tools/setup.lisp: Use cl-user instead of user.
	Use lisp:: instead of cl::.

	* src/tools/worldcom.lisp:
	* src/tools/snapshot-update.lisp:
	* src/tools/pclcom.lisp:
	* src/tools/mk-lisp:
	* src/tools/hemcom.lisp:
	* src/tools/config.lisp:
	* src/tools/comcom.lisp:
	* src/tools/clxcom.lisp:
	* src/tools/clmcom.lisp:
	* src/pcl/defsys.lisp:
	* src/motif/lisp/initial.lisp:
	* src/interface/initial.lisp:
	* src/hemlock/lispmode.lisp (setup-lisp-mode):
	Use cl-user instead of user.

	* src/code/save.lisp (assert-user-package):
	* src/code/print.lisp (%with-standard-io-syntax): Find
	cl-user package instead of user.

	* src/code/package.lisp (package-locks-init): Add lisp.
	(package-init): Don't add user nickname to cl-user.

	* src/code/ntrace.lisp (*trace-encapsulate-package-names*):
	Add common-lisp.

	* src/code/hash.lisp (toplevel):
	* src/code/hash-new.lisp (toplevel): Use in-package :lisp
	instead of :common-lisp.

	* src/code/float-trap.lisp (sigfpe-handler): Don't
	qualify floating-point-inexact with ext:.

	* src/pcl/simple-streams/strategy.lisp (sc):
	* src/pcl/simple-streams/null.lisp (null-read-char):
	* src/pcl/simple-streams/internal.lisp (allocate-buffer)
	(free-buffer):
	* src/pcl/simple-streams/impl.lisp (%check, %read-line)
	(%peek-char, %read-byte):
	* src/pcl/simple-streams/file.lisp (open-file-stream)
	(device-close):
	* src/pcl/simple-streams/classes.lisp (simple-stream)
	(device-close):
	* src/pcl/macros.lisp (toplevel):
	* src/pcl/braid.lisp (lisp::sxhash-instance):
	* src/pcl/env.lisp (toplevel):
	* src/compiler/generic/objdef.lisp (symbol-hash):
	* src/code/stream.lisp (read-sequence, write-sequence):
	* src/code/macros.lisp (defmacro, deftype):
	* src/code/eval.lisp (interpreted-function):
	* src/code/defstruct.lisp (defstruct):
	* src/code/debug.lisp (debug-eval-print): Use lisp:: instead
	of cl::.

Revision 1.24 - (view) (annotate) - [select for diffs]
Tue May 6 13:26:41 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.23: +3 -2 lines
Diff to previous 1.23
	* src/code/hash-new.lisp (internal-sxhash): Treat conditions
	like structures.

Revision 1.23 - (view) (annotate) - [select for diffs]
Thu Mar 27 12:42:10 2003 UTC (11 years ago) by gerd
Branch: MAIN
CVS Tags: remove_negative_zero_not_zero
Changes since 1.22: +2 -1 lines
Diff to previous 1.22
	* code/hash-new.lisp (make-hash-table): Put warning about
	creating weak tables in #-gencgc.

	* lisp/gencgc.c (gc_assert): Ensure macro expansion is always a C
	statement.
	(struct hash_table): New struct.
	(HASH_TABLE_SIZE, EQ_HASH): New macros.
	(weak_hash_tables): New variable.
	(survives_gc, u32_vector, free_hash_entry, record_for_rehashing)
	(scav_hash_entries, scav_weak_entries, scan_weak_tables)
	(scav_hash_vector): New functions.
	(scav_vector): Removed.
	(scav_weak_pointer, trans_weak_pointer, scan_weak_pointers):
	Cleaned up.
	(gc_init_tables): Use scav_hash_vector instead of scav_vector.
	(garbage_collect_generation): Call scan_weak_tables.
	(everywhere): Add casts, change format strings, etc. to placate
	the compiler.

	* lisp/FreeBSD-os.h: Fix a function prototype.

Revision 1.22 - (view) (annotate) - [select for diffs]
Sat Mar 22 16:15:21 2003 UTC (11 years ago) by gerd
Branch: MAIN
Changes since 1.21: +3 -3 lines
Diff to previous 1.21
* 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.20.2.3 - (view) (annotate) - [select for diffs]
Wed Mar 19 16:45:32 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.20.2.2: +3 -3 lines
Diff to previous 1.20.2.2 , to branch point 1.20 , to next main 1.55
* 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.20.2.2 - (view) (annotate) - [select for diffs]
Sat Mar 15 11:49:31 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.20.2.1: +3 -3 lines
Diff to previous 1.20.2.1 , to branch point 1.20
Merge with HEAD.

Revision 1.21 - (view) (annotate) - [select for diffs]
Mon Mar 10 21:09:11 2003 UTC (11 years, 1 month ago) by gerd
Branch: MAIN
CVS Tags: release-18e, release-18e-base, release-18e-pre1, release-18e-pre2
Branch point for: release-18e-branch
Changes since 1.20: +3 -3 lines
Diff to previous 1.20
	* code/hash-new.lisp (internal-equalp-hash, internal-sxhash):
	Treat NIL as a symbol, to produce the same result as the
	DEFTRANSFORM for sxhash/symbol in c:generic/vm-tran.lisp.

Revision 1.20.2.1 - (view) (annotate) - [select for diffs]
Sun Mar 9 13:03:48 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.20: +2 -1 lines
Diff to previous 1.20
*** empty log message ***

Revision 1.20 - (view) (annotate) - [select for diffs]
Thu Nov 28 00:51:34 2002 UTC (11 years, 4 months ago) by pmai
Branch: MAIN
CVS Tags: cold-pcl-base
Branch point for: cold-pcl
Changes since 1.19: +2 -1 lines
Diff to previous 1.19
Entomotomy Bug: sxhash-on-pcl-instances-returns-42

This commit is a slight rewrite of the previously committed fix, which
sxhash-instance work even when handed non-PCL instances and
funcallable-instances, while enabling the use of stored hash-codes for
all PCL funcallable-instances.

Revision 1.19 - (view) (annotate) - [select for diffs]
Thu Nov 21 21:24:13 2002 UTC (11 years, 4 months ago) by pmai
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18
Entomotomy Bug: sxhash-on-pcl-instances-returns-42

Committed a slightly reworked patch by Gerd Moellmann that introduces new
hash-code slots into (funcallable-)standard-instances, which get initialized
to persistent, sequential numbers upon instance creation, thus providing
better sxhash/equal hashing.

Revision 1.18.2.1 - (view) (annotate) - [select for diffs]
Fri Oct 4 23:13:25 2002 UTC (11 years, 6 months ago) by pmai
Branch: UNICODE-BRANCH
Changes since 1.18: +73 -8 lines
Diff to previous 1.18 , to next main 1.55
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.18 - (view) (annotate) - [select for diffs]
Wed Jul 10 16:15:59 2002 UTC (11 years, 9 months ago) by toy
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.17: +5 -4 lines
Diff to previous 1.17
From Eric Marsden:

 * (pcl:class-precedence-list (find-class 'null)) should have symbol
   occurring before list, as per CLHS.

 * minor changes to certain error conditions: eg trying to set
   DEFAULT-DIRECTORY to a non-existent directory should raise a
   condition of type FILE-ERROR. (Some of these changes are from
   Alexey Dejneka, via SBCL).

 * cleanup of some Hemlock-related symbols that shouldn't be exported
   when :no-hemlock is defined.

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

Revision 1.17 - (view) (annotate) - [select for diffs]
Fri Mar 30 11:01:56 2001 UTC (13 years ago) by pw
Branch: MAIN
Changes since 1.16: +16 -10 lines
Diff to previous 1.16
From Tim Moore

internal-sxhash doesn't deal correctly with strings that have fill
pointers; consequently, equal hash tables don't work correctly either.
>From 18c:
*(defvar foo (make-array 32 :element-type 'base-char :adjustable t
:fill-pointer 7))
FOO
* (setf (subseq foo 0) "typedef")
"typedef"
* (sxhash foo)
182883518
* (sxhash "typedef")
194663162
* (defvar h (make-hash-table :test #'equal))
H
* (setf (gethash foo h) 'bar)
BAR
* (gethash "typedef" h)
NIL
NIL

Attached is a fix.
Tim

Revision 1.2.2.6 - (view) (annotate) - [select for diffs]
Sat Nov 4 17:10:35 2000 UTC (13 years, 5 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18c
Changes since 1.2.2.5: +2 -2 lines
Diff to previous 1.2.2.5 , to branch point 1.2
Send the warning about weak-p hash table to *debug-io* not *standard-output*;
from Eric Marsden.

Revision 1.16 - (view) (annotate) - [select for diffs]
Sat Nov 4 17:10:17 2000 UTC (13 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15
Send the warning about weak-p hash table to *debug-io* not *standard-output*;
from Eric Marsden.

Revision 1.2.2.5 - (view) (annotate) - [select for diffs]
Sun Jul 9 14:03:00 2000 UTC (13 years, 9 months ago) by dtc
Branch: RELENG_18
Changes since 1.2.2.4: +4 -3 lines
Diff to previous 1.2.2.4 , to branch point 1.2
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.15 - (view) (annotate) - [select for diffs]
Thu Jul 6 18:36:36 2000 UTC (13 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.14: +4 -3 lines
Diff to previous 1.14
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.2.2.4 - (view) (annotate) - [select for diffs]
Thu Jul 6 06:18:48 2000 UTC (13 years, 9 months ago) by dtc
Branch: RELENG_18
Changes since 1.2.2.3: +2 -2 lines
Diff to previous 1.2.2.3 , to branch point 1.2
Clarify type assertions on forms returning multiple values, such as
truncate, to use a values type assertion rather than a single
non-values type assertion.

Revision 1.14 - (view) (annotate) - [select for diffs]
Thu Jul 6 05:41:27 2000 UTC (13 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13
When asserting a single value from truncate etc, rather than
using a single value type assertion following values
'(the index (values ...)), use a multiple values types assertion
'(the (values index t) ...), which is simpler for the compiler.

Revision 1.13 - (view) (annotate) - [select for diffs]
Thu Jul 6 04:34:02 2000 UTC (13 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.12: +2 -2 lines
Diff to previous 1.12
Clarify an assertion on the result of round, firstly receiving the
only the first value.

Revision 1.2.2.3 - (view) (annotate) - [select for diffs]
Tue May 23 16:36:31 2000 UTC (13 years, 10 months ago) by pw
Branch: RELENG_18
Changes since 1.2.2.2: +164 -39 lines
Diff to previous 1.2.2.2 , to branch point 1.2
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

Revision 1.12 - (view) (annotate) - [select for diffs]
Sun Jan 16 20:10:39 2000 UTC (14 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.11: +6 -3 lines
Diff to previous 1.11
The equalp-hash algorithms for vectors and arrays differs because the
fill-pointer must be respected for vectors but was being ignored for
some vector types.

Revision 1.11 - (view) (annotate) - [select for diffs]
Sat Jan 15 15:10:33 2000 UTC (14 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.10: +7 -8 lines
Diff to previous 1.10
Ensure that equal-hash is consistent across the various vector types;
string and simple-vectors were giving a different hash to the other
vector types.

Revision 1.10 - (view) (annotate) - [select for diffs]
Fri Jan 14 19:48:36 2000 UTC (14 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.9: +4 -4 lines
Diff to previous 1.9
Modify the sxhash-bits-byte to be 29 bits wide rather than just 23 bits.
It is typically better not the throw away bits of the key, and the
hash may be a 29 bit unsigned fixnum. Similarly modify sxmash to use
all 29 bits rather than just 26 bits.

Revision 1.9 - (view) (annotate) - [select for diffs]
Fri Jan 14 19:47:19 2000 UTC (14 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.8: +20 -10 lines
Diff to previous 1.8
Special case bit vectors within sxhash, returning a useful hash for
them rather than a hash of 1.

Revision 1.8 - (view) (annotate) - [select for diffs]
Thu Jan 13 16:55:46 2000 UTC (14 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.7: +126 -12 lines
Diff to previous 1.7
Add support for EQUALP hash tables; by Douglas Crosher based on the
work of William H. Newman and Cadabra Inc.

Special case characters within sxhash returning the character code
rather than returning a constant, as per the new equalp-hash.

Declare hash-table-count and hash-table-size inline so they compile to
inline slot accesses.

Revision 1.7 - (view) (annotate) - [select for diffs]
Thu Jan 13 16:54:31 2000 UTC (14 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6
Fix the handling of fixnums in sxhash; the fixnum hash must be
consistent with the integer sxhash transform.

Revision 1.6 - (view) (annotate) - [select for diffs]
Thu Jan 13 16:53:23 2000 UTC (14 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.5: +16 -19 lines
Diff to previous 1.5
Modify the sxhash double-float and long-float functions to allow them
to be compiled to fast native code, and to make use of the sign bit.
Fix and update the sxhash double-float transform to be consistent.
Add a transform for the sxhash of long-floats.

Revision 1.5 - (view) (annotate) - [select for diffs]
Sat Dec 4 16:02:35 1999 UTC (14 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4
Minor documentation fixes.

Revision 1.4 - (view) (annotate) - [select for diffs]
Fri Jul 31 08:31:43 1998 UTC (15 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.3: +8 -6 lines
Diff to previous 1.3
Add an type declaration plus some documentation fixes to the
with-hash-table-iterator macro, giving improved performance; from Bill
Newman.

Revision 1.2.2.2 - (view) (annotate) - [select for diffs]
Thu Jul 2 11:11:44 1998 UTC (15 years, 9 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.2.2.1: +3 -3 lines
Diff to previous 1.2.2.1 , to branch point 1.2
Fix a bug in remhash which was often incorrectly returning False even
when an entry was found in which case it should return True. Bug
spotted by Bill Newman.

Revision 1.3 - (view) (annotate) - [select for diffs]
Thu Jul 2 10:44:31 1998 UTC (15 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.2: +3 -3 lines
Diff to previous 1.2
Fix a bug in remhash which was often incorrectly returning False even
when an entry was found in which case it should return True. Bug
spotted by Bill Newman.

Revision 1.2.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:22:01 1998 UTC (15 years, 9 months ago) by pw
Branch: RELENG_18
Changes since 1.2: +1 -1 lines
Diff to previous 1.2
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.2 - (view) (annotate) - [select for diffs]
Sat Mar 21 08:11:57 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Branch point for: RELENG_18
Changes since 1.1: +14 -1 lines
Diff to previous 1.1
Long-float support.

Revision 1.1 - (view) (annotate) - [select for diffs]
Mon Nov 3 16:08:42 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Re-write of the hash table algorithms to improve the memory
efficiency and solve problems with rehashing during hash traversal.

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