| Age | Commit message (Collapse) | Author |
|
Functions which are free'd are not immediately removed from the binary
as this would cause a shifting of function indexes. Instead, they hang
around until they can be overwritten by a new function. This means that
the types associated with these dead functions must also remain until
the function is overwritten to avoid a type mismatch.
|
|
Exports now have a dirty flag and are rewritten on flush if this flag
has been set.
A couple other minor changes have been made based on Andrew's review.
|
|
We now generate code for returning constants of any of the basic types.
|
|
Thus far, we only generate the type, function, export, and code
sections. These are sufficient to generate and export simple functions.
Codegen is currently hardcoded to `i32.const 42`, the main goal of this
commit is to create infrastructure for the container format which will
work with incremental compilation.
|
|
This should have been removed with an earlier commit that improved the
test harness.
|
|
Stage2: more optionals stuff
|
|
std.log: (breaking) remove scope parameter from logging functions
|
|
closes #6074
|
|
|
|
|
|
* Factor redundant code in std/crypto/chacha20
* Add support for XChaCha20, and the XChaCha20-Poly1305 construction.
XChaCha20 is a 24-byte version of ChaCha20, is widely implemented
and is on the standards track:
https://tools.ietf.org/html/draft-irtf-cfrg-xchacha-03
* Add support for encryption/decryption with the authentication tag
detached from the ciphertext
* Add wrappers with an API similar to the Gimli AEAD type, so that
we can use and benchmark AEADs with a common API.
|
|
|
|
Remove `ptrWidth` since as of Catalina, all apps are 64bits only.
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
|
|
This commit adds an empty skeleton for MachO format support in stage2.
|
|
|
|
|
|
|
|
|
|
Some minor cleanup and error handling
|
|
|
|
closes #6050
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Suggested by @daurnimator
|
|
|
|
Suggested by @kubkon
|
|
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
|
|
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
|
|
Suggested by @kubkon, thanks!
|
|
This requires assembly implementations, and is not needed for
signature verification.
Thanks @daurnimator
|
|
This is a rewrite of the x25519 code, that generalizes support for
common primitives based on the same finite field.
- Low-level operations can now be performed over the curve25519 and
edwards25519 curves, as well as the ristretto255 group.
- Ed25519 signatures have been implemented.
- X25519 is now about twice as fast.
- mem.timingSafeEqual() has been added for constant-time comparison.
Domains have been clearly separated, making it easier to later add
platform-specific implementations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We still want this compile error but I'm giving up on implementing it
correctly in stage1. It's been buggy and has false positives sometimes.
I left the test cases there, but commented out, so that when we go
through the stage1 compile error cases and get coverage for them in
stage2 we can reactivate the test cases.
closes #2154
|
|
|
|
Idea here is simply to entice people to contribute astgen code :)
|
|
|
|
This is part of an ongoing effort to reduce size of in-memory AST. This
enum flattening pattern is widespread throughout the self-hosted
compiler.
This is a API breaking change for consumers of the self-hosted parser.
|
|
ci linux: bump qemu-5.1.0
|
|
|