gingerBill
00823ca88c
Remove a few TODOs
2022-12-22 13:03:34 +00:00
gingerBill
ffa14c3aad
Remove need the MPMC in single threaded case
2022-12-22 12:58:23 +00:00
gingerBill
41b32f0da4
Clean up mutex usage in the parser
2022-12-22 12:45:23 +00:00
gingerBill
c53b2198a8
Add minor comment
2022-12-22 12:02:14 +00:00
gingerBill
9b278db993
Revert "Change tav to be a pointer internally"
...
This reverts commit e98f1a28e6 .
2022-12-22 12:01:41 +00:00
gingerBill
e98f1a28e6
Change tav to be a pointer internally
2022-12-22 11:53:13 +00:00
gingerBill
b9a2426e57
Merge branch 'master' into compiler-improvements-2022-12
2022-12-21 23:59:31 +00:00
gingerBill
81037b3091
Change the order of the args and ret for Arm64 ABI
2022-12-21 23:56:34 +00:00
gingerBill
3040361fac
Correct type_ptr_set_update and type_ptr_set_exists
2022-12-20 14:59:00 +00:00
gingerBill
44caa96d50
Set the file's filename and directory in init_ast_file
2022-12-20 14:56:44 +00:00
gingerBill
eb0775ad53
Move mutex use around in thread pool
2022-12-20 14:45:01 +00:00
gingerBill
8fc9566a83
Use *_set_update where possible
2022-12-20 14:19:55 +00:00
gingerBill
134c7db4d2
Combine join and destroy for threads
2022-12-20 14:08:24 +00:00
gingerBill
a0e3a99dd1
Remove need for semaphore in Thread
2022-12-20 14:07:14 +00:00
gingerBill
0edda2bea7
Clarify ThreadPool interface; Move import_mutex guarding to just the string set
2022-12-20 12:46:33 +00:00
gingerBill
a13e2f4578
Fix minor race condition
2022-12-19 00:29:40 +00:00
gingerBill
01b508f182
Use usize for bounds checking in Array and Slice (compiler)
2022-12-18 23:26:44 +00:00
gingerBill
2a8fa8612d
Use fetch_add rather than +=
2022-12-18 23:24:34 +00:00
gingerBill
e27046098b
Add missing gb_internal
2022-12-18 22:58:34 +00:00
gingerBill
ca8b148fdc
Add gb_internal to path procedures
2022-12-18 22:52:18 +00:00
gingerBill
c1f5be24e2
Remove dead code in the compiler
2022-12-18 22:49:10 +00:00
gingerBill
6cdec65ca1
gb_internal LLVM backend
2022-12-18 22:32:05 +00:00
gingerBill
66ce990e0b
gb_internal to docs and other auxiliary files
2022-12-18 21:51:04 +00:00
gingerBill
690666537c
Add gb_internal to checker
2022-12-18 21:46:27 +00:00
gingerBill
056ba1ed13
Even more gb_internal everywhere
2022-12-18 21:24:45 +00:00
gingerBill
93a1f2bf61
Merge remote-tracking branch 'remotes/Odin-GitHub/master' into compiler-improvements-2022-12
2022-12-18 21:17:19 +00:00
gingerBill
ac5f5a33e9
gb_internal a lot
2022-12-18 21:17:07 +00:00
gingerBill
ff6b76986a
Use C++11 loops for some arrays
2022-12-09 12:32:54 +00:00
gingerBill
5c3624eb86
Fix map looping
2022-12-09 12:18:49 +00:00
gingerBill
144e357fd2
Add extra check
2022-12-09 11:37:15 +00:00
gingerBill
be22f0d1e1
Fix variable shadow in compiler
2022-12-09 11:32:52 +00:00
gingerBill
34a048f7da
Replace compiler for loops for the hash-table types to simplify code usage
2022-12-09 11:29:28 +00:00
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