gingerBill
ffe953b43d
Make os.get_last_error contextless
2022-12-08 16:04:03 +00:00
gingerBill
b8eacfc7b6
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-12-08 15:58:44 +00:00
gingerBill
f8452bf1fc
Add different variants for once_do
2022-12-08 15:58:39 +00:00
gingerBill
20943a81c1
Make sync calls contextless where possible
2022-12-08 15:55:53 +00:00
gingerBill
9cb9964c2d
Remove old code
2022-12-08 00:52:11 +00:00
gingerBill
1f8f94276e
Initialize the multiple return value map in lb_create_dummy_procedure
2022-12-07 16:44:26 +00:00
gingerBill
521ed28632
Keep -vet happy
2022-12-06 19:57:41 +00:00
gingerBill
d6300314c0
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-12-06 19:55:24 +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
f9f4551e8d
Add user_data: rawptr to filepath.Walk_Proc callback
2022-12-05 22:31:35 +00:00
gingerBill
2127dc56b1
Add math.pow10
2022-11-29 14:31:56 +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
dcf2c43863
Add aliases for fnv* no_a forms
2022-11-29 11:55:01 +00:00
gingerBill
0c25f7cdc5
Improve core:math procedures and add loads of unit tests
2022-11-29 11:39:44 +00:00
gingerBill
d88b052d2d
Naïve optimization of named _split_ multiple return valued when defer is never used
...
This is a naïve optimization but it helps a lot in the general case where callee temporary stack variables
are not allocated to represent the named return values by using that specific memory.
In the future, try to check if a specific named return value is ever used a `defer` within a procedure or not,
or is ever passed to a nested procedure call (e.g. possibly escapes).
2022-11-25 23:57:55 +00:00
gingerBill
615eccb6d1
Correct return ptr semantics for split returns
2022-11-24 14:26:45 +00:00
gingerBill
d3c65b6ba5
Make split multiple return logic only work for the native Odin calling conventions
2022-11-24 13:16:02 +00:00
gingerBill
90415e4a6e
Add split multiple return to different ABIs
2022-11-24 12:14:19 +00:00
gingerBill
7352c312e0
Fix type for split returns code
2022-11-24 11:20:28 +00:00
gingerBill
0befadde1d
Basic copy elision support for multiple return values
2022-11-24 01:27:39 +00:00
gingerBill
aef8b25a8e
Listen to past Bill's wisdom
2022-11-23 23:54:12 +00:00
gingerBill
ae81117f70
Merge branch 'master' into multiple-return-abi-experiment
2022-11-23 23:43:00 +00:00
gingerBill
d6cb105d5f
Fix LLVM type cycle nonsense with procedure types
2022-11-23 23:32:34 +00:00
gingerBill
b7b9a016d3
Merge branch 'master' into multiple-return-abi-experiment
2022-11-23 22:48:56 +00:00
gingerBill
5ac36b5f25
HACK: Get around debugging type generation for slices and dynamic arrays of *nix systems
2022-11-23 22:46:02 +00:00
gingerBill
22bcf1ba70
Extra check for slices and dynamic arrays for -debug
2022-11-23 22:31:21 +00:00
gingerBill
51c705edf1
Add extra check to debug information of named composite types
2022-11-23 21:59:53 +00:00
gingerBill
708a1b0cd3
Clean up return logic for split multiple return ABI experiment
2022-11-23 16:42:26 +00:00
gingerBill
7ab591667a
Basic support for new ABI experiment on Win64
2022-11-23 16:25:09 +00:00
gingerBill
e45401bfb4
Fix #2207
2022-11-23 14:14:22 +00:00
gingerBill
0a0db23b17
Remove copy elision code
2022-11-22 15:49:27 +00:00
gingerBill
6fa0679be9
Fix #2109
2022-11-21 13:12:44 +00:00
gingerBill
afea221d64
Make structs with the same fields but different tags different types
...
Fixes #2105
2022-11-21 13:10:49 +00:00
gingerBill
b9ec2de4db
strconv.parse_f64 - accurately parse floats
2022-11-21 13:00:24 +00:00
gingerBill
3dfd53aee0
Improve error handling for trailing commas #2136
2022-11-21 11:56:59 +00:00
gingerBill
b54fc8ff95
Fix UUID
2022-11-21 11:53:49 +00:00
gingerBill
8745942255
Fix #2174
2022-11-21 11:42:43 +00:00
gingerBill
c7be30e0ea
Fix #2172
2022-11-21 11:38:29 +00:00
gingerBill
1baa47c78e
Fix #2179
2022-11-21 11:31:35 +00:00
gingerBill
0b33df4e9d
Fix #2186
2022-11-21 11:30:21 +00:00
gingerBill
4c40495742
Fix #2188
2022-11-21 11:23:10 +00:00
gingerBill
824b97d250
Fix #2197
2022-11-21 11:14:29 +00:00
gingerBill
5bbab05161
Fix #2199
2022-11-21 11:02:52 +00:00
gingerBill
83558a1352
Fix #2201
2022-11-21 11:01:01 +00:00
gingerBill
cb183e968a
Fix #2202
2022-11-21 10:30:59 +00:00
gingerBill
27d56d0da4
Fix #2125
2022-11-21 10:25:34 +00:00
gingerBill
c663566cd5
Fixed comparison against nil for maps
2022-11-20 01:34:57 +00:00
gingerBill
bbe44b49bc
Correct map_insert
2022-11-14 11:47:56 +00:00
gingerBill
25bec19b1f
Revert "Minor improvement to multi return value reducing stack usage"
2022-11-13 23:56:05 +00:00
gingerBill
81f83d5780
Fix prototype
2022-11-13 23:51:59 +00:00
gingerBill
d2019e3e4d
Enforce pointer cast
2022-11-13 23:50:45 +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
a705a2e38b
Minor improvement to multi return value reducing stack usage
2022-11-13 22:55:32 +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
7cfbd87f57
Merge branch 'master' into map-dev
2022-11-11 15:56:14 +00:00
gingerBill
e9e05a3783
Fix typo
2022-11-11 15:55:55 +00:00
gingerBill
2b83f27f06
Merge branch 'master' into map-dev
2022-11-11 15:54:33 +00:00
gingerBill
3d0e194298
Check for non-zero sized elements for intrinsics.ptr_sub
2022-11-11 15:54:13 +00:00
gingerBill
fcd8860990
Make intrinsics.ptr_sub use explicit integer arithmetic internally
2022-11-11 15:52:49 +00:00
gingerBill
22840ddf97
Add noinline LLVM attribute to static map procedures
2022-11-11 15:35:05 +00:00
gingerBill
f9576c2f5b
Add internal linkage to static map calls
2022-11-11 15:28:20 +00:00
gingerBill
16fc961010
Begin work on map static set
2022-11-11 14:45:22 +00:00
gingerBill
d2701d8b13
Make __dynamic_map_set take the hash rather than compute it internally
2022-11-11 13:04:38 +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
0d37da54b4
Add minor optimization for lb_map_cell_index_static
2022-11-11 11:41:28 +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
033525fe13
Force inline of hasher proc where possible
2022-11-11 11:10:26 +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
7b4a87d37c
Correct iterate_map
2022-11-10 12:33:49 +00:00
gingerBill
f6fc3ebe37
Add reflect/iterator.odin
2022-11-10 12:27:12 +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
f2f2d532f5
Add extra calls to Tracking_Allocator
2022-11-09 22:31:49 +00:00
gingerBill
1bcec3f769
Change map internal calls to use a pointer
2022-11-09 22:21:36 +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
3858422f1d
Use mem_resize where possible
2022-11-09 20:59:49 +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
0819d05a0b
Fix for in for map
2022-11-08 15:07:57 +00:00
gingerBill
6a4e44607c
Fix json marshal for maps
2022-11-08 14:59:09 +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
6dd4d1a924
Correct reflection usage of maps
2022-11-08 11:50:55 +00:00
gingerBill
d77269dee2
Disallow zero sized map keys
2022-11-08 11:42:42 +00:00
gingerBill
ea263b8cc5
Add runtime.map_exists_dynamic
2022-11-08 11:29:09 +00:00