| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | | | | | | |
|
| | | |\ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
Alternate `reduce_add`/`reduce_mul` intrinsics
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
The new reduce_add/reduce_mul procs perform the corresponding arithmetic
reduction in different orders than sequential order. These alternative
orders can often offer better SIMD hardware utilization.
Two different orders are added: pair-wise (operating on pairs of
adjacent elements) or bisection-wise (operating element-wise on the
first and last N/2 elements of the vector).
|
| | | |\ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | | |
BMI/BMI2 Intrinsics
|
| | | | |/ / / / / / /
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
The BMI ones mostly aren't particularly interesting--they're mostly
trivially representable in-language--but PDEP and PEXT from BMI2 could
be.
|
| | | | |_|/ / / / /
| | |/| | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The _set_env procedure in core/os/os2/env_posix.odin was
incorrectly cloning the 'key' argument for 'cval' instead of
the 'value' argument. This resulted in set_env effectively
setting the environment variable's value to its own key.
This commit corrects the typo to use the 'value' argument.
|
| | | |/ / / / / / |
|
| | | | | | | | | |
|
| | | |\ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
win/sys: Add GetWindowThreadProcessId
|
| | | | | | | | | | |
|
| | | |\ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
`core:bufio`: Fix typo from `b.w-b.w` to `b.w-b.r`
|
| | | | | | | | | | | |
|
| | | | | | | | | | | |
|
| | | |/ / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Also, fix `chmod`. It passed the wrong struct size to `SetFileInformationByHandle`.
|
| | | | | | | | | | |
|
| | | |/ / / / / / |
|
| | | | | | | | | |
|
| | | | |/ / / /
| | |/| | | |
| | | | | | |
| | | | | | | |
FIND_DATAW to File_Info
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The initial allocation for the slice is limited to prevent untrusted
data from forcing a huge allocation, but then the dynamic array was
created with a capacity of the unlimited length, rather than the actual
capacity of the allocation. This was causing a buffer overrun.
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | |\| | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | |\ \ \ \ \
| | | | | | | |
| | | | | | | | |
Add more asan support to the odin runtime and begin sanitizing allocators
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
allocators
This adds various bindings to the asan runtime which can be used
to poison/unpoison memory handed out by various allocators. This
means we can catch use after free memory bugs when using operations
such as free_all during runtime.
Asan poisoning are added for the follow allocators in mem:
Arena (including temporary arenas)
Scratch
Stack
Small_Stack
Additionally a bug in the stack allocator was fixed to disallow freeing
in the middle of the stack (caught by the asan!).
I plan on adding support for all the allocators in core. This is just
a good starting point and were some of the easiest ones to implement
asan for.
|
| | | |/ / / / / |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | | |
Fixes #5054
|
| | | | | | | |
| | | | | | |
| | | | | | | |
Replace `default_tcp_options` with constant
|
| | | |\ \ \ \ \
| | | | | | | |
| | | | | | | | |
make once_do_without_data_contextless actually contextless
|
| | | | |/ / / / |
|
| | | |\ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix 2 selectors in NSDictionary
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
If allocation of a `^Thread` failed, `create*` now properly return `nil`,
so you can assert on that instead of calling `thread.destroy` on a null pointer, say.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Keep in mind that `thread.create` needs an allocator to be set, as it returns `^Thread`.
|
| | | |/ / / / /
| | | | | | |
| | | | | | |
| | | | | | | |
`init`, `reserve` and `push` now return `runtime.Allocator_Error`.
|
| | | |\ \ \ \ \
| | | |/ / / /
| | |/| | | | |
Remove redundant `builder_init()` calls from `strings.left_justify()` and `strings.right_justify()`
|
| | | | | | | | |
|
| | | |/ / / / |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This implementation doesn't allow for out-of-band allocations to be passed through, as it's not designed to
track those. Nor is it able to signal those allocations then need to be freed on the backing allocator,
as opposed to regular allocations handled for you when you `destroy` the TLSF instance.
So if we're asked for more than we're configured to grow by, we can fail with an OOM error early, without adding a new pool.
|
| | | | | | | |
|