aboutsummaryrefslogtreecommitdiff
path: root/core/runtime/dynamic_map_internal.odin
Commit message (Collapse)AuthorAgeFilesLines
* Move `core:runtime` to `base:runtime`; keep alias aroundgingerBill2024-01-281-924/+0
|
* Lower `MAP_MIN_LOG2_CAPACITY` from `6` to `3` (64->8)gingerBill2023-11-221-1/+1
|
* Fix a `shrink(map[T]U)` bug in the core libDaniel2023-10-211-3/+3
| | | | | | | | | 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) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ ```
* Require parentheses for `#align(N)`gingerBill2023-08-151-1/+1
|
* coalesce tombstones in map insertjason2023-07-211-98/+118
|
* Merge branch 'master' into separate-int-word-sizesgingerBill2023-06-061-24/+89
|\
| * Fix `map_get` typogingerBill2023-06-061-1/+1
| |
| * add rehash to map_shrink_dynamicjason2023-05-171-0/+1
| |
| * implement random map seedjason2023-05-161-8/+34
| |
| * implement backward shift during map insertionjason2023-05-161-16/+54
| |
* | Begin work on separating int and word sizes (i.e. `size_of(int)` might not ↵gingerBill2023-04-201-3/+3
|/ | | | equal `size_of(uintptr)`)
* Keep `-vet` happydev-2022-12gingerBill2022-12-061-1/+1
|
* Coalesce tombstones on `delete_key` to reduce all map slots from being ↵gingerBill2022-12-061-7/+50
| | | | | | 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.
* Change order of map_free_dynamic in usagegingerBill2022-11-291-4/+7
|
* Remove `panic`gingerBill2022-11-291-1/+1
|
* Treat `.Mode_Not_Implemented` as not an error when doing ↵gingerBill2022-11-291-11/+9
| | | | `runtime.map_free_dynamic`
* Add @(require_results) to map procedures where possiblegingerBill2022-11-131-14/+36
|
* Simplify the handling of the hashing calls for `map`sgingerBill2022-11-131-74/+24
|
* Correct `map_reserve_dynamic` caused by an bizarre code generation buggingerBill2022-11-131-11/+17
|
* Correct json/unmarshal.odingingerBill2022-11-111-0/+6
|
* Begin work on map static setgingerBill2022-11-111-3/+1
|
* Make `map` get internal calls take the hash value rather than compute it ↵gingerBill2022-11-111-12/+9
| | | | internally
* Change `map_reserve_dynamic` no do anything when current capacity is greater ↵gingerBill2022-11-111-1/+3
| | | | than specified for the reserve
* Get deleted key and value for `delete_key`gingerBill2022-11-111-3/+10
|
* Correct static map get; make get take a pointer to simplify compiler internalsgingerBill2022-11-101-11/+10
|
* Unify reserve and grow codegingerBill2022-11-101-44/+3
|
* Make `map_alloc_dynamic` handle the `nil_allocator()`gingerBill2022-11-101-0/+4
|
* Correct logic for `__dynamic_map_set`gingerBill2022-11-091-20/+32
|
* Swap hashesgingerBill2022-11-091-6/+4
|
* Rewrite `map_insert_hash_dynamic`gingerBill2022-11-091-38/+28
|
* Inline `__dynamic_map_set` code where possiblegingerBill2022-11-081-23/+17
|
* Check for existence before settinggingerBill2022-11-081-21/+8
| | | | Test code
* Do an extra check before insertion for pre-existing keysgingerBill2022-11-081-17/+32
| | | | This is test code
* Correct `map_insert_hash_dynamic` and `map_insert_dynamic`gingerBill2022-11-081-88/+5
|
* Fix bug with allocator not getting set on a `map`gingerBill2022-11-081-31/+22
|
* Make `map_free_dynamic` take the total size of the allocationgingerBill2022-11-081-22/+29
|
* Minor change to `map_cell_index_static`gingerBill2022-11-081-9/+9
|
* Allow for `-use-static-map-calls` which generates a get procedure per `map`; ↵gingerBill2022-11-081-9/+95
| | | | add `runtime.map_get`
* Change `__dynamic_map_get` signaturegingerBill2022-11-081-85/+88
|
* Change `Raw_Map.len` to `int` from `uintptr`gingerBill2022-11-081-2/+2
|
* Add `intrinsics.map_cell_info` and `intrinsics.map_info`gingerBill2022-11-081-15/+8
|
* Make `Map_Info` store pointers to cell info rather than inlinegingerBill2022-11-081-53/+32
|
* Add `runtime.map_exists_dynamic`gingerBill2022-11-081-1/+24
|
* Correct `reflect.map_entry_info_slice`gingerBill2022-11-081-2/+1
|
* Correct hashing for `map` typesgingerBill2022-11-081-86/+93
|
* General modificationsgingerBill2022-11-081-22/+26
|
* Basic fmt printing for `map`gingerBill2022-11-071-7/+6
|
* Basic get and set support for new `map`gingerBill2022-11-071-28/+62
|
* Begin work on implementing the new `map` internalsgingerBill2022-11-071-298/+677
|
* Remove header cache codegingerBill2022-09-211-3/+0
|