Andrew Kelley
7dd3c3814d
fix incorrect error union const value generation
...
closes #1442
zig needed to insert explicit padding into this structure before
it got bitcasted.
2018-09-11 15:16:50 -04:00
Bas van den Berg
7c9f7b72c5
Add capacity and appendAssumeCapacity to ArrayList
2018-09-09 10:28:07 -04:00
Andrew Kelley
a9a925e500
add C ABI tests
2018-09-06 16:29:35 -04:00
kristopher tate
15d30b967a
std/crypto/x25519.zig: add test for createPublicKey
;
2018-09-06 12:24:53 +09:00
kristopher tate
d1855a0e93
std/crypto/x25519.zig: fix signature for createPublicKey
;
2018-09-06 12:24:12 +09:00
Andrew Kelley
b00007056d
update throughput test to new File API
...
closes #1468
2018-09-04 15:33:44 -04:00
Andrew Kelley
2bd2a8ea34
Merge pull request #1441 from ziglang/poly1305-x25519
...
Add poly1305 and x25519 crypto primitives
2018-09-04 10:34:46 -04:00
Marc Tiehuis
8b50d10a84
std/crypto: Clean up poly1305/x25519
2018-09-04 20:16:12 +12:00
Andrew Kelley
92f7474359
switch most windows calls to use W versions instead of A
...
See #534
2018-09-02 23:25:04 -04:00
Andrew Kelley
3eb89ee4db
fixups
...
* zig fmt
* use canonical parameter order. memcpy has dest first and
the base64 code follows the pattern.
* pass correct radix to charToDigit
2018-09-02 19:23:30 -04:00
Andrew Kelley
0d8412d9f0
Merge branch 'std-fmt-hexToBytes' of https://github.com/kristate/zig into kristate-std-fmt-hexToBytes
2018-09-02 19:08:54 -04:00
Andrew Kelley
ab387bb4c7
Merge pull request #1460 from ziglang/Sahnvour-windows-coff-issue721
...
Stack traces for Windows
2018-09-02 18:47:48 -04:00
Andrew Kelley
832caefc2a
fix regressions
2018-09-02 18:35:32 -04:00
Andrew Kelley
4cd50865bf
fix source file lookup
2018-09-02 17:58:50 -04:00
Andrew Kelley
98dc943c07
rework code to avoid duplicate operations
2018-09-02 15:58:08 -04:00
kristopher tate
fbd9bac5e7
std/fmt/index.zig: add hexToBytes function under std.fmt;
...
Depends on #1454 being implemented;
2018-09-03 01:12:52 +09:00
Andrew Kelley
86e55567b4
Merge pull request #1454 from kristate/str-hexbytes-issue1453
...
std.fmt: print zeroed high-order bytes correctly in hex
2018-09-02 11:31:05 -04:00
Andrew Kelley
78a110cda5
Merge pull request #1452 from shawnl/patch-1
...
std/rb.zig: fix comment
2018-09-02 11:17:54 -04:00
Shawn Landden
528e3b43a6
these all use futex() (inaccurate comments)
2018-09-01 23:52:52 -07:00
kristopher tate
d1752fbdc0
std/fmt/index.zig: test for printing double width hex bytes with zeros;
...
Co-Authored-By: Shawn Landden <shawn@git.icu>
2018-09-02 15:04:57 +09:00
kristopher tate
48d3fbef5c
std/fmt/index.zig: set width from 0 to 2;
...
\x00 was printed as 0 and \x0E was printed as E;
\x00 now correctly prints 00 and \x0E correctly prints 0E;
2018-09-02 15:04:20 +09:00
Shawn Landden
4bf54f3010
std/rb.zig: fix comment
2018-09-01 22:23:34 -07:00
kristopher tate
7a633f472d
std/fmt/index.zig: #1358 : test bytes printed-out as hex;
2018-09-01 19:53:11 +09:00
kristopher tate
454b2362ee
std/fmt/index.zig: #1358 allow bytes to be printed-out as hex;
...
Supports {x} for lowercase and {X} for uppercase;
2018-09-01 19:40:05 +09:00
Andrew Kelley
6ddbd345aa
figuring out where /names stream is
2018-08-31 19:50:03 -04:00
Andrew Kelley
b36b93fb3e
awareness of debug subsections
2018-08-31 15:02:41 -04:00
Marc Tiehuis
763845f95c
std/crypto: zig fmt
2018-08-31 18:45:45 +12:00
Marc Tiehuis
38399941d4
std/crypto: Update throughput_test.zig to include all hash functions
...
This avoids the need to recompile to test specific hash functions. This
also adds mac/key exchange performance tests as well.
2018-08-31 18:45:07 +12:00
Marc Tiehuis
a7527389cc
Make poly1305 and x25519 more idiomatic zig
...
This also adjusts the current hash/hmac functions to have a consistent
interface allowing easier switching/testing.
2018-08-31 18:40:09 +12:00
Andrew Kelley
99170aa13d
finding source file, line, and column info
2018-08-31 01:01:37 -04:00
Andrew Kelley
72185e7dd3
finding the function that an address is in
2018-08-30 16:57:55 -04:00
Andrew Kelley
44f908d2e6
figuring out which module an address belongs in
2018-08-30 15:33:50 -04:00
Andrew Kelley
96117e20cc
reading the module information substream
2018-08-30 03:44:34 -04:00
Marc Tiehuis
65b89f598c
Add poly1305 and x25519 crypto primitives
...
These are translated from [monocypher](https://monocypher.org/ ) which
has fairly competitive performance while remaining quite simple.
Initial performance comparision:
Zig:
Poly1305: 1423 MiB/s
X25519: 8671 exchanges per second
Monocypher:
Poly1305: 1567 MiB/s
X25519: 10539 exchanges per second
There is room for improvement and no real effort has been made at all in
optimization beyond a direct translation.
2018-08-30 18:02:19 +12:00
Andrew Kelley
686663239a
printing info from the ModuleInfo substream of DebugInfo
2018-08-29 19:00:24 -04:00
Andrew Kelley
f1b71053de
use RtlCaptureStackBackTrace on windows
2018-08-29 16:35:51 -04:00
Andrew Kelley
833477abf5
fix unresolved path preventing PDB loading
2018-08-28 18:55:51 -04:00
Andrew Kelley
41723f842c
Merge branch 'windows-coff-issue721' of https://github.com/Sahnvour/zig into Sahnvour-windows-coff-issue721
2018-08-28 17:32:32 -04:00
Andrew Kelley
9de0f900e1
Merge pull request #1369 from shawnl/crypto
...
std/crypto: add chacha20
2018-08-28 16:07:58 -04:00
Marc Tiehuis
87eb95f816
speed up chacha20
...
The main changes are:
Unrolling the inner rounds of salsa20_wordtobyte which doubles the speed.
Passing the slice explicitly instead of returning the array saves a copy (can optimize out in future with copy elision) and gives ~10% improvement.
Inlining the outer loop gives ~15-20% improvement but it costs an extra 4Kb of code space. I think the tradeoff is worthwhile here.
The other inline loops are small and can be done by the compiler if it is worthwhile.
The rotate function replacement doesn't alter the performance from the former.
The modified throughput test I've used to benchmark is as follows. Interestingly we need to allocate memory instead of using a fixed buffer else Zig optimizes the whole thing out.
https://github.com/ziglang/zig/pull/1369#issuecomment-416456628
2018-08-27 22:55:53 -07:00
Shawn Landden
444edd9aed
std.crypto: add chaCha20
...
v3
2018-08-27 19:44:11 -07:00
Andrew Kelley
fb6d3859e8
zig fmt
2018-08-27 19:25:40 -04:00
Andrew Kelley
4f2d49fd13
std.zig.parse: fix parsing of doc comments after fields
...
closes #1404
2018-08-27 19:21:38 -04:00
tgschultz
ecc5464024
Handle unions differently in std.fmt ( #1432 )
...
* Handle unions differently in std.fmt
Print the active tag's value in tagged unions. Untagged unions considered unsafe to print and treated like a pointer or an array.
2018-08-27 17:25:33 -04:00
Andrew Kelley
2cce171448
add test for previous commit
2018-08-25 17:28:30 -04:00
tgschultz
61c0c6d502
Fixed compile error when passing enum to fmt
...
Caused by struct printing behavior. Enums are different enough from structs and unions that the field iteration behavior doesn't do what we want even if @memberName didn't error on enums.
2018-08-25 10:51:49 -05:00
Andrew Kelley
815950996d
Merge remote-tracking branch 'origin/master' into macos-stack-traces
2018-08-25 04:48:58 -04:00
Andrew Kelley
ac36f98e72
fix stack traces on linux
2018-08-25 03:07:37 -04:00
Andrew Kelley
32901926f0
compilation unit cwd dir appears to be unnecessary on macos
2018-08-24 15:43:48 -04:00
Andrew Kelley
4e7c255e4d
macos stack traces have address-to-line translation
2018-08-24 14:55:55 -04:00