Frank Denis
5764c550ed
std/crypto: vectorize Salsa20
...
20% faster on x86_64, slower on aarch64 as usual :/
2020-10-29 14:34:58 -04:00
Jakub Konka
17575019a0
Set page size to 16KB for aarch64 macos
...
With this tweak, `test-std` pass on Apple Silicon + BigSur.
2020-10-29 14:21:43 -04:00
Frank Denis
bb3dfd2708
std/math: add support for vectors to rotl()/rotr()
2020-10-29 14:17:46 -04:00
Vexu
a63fd34c50
return a valid node even if invalid deref was used
2020-10-29 19:20:15 +02:00
Travis
d7f9128b5d
add error message to zig side of tokenizing/parsing
2020-10-29 12:03:45 -05:00
Travis
960b5b518f
updated zig tokenizer to handle .*** and added tests
2020-10-29 12:03:45 -05:00
Travis
3c7a49c494
add missing case for TokenizeStateSawDotStar at eof
2020-10-29 12:03:45 -05:00
Travis
069aee1495
don't allow a token starting with an asterisk directly following .*
2020-10-29 12:03:45 -05:00
LemonBoy
20fba0933f
std/deflate: Avoid reading past end of stream
...
Use a conservative (and slower) approach in the Huffman decoder fast
path.
Closes #6847
2020-10-29 17:16:03 +01:00
Koakuma
5125eb77bd
Use the *_stat type as self
2020-10-29 21:37:45 +07:00
LemonBoy
b3314a8be6
stage1: Fix small bug in pointer type analysis
...
A flag meant to catch recursively-defined types was never reset, leading
the compiler to generate wrong answers when asked for its
type/alignment.
Closes #6850
2020-10-29 15:41:45 +02:00
Veikka Tuominen
85dd5746bd
Merge pull request #6678 from s-ol/doc-type-aware
...
generated docs improvements: add vector, fntype, anytype type-printing; bool, function value-printing
2020-10-29 15:19:02 +02:00
LemonBoy
fe6cc0c3ba
std: Better handling of type values in expectEqual
2020-10-29 15:13:44 +02:00
LemonBoy
88eb3ae8e5
std: Better handling of type values in expectEqual
2020-10-29 11:10:21 +01:00
Andrew Kelley
81f5e1e667
ci: freebsd: skip non-native tests to save time
2020-10-28 22:59:23 -07:00
Andrew Kelley
fd3da3348c
ci: macos: rebuild zig1.o with stage1
...
see #6830 for details.
2020-10-28 16:31:59 -07:00
s-ol
6e96352b90
docs: link to functions in getValueText and getCallHtml
2020-10-29 00:10:22 +01:00
LemonBoy
7bc9531698
stage1: Correctly generated optional constant values
...
Closes #6799
2020-10-28 21:56:28 +02:00
Frank Denis
0adc144f88
std/crypto: adjust aesni parallelism to CPU models
...
Intel keeps changing the latency & throughput of the aes* and clmul
instructions every time they release a new model.
Adjust `optimal_parallel_blocks` accordingly, keeping 8 as a safe
default for unknown data.
2020-10-28 21:44:00 +02:00
Frank Denis
ea45897fcc
PascalCase *box names, remove unneeded comptime & parenthesis
...
Also rename (salsa20|chacha20)Internal() to a better name.
And sort reexported crypto.* names
2020-10-28 21:43:15 +02:00
LemonBoy
6d2f103bfb
stage1: Fix crash in comptime struct value copy
...
Comptime fields are never materialized in the ZigValue so pay attention
when iterating over the fields array.
Fixes #6800
2020-10-28 21:13:32 +02:00
Koakuma
3a58b2330c
Update stack traces testcases
2020-10-28 17:46:26 +07:00
Jakub Konka
1a171a143a
Merge pull request #6842 from kubkon/aarch64-macos-fix
...
std: Apple Silicon: no fstat$INODE64 symbol found
2020-10-28 11:38:46 +01:00
Jakub Konka
4f50958407
Clean up exporting of symbols on Darwin
2020-10-28 10:36:19 +01:00
LemonBoy
7f46672193
More fixups for Windows targets
...
* Use closeSocket on sockets instead of plain old close, the latter
doesn't work on them.
* Use winsocket2 everywhere, mingw has no BSD sockets.
2020-10-28 10:03:23 +01:00
Jakub Konka
bda9a159aa
Apple Silicon: no fstat$INODE64 symbol found
...
It seems that Apple has finally got rid of the 32bit versions of
`fstat` and `fstatat`, and instead, only 64bit versions are available
on BigSur and Apple Silicon.
The tweak in this commit is required to make Zig stage1 compile on
BigSur + aarch64.
2020-10-27 22:47:53 +01:00
Andrew Kelley
e1ca6946be
rename ZigClangFloatingLiteral_getValueAsApproximateDouble
2020-10-27 14:16:43 -07:00
johnLate
1ea0d40e5e
std.os.c.accept/accept4: allow null for addr and len
...
See ziglang#6832.
2020-10-27 21:52:47 +01:00
johnLate
23c28c72b7
std.os.linux.accept/accept4: allow null for addr and len
...
std.os.accept already wants to allow null, which matches `man 3p accept`:
> address Either a null pointer, or a pointer to a sockaddr structure
> where the address of the connecting socket shall be re‐
> turned.
>
> address_len Either a null pointer, if address is a null pointer, or a
> pointer to a socklen_t object which on input specifies the
> length of the supplied sockaddr structure, and on output
> specifies the length of the stored address.
Fixes ziglang#6832.
2020-10-27 21:52:47 +01:00
LemonBoy
8044ed4c66
std: Add basic smoke test for net functionality
2020-10-27 21:52:47 +01:00
Isaac Freund
504f259c24
std/event: fix zig fmt regression
2020-10-27 21:40:22 +01:00
Isaac Freund
1b34365ca1
std/event: fix poll error set handling
...
This has been broken since 127fa80
2020-10-27 21:28:31 +01:00
Koakuma
2b87cc7ed3
starting_stack_ptr -> argc_argv_ptr to reflect actual use
2020-10-27 22:46:18 +07:00
Žiga Željko
7c2bde1f07
std/crypto: API cleanup
2020-10-26 19:19:34 -04:00
Andrew Kelley
e2caf57527
Merge branch 'frmdstryr-import-empty-file'
2020-10-26 16:07:46 -07:00
Andrew Kelley
435c8ad703
non-hacky workaround for the empty file bug
...
See #3328
2020-10-26 16:06:14 -07:00
Andrew Kelley
c1ae9f40c7
stage1: support "native" as the OS string in -target
...
This should help for bootstrapping purposes, intending to fix the macOS
CI.
2020-10-26 15:48:48 -07:00
frmdstryr
1ce0994897
Fix @import of empty file
2020-10-26 13:29:32 -07:00
Andrew Kelley
e83334274f
add regression test for already fixed bug
...
closes #6781
2020-10-26 13:18:44 -07:00
data-man
194e29adfc
Format null type in std.fmt
2020-10-26 15:40:48 -04:00
Andrew Kelley
a0f4606f32
ci: still build zig even though we are using (older) zig cc
2020-10-26 10:50:43 -07:00
Yanis Zafirópulos
c6747e1063
Copy editing :)
2020-10-26 18:39:34 +01:00
Frank Denis
74a1175d9d
std/*: add missing MIT license headers
2020-10-26 17:41:29 +01:00
mlarouche
e3fed3c814
Temp Fix for deadlock in C compilation, found and tested on Windows
2020-10-25 21:33:46 -04:00
johnLate
0a619c68a6
fix type mismatch in std.net.StreamServer
...
Parameter in std.os.listen is u31.
Fixes ziglang#6775
2020-10-25 21:18:24 -04:00
dec05eba
c0fa5963ee
Make lastIndexOf use the same cut-off between BMH as indexOf
...
Also update test to use a string longer than 52 characters
to test both BMH and linear path.
2020-10-25 21:17:22 -04:00
Frank Denis
72064eba23
std/crypto: vectorize BLAKE3
...
Gives a ~40% speedup on x86_64.
However, the generic code remains faster on aarch64.
This is still processing only one block at a time for now.
I'm pretty confident that processing more blocks per round
will eventually give a substantial performance improvement on
all platforms with vector units.
2020-10-25 21:13:14 -04:00
Frank Denis
1b4ab749cf
std/crypto: add the bcrypt password hashing function
...
The bcrypt function intentionally requires quite a lot of CPU cycles
to complete.
In addition to that, not having its full state constantly in the
CPU L1 cache causes a massive performance drop.
These properties slow down brute-force attacks against low-entropy
inputs (typically passwords), and GPU-based attacks get little
to no advantages over CPUs.
2020-10-25 21:11:40 -04:00
Sébastien Marie
2a0a11aa66
openbsd: make dl_phdr_info cross arches
...
introduce Addr and Half definition to std.elf, and use them for dl_phdr_info
2020-10-25 20:46:28 -04:00
Andrew Kelley
0088efc4b2
Merge pull request #6809 from jedisct1/salsa
...
std/crypto: add (X)Salsa20 and NaCl boxes
2020-10-25 20:34:35 -04:00