Daniel
4cf48daa75
Fix a shrink(map[T]U) bug in the core lib
...
Fixed this error from `core:runtime`:
```odin
odin/core/runtime/core_builtin.odin(387:3) Error: Expected 2 return values, got 1 (Allocator_Error)
return map_shrink_dynamic((^Raw_Map)(m), map_info(T), loc)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
```
2023-10-21 13:27:56 -04:00
gingerBill
2cc22d118d
Require parentheses for #align(N)
2023-08-15 14:55:02 +01:00
jason
f9c083073e
coalesce tombstones in map insert
2023-07-21 15:44:39 -04:00
gingerBill
4a75a1e839
Merge branch 'master' into separate-int-word-sizes
2023-06-06 22:42:04 +01:00
gingerBill
ecad730945
Fix map_get typo
2023-06-06 11:08:09 +01:00
jason
b2645b3201
add rehash to map_shrink_dynamic
2023-05-17 00:06:31 -04:00
jason
a9936d1570
implement random map seed
2023-05-16 23:49:55 -04:00
jason
3032a4274d
implement backward shift during map insertion
2023-05-16 16:56:32 -04:00
gingerBill
84f966cb8f
Begin work on separating int and word sizes (i.e. size_of(int) might not equal size_of(uintptr))
2023-04-20 11:46:41 +01:00
gingerBill
521ed28632
Keep -vet happy
2022-12-06 19:57:41 +00:00
gingerBill
27130259cc
Coalesce tombstones on delete_key to reduce all map slots from being filled on insertion
...
This is a bodge and will need to be replaced with an actual solution involving backward shift deletion rather than relying on tombstone slots in the first place.
2022-12-06 19:55:17 +00:00
gingerBill
e59e34d334
Change order of map_free_dynamic in usage
2022-11-29 12:27:32 +00:00
gingerBill
4fd97c3ba6
Remove panic
2022-11-29 12:22:37 +00:00
gingerBill
107c7a36d0
Treat .Mode_Not_Implemented as not an error when doing runtime.map_free_dynamic
2022-11-29 12:20:01 +00:00
gingerBill
489e8dc592
Add @(require_results) to map procedures where possible
2022-11-13 23:47:00 +00:00
gingerBill
3edb3d8d8c
Simplify the handling of the hashing calls for maps
2022-11-13 23:24:08 +00:00
gingerBill
ad0f11668b
Correct map_reserve_dynamic caused by an bizarre code generation bug
2022-11-13 14:53:58 +00:00
gingerBill
04a1e7d638
Correct json/unmarshal.odin
2022-11-11 16:15:21 +00:00
gingerBill
16fc961010
Begin work on map static set
2022-11-11 14:45:22 +00:00
gingerBill
a0bd31646b
Make map get internal calls take the hash value rather than compute it internally
2022-11-11 13:02:23 +00:00
gingerBill
5d47e2a166
Change map_reserve_dynamic no do anything when current capacity is greater than specified for the reserve
2022-11-11 11:24:34 +00:00
gingerBill
b475481788
Get deleted key and value for delete_key
2022-11-11 11:19:34 +00:00
gingerBill
8852d090b6
Correct static map get; make get take a pointer to simplify compiler internals
2022-11-10 12:46:53 +00:00
gingerBill
ac259ac790
Unify reserve and grow code
2022-11-10 12:34:01 +00:00
gingerBill
5c106abe3f
Make map_alloc_dynamic handle the nil_allocator()
2022-11-10 12:01:40 +00:00
gingerBill
db748b7a05
Correct logic for __dynamic_map_set
2022-11-09 23:10:18 +00:00
gingerBill
b035ee2bcd
Swap hashes
2022-11-09 22:05:28 +00:00
gingerBill
0424fb486b
Rewrite map_insert_hash_dynamic
2022-11-09 21:00:17 +00:00
gingerBill
d4f343751e
Inline __dynamic_map_set code where possible
2022-11-08 21:57:18 +00:00
gingerBill
bcf437dc11
Check for existence before setting
...
Test code
2022-11-08 21:21:19 +00:00
gingerBill
503eb470a7
Do an extra check before insertion for pre-existing keys
...
This is test code
2022-11-08 21:10:38 +00:00
gingerBill
667af1be58
Correct map_insert_hash_dynamic and map_insert_dynamic
2022-11-08 20:44:52 +00:00
gingerBill
366779f8c7
Fix bug with allocator not getting set on a map
2022-11-08 16:06:10 +00:00
gingerBill
dae299b781
Make map_free_dynamic take the total size of the allocation
2022-11-08 15:40:30 +00:00
gingerBill
2f29894b45
Minor change to map_cell_index_static
2022-11-08 15:15:00 +00:00
gingerBill
a71daee545
Allow for -use-static-map-calls which generates a get procedure per map; add runtime.map_get
2022-11-08 14:58:05 +00:00
gingerBill
046dd55032
Change __dynamic_map_get signature
2022-11-08 13:02:32 +00:00
gingerBill
2fc3da3fde
Change Raw_Map.len to int from uintptr
2022-11-08 12:29:20 +00:00
gingerBill
a74093784c
Add intrinsics.map_cell_info and intrinsics.map_info
2022-11-08 12:24:00 +00:00
gingerBill
ed58374964
Make Map_Info store pointers to cell info rather than inline
2022-11-08 12:18:36 +00:00
gingerBill
ea263b8cc5
Add runtime.map_exists_dynamic
2022-11-08 11:29:09 +00:00
gingerBill
45f0c812af
Correct reflect.map_entry_info_slice
2022-11-08 11:21:45 +00:00
gingerBill
50e10ceb3b
Correct hashing for map types
2022-11-08 01:20:08 +00:00
gingerBill
da774e3fd2
General modifications
2022-11-08 00:38:31 +00:00
gingerBill
bce62b98d4
Basic fmt printing for map
2022-11-07 23:32:59 +00:00
gingerBill
e914a8710d
Basic get and set support for new map
2022-11-07 23:17:37 +00:00
gingerBill
c96e0afbf1
Begin work on implementing the new map internals
2022-11-07 23:02:21 +00:00
gingerBill
831620bfc4
Remove header cache code
2022-09-21 13:06:02 +01:00
gingerBill
ff97a73152
Reduce unnecessary map gets
2022-09-21 13:03:13 +01:00
gingerBill
769d8dd038
Simplify __get_map_header stuff
2022-09-21 12:13:05 +01:00