John Benediktsson
8f6ac5d457
Revert "hash-sets,hashtables: make it so the array backing the hash is non-empty"
...
This reverts commit 6f10f06c27
.
2016-10-06 11:18:41 -07:00
John Benediktsson
db46b16d10
Revert "hash-sets,hashtables: improved key@ word"
...
This reverts commit 70c7f9e029
.
2016-10-06 11:18:35 -07:00
Björn Lindqvist
6f10f06c27
hash-sets,hashtables: make it so the array backing the hash is non-empty
...
Commit 70c7f9e029
made it so the code
assumes the array is not empty. But it can be empty if the hashtable is
created using "hashtable new" and then it can crash because it reads
uninitialized memory. Setting the initial of the array slot to
a valid hash-array should fix that.
2016-10-05 19:19:39 +02:00
Björn Lindqvist
70c7f9e029
hash-sets,hashtables: improved key@ word
...
Don't need to check the length of the backing array because it can be
assumed to be > 0. That should make hash lookups a little faster.
2016-09-25 20:07:08 +02:00
Björn Lindqvist
91f335b424
style thing: indenting tuple slots
2016-05-31 03:37:23 +02:00
Doug Coleman
92afdc3ad0
hashtables: rename ((tombstone)) to +tombstone+, ((empty)) to +empty+
2016-03-25 03:13:27 -07:00
John Benediktsson
b75def3bfb
hashtables: remove 2hashtable (not really used).
2016-03-03 14:38:16 -08:00
Doug Coleman
3c48141689
hashtables: add a 2hashtable word that is like associate but for two key/value pairs.
2016-03-02 17:17:58 -08:00
John Benediktsson
ceb75057da
change ERROR: words from throw-foo back to foo.
2015-08-13 16:13:05 -07:00
Doug Coleman
02008979d9
factor: Change ERROR: foo ; to define ``throw-foo`` instead of having ``foo`` throw implicitly. The old ``foo`` still throws implicitly because this is a big change to get right in one patch, but it should be removed soon.
2015-08-12 15:26:18 -05:00
John Benediktsson
6127bb8548
hashtables: make sure capacity and growth use same load factor.
2015-07-14 18:32:40 -07:00
John Benediktsson
5083bdad33
Revert "hashtables: make hash-combine use fixnum primitives."
...
This reverts commit 390dd23261
.
2015-06-11 20:33:47 -07:00
John Benediktsson
95c34c41b7
hashtables: remove the 2hashcode word for now.
2015-06-09 16:46:02 -07:00
John Benediktsson
390dd23261
hashtables: make hash-combine use fixnum primitives.
2015-06-09 16:30:04 -07:00
John Benediktsson
6210edf76e
words: change word hash to do less work.
2015-06-09 16:08:48 -07:00
Doug Coleman
632ee276e1
core: Remove trailing whitespace.
2014-10-31 01:14:31 -07:00
John Benediktsson
fb9c5f9aee
hashtables: slightly faster associate and collect-pairs.
2014-02-06 22:39:43 -08:00
John Benediktsson
6b0e72a475
hashtables: simplify <hashtable>.
2014-01-08 09:56:00 -08:00
John Benediktsson
260abd3d7c
hashtables: use >= in hash-large?.
2014-01-05 23:08:53 -08:00
John Benediktsson
e3ea3ac140
hashtables: cleanup duplicate code.
2013-04-06 21:36:39 -07:00
John Benediktsson
a58c8ecc03
hashtables: faster keys and values on hashtables.
2013-04-06 21:20:07 -07:00
John Benediktsson
5d11ada701
hashtables: remove stack effects from generic methods.
2013-03-23 16:58:30 -07:00
John Benediktsson
11e86ec53c
hashtables: faster grow-hash by not calling >alist.
2013-03-20 23:02:40 -07:00
John Benediktsson
eca5253017
hashtables: reuse (rehash).
2013-03-07 22:01:50 -08:00
John Benediktsson
f2eedb67ec
hashtables: slightly faster grow logic.
2013-03-07 20:51:46 -08:00
John Benediktsson
5487480126
core: cleanup USING lists.
2013-03-05 10:34:47 -08:00
John Benediktsson
247600df71
hashtables: use "4drop" instead of "drop 3drop".
2012-10-23 12:26:14 -07:00
John Benediktsson
28f36a25b0
Revert "core: >array, >byte-vector, >hashtable, >vector should be inline."
...
This reverts commit cd6026e70e
.
2012-10-05 08:30:41 -07:00
John Benediktsson
700cee5afd
core: >array, >byte-vector, >hashtable, >vector should be inline.
2012-09-28 19:31:14 -07:00
Doug Coleman
8637c1c012
hashtables: Enforce shape on hashtable literals. Fixes #568 .
2012-08-24 15:11:03 -07:00
John Benediktsson
8b2ae0a717
hashtables: reduce default size of associate.
2012-08-02 21:43:37 -07:00
Doug Coleman
b656c8ef9e
hashtables: Revert size of associate, but keep inlined. ~10s speedup on bootstrap
2012-07-20 09:30:37 -07:00
John Benediktsson
00056e2ea7
hashtables: use H{ } clone in associate, make it inline.
2012-07-20 09:04:51 -07:00
Joe Groff
943596575a
use radix literals
2011-11-23 19:03:40 -08:00
Slava Pestov
29bc075bc7
hashtables: small cleanup
2011-11-12 15:35:51 -08:00
John Benediktsson
e29c4589c4
hashtables: allow re-using deleted tombstones. Fixes #381 .
2011-11-10 13:05:51 -08:00
John Benediktsson
baceee8c50
hashtables: moving hash-combine to hashtables.
2011-10-02 20:29:49 -07:00
John Benediktsson
3b72b641e0
Fix help-lint errors for recent hashtable changes.
2011-10-02 17:49:11 -07:00
John Benediktsson
4ad888b530
hashtables: switch to quadratic probing.
2011-10-02 13:49:45 -07:00
John Benediktsson
6c2c5c0a82
assocs: use assoc-size to short-circuit equality checks.
2011-01-05 17:28:06 -08:00
Slava Pestov
627295f094
Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)
2010-05-06 17:21:02 -04:00
Slava Pestov
11174a7ffe
hashtables: fix indentation
2009-11-14 02:01:30 -06:00
Slava Pestov
08e7d25dc5
change-each -> map!, deep-change-each -> deep-map!
2009-10-27 22:32:56 -05:00
Slava Pestov
030b1b816c
Add inline declarations for various assorted methods
2009-08-17 22:32:21 -05:00
Slava Pestov
688cd9b79b
hashtables: use each-integer instead of iota ... each in >alist
2009-05-06 15:30:30 -05:00
Doug Coleman
0ad6d1fb7b
add a few usages of iota, remove most 1+ and 1- from core
2009-05-01 19:58:24 -05:00
Slava Pestov
932d44cab8
Small speedup for code using H{ } clone and with-scope
2009-03-31 08:16:04 -05:00
Slava Pestov
f34c14a0f5
Remove some usages of tuck
2009-01-23 18:20:47 -06:00
Slava Pestov
de3a4f5462
Change some dup ... swap to bi and keep
2008-12-15 21:20:32 -06:00
Slava Pestov
bac338663d
Mark a word inline
2008-12-06 15:31:35 -06:00