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
2025-02-11 10:32:20 +00:00
denovodavid ca17a5eb70 d3d12: fix some vtables 2025-02-11 16:58:26 +11:00