Andrew Kelley
fdbb0fb7b9
Merge pull request #13744 from Vexu/stage2-fixes
...
Improve error messages, fix dependency loops
2022-12-03 00:42:11 -05:00
Veikka Tuominen
0e38cc16d5
Sema: fix comparisons between lazy and runtime values
...
Closes #12498
2022-12-03 00:09:23 +02:00
Jakub Konka
5eaacf1ce9
windows: use array of tmp bufs as backing store for input memory to ntdll
2022-12-02 12:24:15 -05:00
Jakub Konka
2823fcabd1
Merge pull request #13725 from mathetake/fixreaddir
...
wasi: fixes IterableDir.nextWasi for large directory
2022-12-01 17:30:00 +01:00
Veikka Tuominen
b7066b6024
add workaround for compiler bug
2022-12-01 14:48:09 +02:00
Ryan Liptak
c37afa2811
std.testing: Improve expectEqualBytes for large inputs and make expectEqualSlices use it
...
`expectEqualBytes` will now truncate the hexdump of each input to a maximum window of 256 bytes, which makes it safe to use for arbitrarily large inputs. Therefore, it can be used in `expectEqualSlices` when the type is u8.
2022-12-01 02:18:51 -05:00
Takeshi Yoneda
829bf5a03e
wasi: fixes IterableDir.nextWasi for large directory
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
2022-12-01 13:56:53 +09:00
Andrew Kelley
a943422672
Merge pull request #13717 from GethDW/option-fix
...
std.build.Builder: fix for Allocator changes
2022-11-30 19:43:51 -05:00
Ryan Liptak
34fa6a1e04
std.testing: Add expectEqualBytes that outputs hexdumps with diffs highlighted in red
...
The coloring is controlled by `std.debug.detectTTYConfig` so it will be disabled when appropriate.
2022-11-30 18:57:37 -05:00
Andrew Kelley
16caea38d1
std.ArrayList: fix shrinkAndFree
...
Fixes a regression introduced in
e35f297aeb .
Now there is test coverage for ArrayList.shrinkAndFree in the case when
resizing fails.
2022-11-30 15:42:59 -07:00
Andrew Kelley
c84bc3a06b
std.os.test: disable flaky timerfd test
...
See tracking issue #13721
2022-11-30 15:18:35 -07:00
Veikka Tuominen
34f96c5fd0
Merge pull request #13719 from Vexu/debug
...
Improve debuggability of programs built by the self hosted compiler
2022-11-30 22:51:39 +02:00
Andrew Kelley
abd9089aa6
std.build: simpler fix to options implementation
...
Instead of messing with ArrayList and more logic, just unwrap the error
of toOwnedSlice().
2022-11-30 13:22:04 -07:00
GethDW
747f64b3fb
std.build.Builder: fix for Allocator changes
2022-11-30 13:04:32 -07:00
Andrew Kelley
44ee1c885f
std.os.windows.ReadLink: add missing alignment of local data buffer
2022-11-30 12:55:23 -07:00
Veikka Tuominen
e4fd9acc2a
CLI: allow using --debug-compile-errors with zig build
2022-11-30 19:14:04 +02:00
Andrew Kelley
7f063b2c52
WasmAllocator: simplify thanks to new Allocator interface
...
Now it can refuse to resize when it would disturb the metadata tracking
strategy, resulting in smaller code size, a simpler implementation, and
less fragmentation.
2022-11-29 23:46:02 -07:00
Andrew Kelley
931261752d
rename a couple variables
2022-11-29 23:46:02 -07:00
Andrew Kelley
e2e60f5ff9
std.heap.WasmAllocator: redo
...
The previous version had a fatal flaw: it did ensureCapacity(1) on the
freelist when allocating, but I neglected to consider that you could
free() twice in a row. Silly!
This strategy allocates an intrusive freelist node with every
allocation, big or small. It also does not have the problems with resize
because in this case we can push the upper areas of freed stuff into the
corresponding freelist.
2022-11-29 23:46:02 -07:00
Andrew Kelley
3dcea95ffe
std.heap.WasmAllocator: implement resizing
2022-11-29 23:46:02 -07:00
Andrew Kelley
d4a1ae474a
std.heap.WasmAllocator: resize in place without force shrinking
2022-11-29 23:46:02 -07:00
Andrew Kelley
0c0c70ee82
std.heap.WasmAllocator: large allocations
2022-11-29 23:46:02 -07:00
Andrew Kelley
3ea04ed64c
introduce std.heap.WasmAllocator
...
fast allocator for WebAssembly
eventually this is intended to be merged into
`std.heap.GeneralPurposeAllocator`
2022-11-29 23:46:02 -07:00
Andrew Kelley
9f8c19210b
std.heap: extract PageAllocator, WasmPageAllocator
2022-11-29 23:46:02 -07:00
Andrew Kelley
f466667888
stage2: fix crash on comptime lazy @ctz and @clz
2022-11-29 23:30:38 -07:00
Andrew Kelley
ceb0a632cf
std.mem.Allocator: allow shrink to fail
...
closes #13535
2022-11-29 23:30:38 -07:00
Andrew Kelley
b8473ae7d3
Merge pull request #13693 from Vexu/safety
...
Safety panic improvements & some bug fixes
2022-11-29 19:59:55 -05:00
Jakub Konka
648579b330
libstd: skip problematic tests on aarch64-windows
2022-11-30 00:26:40 +01:00
Veikka Tuominen
e60db701d1
Sema: add option to disable formatted panics
...
Closes #13174
2022-11-29 21:44:08 +02:00
Veikka Tuominen
17ff002bc0
Sema: improve safety panic for access of inactive union field
2022-11-29 21:44:08 +02:00
Jakub Konka
9d0ea0e3f1
arm: implement CPU feature detection by parsing system registers
...
Also add an incomplete table implementing instruction fusions according
to official optimisation programming manuals.
2022-11-29 19:24:42 +01:00
Jakub Konka
988fff260e
windows: map CP 40xx registry values to system ID registers
2022-11-29 19:24:42 +01:00
Jakub Konka
152202da77
windows: if detecting CPU feature set and model fails, use generic with overrides
2022-11-29 19:24:42 +01:00
Veikka Tuominen
6337c04244
Sema: improve panic for slice start index being greater than end index
...
Closes #13689
2022-11-29 15:47:02 +02:00
Veikka Tuominen
34be5784a3
parser: disallow defer and variable declaration as else branch
...
Closes #13658
2022-11-29 15:47:02 +02:00
Jakub Konka
d3b1cdf508
Merge pull request #13659 from ziglang/arm-win-cpu-features
...
windows: add native CPU and features detection for Armv8 chips
2022-11-28 21:36:56 +01:00
Ryan Liptak
4e078941d0
os.windows.OpenFile: Add USER_MAPPED_FILE as a possible error
...
Ran into this when using a program that uses CreateFileMapping and then trying to call `std.fs.createFile` on the mapped file. More info can be found here:
https://stackoverflow.com/questions/41844842/when-error-1224-error-user-mapped-file-occurs
Before:
```
error.Unexpected NTSTATUS=0xc0000243
C:\Users\Ryan\Programming\Zig\zig\lib\std\os\windows.zig:138:40: 0x7ff74e957466 in OpenFile (test.exe.obj)
else => return unexpectedStatus(rc),
^
```
After:
```
FAIL (AccessDenied)
C:\Users\Ryan\Programming\Zig\zig\lib\std\os\windows.zig:137:30: 0x7ff7f5b776ea in OpenFile (test.exe.obj)
.USER_MAPPED_FILE => return error.AccessDenied,
^
```
2022-11-28 18:56:11 +01:00
zooster
a27bfae036
std.Thread.Futex.PosixImpl.Address.from: fix alignment type
...
Fixes #13673
2022-11-28 18:49:33 +02:00
Jakub Konka
2528189101
windows: fix signature of kernel32.RegOpenKeyExW to use *HKEY
2022-11-28 17:09:03 +01:00
Jakub Konka
7bf12b1197
arm: move cpu model table into system/arm.zig
...
Now we can reuse the table between CPU model parsers on Linux and
Windows.
Use similar parsing structure for Windows as we do for Linux. On
Windows, we rely on two entries in the registry per CPU core:
`CP 4000` and `Identifier`. Collating the data from the two allows
us recreating most of the `/proc/cpuinfo` data natively on Windows.
Additionally, we still allow for overwriting any CPU features as flagged
by pulling the feature data embedded in `SharedUserData`.
2022-11-28 17:07:35 +01:00
Jakub Konka
7fbd2955fa
windows: pull QWORD and SZ identifiers from registry in one syscall
...
At the same time, do not assume the values necessarily exist, and
use defaults as markers for the lack of keys in the registry.
2022-11-28 17:07:34 +01:00
Jakub Konka
d64d7aaac7
windows: drive the registry helper with actual value set for reg entries
2022-11-28 17:07:34 +01:00
Jakub Konka
57bda6524b
windows: make registry helper generic over value types
2022-11-28 17:07:34 +01:00
Jakub Konka
49ce86bddf
windows: fix logic for pulling info for each core
2022-11-28 17:07:34 +01:00
Jakub Konka
f348fbc024
windows: revert changes to definition of HKEY
2022-11-28 17:07:34 +01:00
Jakub Konka
7473ef98e9
windows: implement simplistic CPU model parser
2022-11-28 17:07:34 +01:00
Jakub Konka
7ea2c7fbcd
windows: use RtlQueryRegistryValues to query reg in a single syscall
2022-11-28 17:07:34 +01:00
Jakub Konka
153afed877
windows: impl some primitives for getting registry keys
2022-11-28 17:07:34 +01:00
Jakub Konka
e74b6f0a4b
windows: detect couple more aarch64 CPU features
2022-11-28 17:07:34 +01:00
Jakub Konka
29aafdcd55
windows: detect native CPU features for aarch64 SoCs
2022-11-28 17:07:34 +01:00