Commit Graph

13825 Commits

Author SHA1 Message Date
gingerBill
bf9f2e43bf Fix typeid size in LLVM 2025-02-20 18:47:41 +00:00
gingerBill
e8c38e7427 Handle any correctly for 32-bit systems 2025-02-20 17:50:56 +00:00
gingerBill
614c0dd740 Fix typeid size for 32-bit platforms 2025-02-20 17:10:04 +00:00
gingerBill
4ece0617bc Keep -vet happy 2025-02-20 14:18:19 +00:00
gingerBill
5489a88983 Change typeid definition to be based around the canonical type hash
`typeid` used to be a fancy index with extra metadata stored on it. Now it is direct hash of the type.

This is safe to do in practice since any possible collisions are checked at compile time AND the chances of having a 1% collision are around 1 in 600K (see the Birthday Paradox).

Therefore accessing a `^Type_Info` is now a hash table lookup with linear probing. The table is twice the size than necessary so prevent too much probing due to an overly dense hash table.
2025-02-20 14:10:45 +00:00
gingerBill
c25ac939d4 Add cast back 2025-02-20 13:27:18 +00:00
gingerBill
1d348318f2 Use PtrMap temporarily 2025-02-20 13:23:23 +00:00
gingerBill
0ab323012e Use TypeSet instead of PtrSet<Type *> 2025-02-20 11:12:59 +00:00
gingerBill
0946f6b48b Improve name canonicalization for some debuggers 2025-02-20 11:11:22 +00:00
gingerBill
90a973ccf6 Make debug symbols use the new name canonicalization rules 2025-02-20 10:27:59 +00:00
gingerBill
9dc4d5a4e6 Merge pull request #4845 from Barinzaya/fmt_variable_wp_without_index
Variable Width/Precision Without Index in `fmt`
2025-02-20 08:49:48 +00:00
gingerBill
82ddf358d0 Merge pull request #4855 from odin-lang/bill/canonical-type-hashing
Deterministic Canonical Naming for Link Names and Types
2025-02-20 08:47:48 +00:00
gingerBill
29456bcdea Move docs to the header 2025-02-19 11:12:32 +00:00
gingerBill
0bac34eec8 Number fields within procedures with a depth-first numbering system 2025-02-19 10:59:05 +00:00
gingerBill
827cd45f04 Add to check to fix crash 2025-02-18 17:12:58 +00:00
gingerBill
0482facdda Fix for weird builtin types 2025-02-18 15:26:59 +00:00
gingerBill
e168cea670 Add offset for nested things 2025-02-18 15:17:04 +00:00
gingerBill
481745784f Remove debug print 2025-02-18 15:04:02 +00:00
gingerBill
04c1ff61f4 Update the comments 2025-02-18 15:03:49 +00:00
gingerBill
575a8ae510 Merge branch 'bill/canonical-type-hashing' of https://github.com/odin-lang/Odin into bill/canonical-type-hashing 2025-02-18 14:33:31 +00:00
gingerBill
23efd1bd02 Add TypeWriter stream to allow for in-place hashing and string generation 2025-02-18 14:32:41 +00:00
gingerBill
cc90e0cbbf Add TypeWriter stream to allow for in-place hashing and string generation 2025-02-18 14:21:40 +00:00
gingerBill
19b59461b0 Use TypeSet for DeclInfo deps 2025-02-18 13:31:34 +00:00
gingerBill
721bcf2249 Minor code clean up 2025-02-18 13:24:08 +00:00
gingerBill
d69eb57cfa Fix typos 2025-02-18 13:18:51 +00:00
gingerBill
4a29d9bb84 Simplify type info table construction 2025-02-17 16:29:42 +00:00
gingerBill
b8f057951c Begin work on TypeSet 2025-02-17 13:46:17 +00:00
gingerBill
9b26bb2e6a Begin work on hash types 2025-02-17 13:10:38 +00:00
gingerBill
043f9aea61 Clean up rules for name mangling 2025-02-17 12:40:43 +00:00
gingerBill
b5cf776830 Use new name canonicalization approach 2025-02-17 11:48:54 +00:00
gingerBill
99d91ccd31 Work on making name mangling deterministic 2025-02-17 11:32:49 +00:00
gingerBill
4eba3698aa Begin work on nested declarations 2025-02-17 09:47:49 +00:00
Laytan
f0b1357132 Merge pull request #4848 from dozn/master
[core:flags] Add Missing `allocator` and `loc` Params on Call to `parse()`
2025-02-15 18:02:19 +01:00
dozn
b99aee65bf Pass in allocator and loc to core:flags.parse() 2025-02-15 08:47:08 -08:00
gingerBill
2a5933513c Fill in more canonical types 2025-02-15 12:32:05 +00:00
gingerBill
98201962e0 Begin work on producing a canonicalized type string for hashing types. 2025-02-14 17:29:38 +00:00
Barinzaya
dc2c9b5d51 Support use of * in format strings without an index.
This allows `*` to be used in C fashion, without specifying an argument
index to use. Like C, this results in the argument *preceding* the value
for the format specifier itself.
2025-02-14 10:44:42 -05:00
gingerBill
04830e944b Merge pull request #4844 from Gabr1313/master
Fix typos
2025-02-14 15:01:24 +00:00
Gabr1313
2c7ec27445 Fix typos 2025-02-14 14:38:26 +01:00
gingerBill
816566d8aa Merge pull request #4837 from SlashScreen/sdl3_glue
wgpu: add sdl3 glue
2025-02-13 12:32:09 +00:00
Slashscreen
b7f37bbee5 removed cast. 2025-02-12 16:13:57 -08:00
Slashscreen
503813431b Switched X11 and Wayland 2025-02-12 15:58:56 -08:00
Slashscreen
2f82d4e325 fixed many oversights 2025-02-12 15:06:22 -08:00
Slashscreen
02b19b115b wgpu: add sdl3 glue 2025-02-12 14:27:16 -08:00
Laytan Laats
435f77b16b fix space indentations 2025-02-12 19:33:41 +01:00
Laytan Laats
55302280d8 fix addrinfo struct def
Fixes #4816
2025-02-12 19:24:27 +01:00
gingerBill
4c4b481ccc Merge pull request #4832 from bungoboingo/fix/sdl-window-bindings
Fix bindings for some window functions in SDL3
2025-02-12 08:53:06 +00:00
shan
9bf0b386ab Fix bindings for some window functions in SDL3 2025-02-11 17:50:20 -08:00
gingerBill
584fdc0d4a Merge pull request #4827 from denovodavid/pr-d3d12-vtable-fixes
vendor:directx/d3d12: fix some vtables
dev-2025-02
2025-02-11 10:32:20 +00:00
denovodavid
ca17a5eb70 d3d12: fix some vtables 2025-02-11 16:58:26 +11:00