aboutsummaryrefslogtreecommitdiff
path: root/core
Commit message (Collapse)AuthorAgeFilesLines
* Add `##` operator to `core:odin`bill/integer-concatenationgingerBill2025-04-013-2/+21
|
* Add `mem.make_over_aligned`gingerBill2025-03-312-1/+29
|
* Fix indentationgingerBill2025-03-311-21/+20
|
* Merge pull request #4986 from ↵gingerBill2025-03-301-1/+3
|\ | | | | | | | | hardliner66/bugfix/use_correct_size_when_resolving_symbols Use the proper size for SizeOfStruct to make resolving of procedure names work
| * Use the proper size for SizeOfStructSteve Biedermann2025-03-301-1/+3
| |
* | net: drop core:os dependency for DarwinLaytan Laats2025-03-293-249/+291
|/
* Fix use of errno on OpenBSD.Dave Voutila2025-03-271-1/+1
|
* Prevent odin.js from printing empty line in the console for the ending "\n"Jonathan Tron2025-03-261-6/+8
|
* Fix #4968Jeroen van Rijn2025-03-251-2/+3
|
* Use `copy` over `intrinsics.mem_copy_non_overlapping`gingerBill2025-03-242-12/+9
|
* Merge pull request #4954 from Feoramund/os2-pathgingerBill2025-03-2413-69/+622
|\ | | | | Add new path API for `os2`
| * Add `require_results` to getters in `os2` path APIFeoramund2025-03-211-0/+2
| |
| * Make `os2` Linux `_is_path_separator` compare against `_Path_Separator`Feoramund2025-03-211-1/+1
| |
| * Remove `if ODIN_OS == .Windows` in file that can only be built on WindowsFeoramund2025-03-211-26/+24
| |
| * Decouple usage of `filepath` from `os2`Feoramund2025-03-219-22/+13
| |
| * Add new path API for `os2`Feoramund2025-03-214-20/+541
| |
| * Add missing documentation to `os2/path`Feoramund2025-03-201-0/+39
| |
| * Assert that `_Path_Separator` is 7-bit ASCIIFeoramund2025-03-201-0/+2
| | | | | | | | | | | | | | | | There are several places where this is assumed to be true, most visibly in `is_path_separator`, as it takes a `byte` argument. Note that the data type of `_Path_Separator` is a rune, which allows any Unicode value.
* | Merge pull request #4959 from wisonye/mastergingerBill2025-03-241-14/+27
|\ \ | | | | | | Fixed: Freebsd syscall 'getpeername' is missing.
| * | #4959, fixed the broken CI build.Wison Ye2025-03-231-2/+1
| | |
| * | Fixed: Freebsd syscall 'getpeername' is missing.Wison Ye2025-03-231-14/+28
| | |
* | | core/crypto/_aes/ct64: Disable bounds checkingYawning Angel2025-03-231-2/+2
| | |
* | | core/crypto: Switch to using `ensure`Yawning Angel2025-03-2336-363/+188
| | |
* | | core/crypto/blake2: Add the ability to easily alter digest sizeYawning Angel2025-03-232-6/+12
| | |
* | | core/crypto/sha2: Clean up the portable code slightlyYawning Angel2025-03-231-14/+21
| | |
* | | core/crypto/sha2: Use hardware SHA224/256 when available (AMD64)Yawning Angel2025-03-235-3/+285
| | |
* | | core:crypto/deoxysii: Initial importYawning Angel2025-03-235-0/+1166
| | |
* | | core/crypto/aegis: Initial importYawning Angel2025-03-238-86/+1177
| | |
* | | core/crypto/x448: Initial importYawning Angel2025-03-233-0/+1456
| | |
* | | core/crypto: Add `rodata` annotations (NFC)Yawning Angel2025-03-2314-23/+29
| | |
* | | core/crypto/chacha20poly1305: Add missing assertionsYawning Angel2025-03-231-0/+4
| | |
* | | core/crypto/chacha20: Misc Simd128 improvementsYawning Angel2025-03-231-6/+32
| | | | | | | | | | | | | | | - Detect the RISC-V `v` profile - Don't bother trying to process 4 blocks at a time if emulated
* | | core/crypto: Use `panic_contextless` instead of `intrinsics.trap`Yawning Angel2025-03-2313-33/+21
| | |
* | | core/crypto/_aes/hw_intel: Fix comment (NFC)Yawning Angel2025-03-231-1/+1
|/ /
* | Split `mem.make_map` to match the `runtime` procs.Barinzaya2025-03-221-3/+20
| | | | | | | | | | | | | | | | | | The existing `mem.make_map` passes a capacity, but the builtin `make_map` no longer takes a capacity--it was separated to `make_map_cap` to allow for making a map without an allocation (#4340). `core:mem` was not updated to reflect this, so any usage of `mem.make` to make a map will currently result in a compile error.
* | Merge remote-tracking branch 'upstream/master'Wison Ye2025-03-224-13/+36
|\ \
| * | fix unmarshalling bit sets in jsonLaytan Laats2025-03-221-2/+18
| | | | | | | | | | | | Fixes #4761
| * | fix typo for freebsd arm64 MINSIGSTKSZLaytan Laats2025-03-211-1/+1
| | | | | | | | | | | | Fixes #4878
| * | fix tabsLaytan Laats2025-03-211-8/+8
| | |
| * | Prevent registering the same event listener twice on the same element with ↵Jonathan Tron2025-03-211-2/+9
| | | | | | | | | | | | the exact same data in wasm.
* | | Fixed #4892: 'EPoll_Event.events' should be bit set.Wison Ye2025-03-222-17/+23
|/ /
* | Merge pull request #4951 from openhood/wasm-fix-remove-event-listenersgingerBill2025-03-203-29/+45
|\ \ | | | | | | Fix add/remove event listeners in `core:sys/wasm`
| * | Fix add/remove event listeners in `core:sys/wasm`Jonathan Tron2025-03-203-29/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were multiple issues here: 1. listeners stored in the same key overwriting the previous one 2. missing `use_capture` parameter in `remove_event_listener`/`remove_window_event_listener` The key used to store the listener function in `listenerMap` was a javascript `Object`, when used as a key it was thus serialized to the string `"[object Object]"`, meaning all listeners where effectively set to the same key when calling `add_event_listener`/`add_window_event_listener`. Later on when calling `remove_event_listener`/`remove_window_event_listener`, it then tried to remove the incorrect one or none at all if there was a mix of the same event name registered on an element or the window. To fix I implemented a function `listener_key` in the javascript code which will generate a different key based on the event's: - `id`: dom element's id or 'window' (when event listener added to the window) - `name`: the event name (eg: `click`), each event handler should be removed for the event name it was register on. - `data`: we can register events with different data, each one generate a new listener which has to be removed. - `callback`: same as `data`, if you register two similar handler but with two different callback, each one should be removed. - `useCapture`: this one is a bit tricky, but when you register an event handler in javascript, if you don't pass `useCapture`, it defaults to `false`. When you remove an handler, you have to pass the exact same `useCapture` option you registered it with. In this case, we allowed to register an event with different `useCapture`, but didn't allow to pass the `useCapture` when removing it. We always called `removeEventListener` without the `useCapture` parameter which removed the handler properly only when it was registered with `useCapture=false`. I also switched the `WasmMemoryInterface.listenerMap` from `{}` (javascript object) to a `new Map()`, which is available everywhere nowadays.
* | | Merge pull request #4836 from laytan/fix-wrong-out-of-memorygingerBill2025-03-207-29/+106
|\ \ \ | |/ / |/| | fix wrong out of memory in edge cases, just try allocate from block for one source of truth
| * | mem/virtual: specify max protection on mmap call in NetBSD and FreeBSDLaytan Laats2025-02-186-24/+99
| | |
| * | fix wrong out of memory in edge cases, just try allocate from block for one ↵Laytan Laats2025-02-121-5/+7
| | | | | | | | | | | | source of truth
* | | Merge pull request #4933 from laytan/js-open-bindinggingerBill2025-03-132-1/+9
|\ \ \ | | | | | | | | core/sys/wasm/js: add `open` binding to `window.open`
| * | | core/sys/wasm/js: add `open` binding to `window.open`Laytan Laats2025-03-122-1/+9
| | | |
* | | | Merge pull request #4932 from laytan/js-pointer-event-and-charcodegingerBill2025-03-132-0/+48
|\ \ \ \ | | | | | | | | | | core/sys/wasm/js: add pointer event info and add charCode to keyboard
| * | | | core/sys/wasm/js: add pointer event info and add charCode to keyboard eventsLaytan Laats2025-03-122-0/+48
| |/ / /