cwal2

Timeline
Login

Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2024-02-08
21:40
An experimental change to rerooting which re-centers it around the value. Causes a crash in tester.c:testVacuum() but i'm too tired to chase it down, so stashing away for later evaluation. This might be an unnecessary rabbit hole. Leaf check-in: 412eadba2e user: stephan tags: broken-value-reroot
2024-02-07
19:09
Minor README update. Leaf check-in: ebfba4ea04 user: stephan tags: trunk
2024-01-28
21:53
When inserting a new kvp into a hashtable, avoid an extraneous alloc of new key/value refs. check-in: e95b009bd0 user: stephan tags: trunk
21:21
More work and re-thinking on the value-has-a-gcroot bits. check-in: fccd44f141 user: stephan tags: trunk
09:52
When replacing a hashtable key, re-use the kvp's key ref instead of reallocating one. check-in: 073314e65a user: stephan tags: trunk
09:42
Add a cwal2__value::pRoot (cwal2_gcroot) so that we can re-root container values properly. Formerly they were re-rooted based on the parent root of the reference via which the container was manipulated, which was downright wrong for all but the most trivial of cases. Numerous other cleanups and fixes.

Edit: this new approach looks like it will inherently prohibit a recursive vacuum, which is unfortunate (but cwal has never achieved a working recursive vacuum, so that's nothing new, but cwal2 was looking like it could support that until now). It may also have other, as yet unrecognized, downsides, and much more analysis is due to try to poke holes in it. check-in: e3ca47484b user: stephan tags: trunk

05:51
Lots of API sig cleanups to eliminate unnecessary macros and rename the legacy 'e' to the more modern 'cx' everywhere. check-in: af38cefd4b user: stephan tags: trunk
05:13
Start adding function-type infrastructure. Still much to do here. check-in: 9c81ad4cf0 user: stephan tags: trunk
2024-01-09
09:36
Start adding bits for value prototypes. check-in: 8c1617f882 user: stephan tags: trunk
2024-01-08
09:31
Minor tinkering and docs. check-in: f327cf38fb user: stephan tags: trunk
2024-01-04
07:54
Remove some of the cwal2_value-taking APIs from the public interface. Document some APIs. check-in: d701931d2f user: stephan tags: trunk
07:27
Remove the per-cwal2_cx mutex. check-in: 3433f6df93 user: stephan tags: trunk
07:15
Move the allocation funcs into the public API. check-in: 14f6de0c64 user: stephan tags: trunk
07:03
API renaming to make it clearer that the API is not multi-threaded. check-in: 3e08e9fe1e user: stephan tags: trunk
06:58
Add a state argument to the allocator APIs. check-in: c9081d5a21 user: stephan tags: trunk
06:52
Remove more unnecessary mutexing. check-in: 3050b48306 user: stephan tags: trunk
06:48
Remove the per-value lock and the unnecessary global mutex for refcount adjustment. This isn't Java. check-in: e389eb31e0 user: stephan tags: trunk
06:21
Remove the 'list' mutex - unnecessary overkill. check-in: 3508fe8f20 user: stephan tags: trunk
03:01
Fix ARM-specific compile warnings and more work on string-type values. Add x-string support. check-in: ef42940f14 user: stephan tags: trunk
2024-01-03
11:39
Add built-in cwal2__value instances for all length-1 ASCII strings. check-in: 1a9eb482d5 user: stephan tags: trunk
10:13
More work on strings. check-in: 1adac78037 user: stephan tags: trunk
09:33
Add new string constructors. check-in: f9d96bf4a7 user: stephan tags: trunk
07:47
Re-ordered cwal2_new_X() parameters for consistency with the upcoming new_stringf(). check-in: 817ad3f174 user: stephan tags: trunk
07:20
More work on the string type. check-in: f66defb676 user: stephan tags: trunk
06:28
Builtin values no longer participate in refcounting and always have a hard-coded refcount of 1. check-in: b1d67b0aba user: stephan tags: trunk
06:13
Remove cwal2_fstate. check-in: 84d03cfd63 user: stephan tags: trunk
06:02
Minor internal cleanups. check-in: 8a15c486f7 user: stephan tags: trunk
06:00
More work on the string infrastructure. check-in: d19fb10b5f user: stephan tags: trunk
05:20
Refactor xCompare to be able to propagate an error (as can happen in custom implementations, in particular those which have to allocate). check-in: 016f845f99 user: stephan tags: trunk
05:08
Start adding type infrastructure for string values. Work in progress. check-in: a529e40719 user: stephan tags: trunk
04:40
Remove an unused struct member. check-in: 6bce693787 user: stephan tags: trunk
04:38
Add some more tests. check-in: 97fc3905ec user: stephan tags: trunk
2023-12-25
16:03
Remove some unnecessary struct decls. check-in: 83a138ce1d user: stephan tags: trunk
2023-12-22
03:47
Diverse tinkering. check-in: a6da69392c user: stephan tags: trunk
2023-12-16
23:50
More tests and docs. check-in: 8101d2f80a user: stephan tags: trunk
12:25
cwal2_hash is no longer an obase. check-in: e20454e557 user: stephan tags: trunk
2023-12-15
16:21
Rename cwal2_size0_t to cwal2_size32_t. check-in: 9f23173cc3 user: stephan tags: trunk
2023-12-14
18:03
Further minor tinkering with the list APIs. check-in: dac125a440 user: stephan tags: trunk
15:01
Minor tinkering. check-in: 83b5f274e5 user: stephan tags: trunk
12:08
Use named struct member initializers, rather than relying on initializer ordering and code comments, where they make sense. check-in: 276e7a58d4 user: stephan tags: trunk
11:58
Remove cwal2_ctx_group, as context groups really make no sense. check-in: 98cb1b9ad4 user: stephan tags: trunk
2023-11-22
05:19
Changed how TAGS is generated to account for new behavior from etags binary. check-in: 803bf33138 user: stephan tags: trunk
04:46
Update the README to match current thinking regarding project directions. check-in: 79c4b46af9 user: stephan tags: trunk
2023-09-22
07:57
Internal cleanups. check-in: 156538a1b0 user: stephan tags: trunk
2023-09-20
07:41
More slop cleanup. check-in: aefdd03d15 user: stephan tags: trunk
07:26
Fix the slop which gcc permits but clang doesn't. check-in: 3dc0af1a63 user: stephan tags: trunk
2023-09-18
11:02
doc tweaks. check-in: 98f3a5fe8c user: stephan tags: trunk
09:44
Make the array list-only type (no kvps), analog to how the hash class is now done. Reshape xHash() return its hash via output pointer and a result code return, for consistency and the sake of script-side implementations. check-in: a8811afd9b user: stephan tags: trunk
2023-09-17
23:22
More work in/around/related to per-value locking. check-in: b2113213c9 user: stephan tags: trunk
21:44
Initial split of cwal2_gcroot::pRef into multiple lists via cwal2_gcroot::refs. check-in: aaedb1e1a4 user: stephan tags: trunk