Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
* lukas/ssl/dist_benchmarks:
stdlib: Adjust binary bench to be faster
ssl: Add scheduler utilization benchmark of plain/tls dist
ssl: Link to tstsrvr to group_leader in test
ssl: Add some benchmarks to test
|
|
When benchmarking releases before OTP-22 the
binary:match function is very slow so it takes
a long time to run the benchmarks. This commit
makes the benchmark run for a shorter time which
will make the results a bit less stable, but it
will cut 1 hour from the benchmark regression so
we will have to live with that.
|
|
|
|
If the check_ssl_node_up call is made by an rpc:call the
calling process will terminate and thus the tstsrvr loop
would terminate too early. We instead link with the group
leader so that the look still terminates, but only if
the parent node does.
|
|
The ssl benchmarks tend to break when doing other
changes in ssl, so we add some of the benchmarks to
be run as part of normal testing.
|
|
|
|
* siri/logger/doc-macros-in-hrl/ERL-787:
[logger] Document that macros are defined in logger.hrl
|
|
Add a code sharing optimization pass
|
|
|
|
Make reltool correctly handle Windows 'ERL_LIBS'
OTP-15454
|
|
The previous optimizations caused some code in beam_jump to
become uncovered. Add tests to cover more code. Also remove
a clause in beam_jump:opt/3 that does not seem possible to
cover anymore (this is safe, because the clause was an
optimization).
|
|
Eliminate a jump to a return sequence, replacing the jump with
the return sequence. This optimization always save execution time
and may also save code space.
|
|
181cfc4ef9d1 stopping used #st.index.
|
|
Some lines in beam_peep were no longer covered when the sharing optimization
was added to beam_ssa_opt. Also remove some code from beam_peep that no
longer seems possible to cover.
|
|
Share code for semantically equivalent blocks referred to to by `br`
and `switch` instructions.
A similar optimization is done in `beam_jump`, but doing it here as
well is beneficial as it may enable other optimizations. Also, if
there are many semantically equivalent clauses, this optimization can
substanstially decrease compilation times.
|
|
|
|
* siri/cdv/div-bugfixes/OTP-15391:
[cdv] Handle multiple "Yc" lines refering to the same refc binary
[cdv] Speed up reading of dump with many processes
|
|
* siri/cdv/truncated-literals/OTP-15377:
[cdv] Fix handling of truncated literals
|
|
|
|
* maint:
kernel: Fix bug in net_kernel for connection attempt from self
|
|
'sverker/kernel/net_kernel-failed-accept_pending/ERL-781/OTP-15438' into maint
* sverker/kernel/net_kernel-failed-accept_pending/ERL-781/OTP-15438:
kernel: Fix bug in net_kernel for connection attempt from self
|
|
net_kernel crashed due to invalid return from handle_info.
Could only happen if erts_internal:new_connection fails
due to non-atom Node or if Node is the own node name.
|
|
* maint:
Fix inadvertently suppressed warning for unused variable
|
|
Fix inadvertently suppressed warning for unused variable
OTP-15437
|
|
* maint:
ssh: Add forgotten doc about the files ssh_host_ed*_key
|
|
* hans/ssh/eddsa/OTP-15094:
ssh: Add forgotten doc about the files ssh_host_ed*_key
|
|
|
|
* maint:
Fix internal consistency failure for is_function/2
Conflicts:
lib/compiler/src/beam_utils.erl
|
|
Enhance compiler optimizations
|
|
Sort sequences of `move` instructions on the Y register.
When moving from X registers to Y registers, having the instructions
sorted on Y registers give the loader more opportunities to use
`move_window{3,4,5}` instructions. For examples, the following five
instructions:
move_xy x(2) y(0)
move_xy x(1) y(1)
move_xy x(0) y(2)
move_xy x(5) y(3)
move_xy x(4) y(4)
can be replaced with:
move_window5_xxxxxy x(2) x(1) x(0) x(5) x(4) y(0)
When the Y registers are not ordered so that `move_window5` can be
used, the loader would typically combine the first three moves to a
`move3_xyxyxy` instruction and the last two moves to a
`move2_par_xyxy` instruction.
When moving from Y registers to X registers, sorting on the Y
registers could potentially be more cache-friendly. It could also
be worthwhile investigating a new `move_window` instruction in
the BEAM interpreter that could move values from contiguous Y registers
to X registers.
Note that `scripts/diffable` can generate diffable dissambly files for
the loaded BEAM code:
$ scripts/diffable --dis 0
$ scripts/diffable --dis 1
$ diff -u 0 1
|
|
* peterdmv/ssl/first_client_hello/OTP-15373:
ssl: Fix property tests
ssl: Improve the "start" and "negotiated" states
ssl: Improve TLS 1.3 state machine
ssl: Fix handling of "signature_algs" in ClientHello
ssl: Fix default values of "signature_algs"
ssl: Auto generate build dependencies
ssl: Fix encode/decode of ClientHello (TLS 1.3)
ssl: Change defaults for "supported_groups"
ssl: Fix compilation warnings
ssl: Implement the 'key_share' extension
Change-Id: I31d5d376cee586f4824cd38703d56920d372ed2e
|
|
An external fun could inadvertently suppress warnings for
unused variables, such as in this example:
bug() ->
BugVar = foo(),
if true ->
fun m:f/1
end.
There would be no warning that `BugVar` was unused.
The bug was introduced in ff432e262e652, which was the commit
that extended external funs to allow variables.
https://bugs.erlang.org/browse/ERL-762
|
|
|
|
Did fail on really slow unlucky machines.
|
|
There could be an internal consistency failure when using is_function/2,
because an optimization did not take into account that is_function/2 can fail.
https://bugs.erlang.org/browse/ERL-778
|
|
Replace hardcoded max size in 'choose' function with the
length of supported groups.
Change-Id: I4ac595cfee2c3cf0c9d9e1cffd0988940130a0d6
|
|
This change adds the capability to the TLS 1.3 server to process
ClientHello messages and answer with ServerHello.
Change-Id: I13f6cfac932574300338e7301c6162252a591c70
|
|
- Use internal event to transition to the first state of the
TLS 1.3 state machine.
- Add gen_handshake_1_3/4 and gen_info_1_3/4.
Change-Id: I17f12110356c7be4a8dddf9a616df7f181b0ef37
|
|
Use signature schemes in the "signature_algs" extension when
creating TLS 1.3 ClientHello extensions.
Change-Id: I1402bec659c70352a4a2200146911fd4246d2fe2
|
|
- Add function for special handling of default values of
"signature_algs" in TLS 1.3.
This change adds default values for "signature_algs" even for
TLS 1.3 clients as they must send the "signature_algs" extension
when a server authenticates itself via a certificate.
- Use "signature schemes" as default instead of the old
hash-signature algorithms tuple when using TLS 1.3.
Change-Id: I296593b16610fd7a18a4ae3f3bac63c2fad06fbd
|
|
- Order the list of input files
- Auto generate build dependencies
Change-Id: I0520725c98f4739fa73c8667c38ce1b00c494bc9
|
|
* maint:
public_key: Add Edward curves to the documentation
public_key: Add ed25519 and ed448 sign/verify
crypto: Add Edward curves to the documentation
crypto: Add eddsa test case (ed25519 and ed448)
crypto: Add ed25519 and ed448 sign/verify
|
|
* hans/crypto/eddsa/OTP-15419:
public_key: Add Edward curves to the documentation
public_key: Add ed25519 and ed448 sign/verify
crypto: Add Edward curves to the documentation
crypto: Add eddsa test case (ed25519 and ed448)
crypto: Add ed25519 and ed448 sign/verify
|
|
* maint:
ssh: Add Edward curves to the documentation
ssh: Update test cases for eddsa
ssh: Add public keys 'ssh-ed25519' and 'ssh-ed448'
|
|
* hans/ssh/eddsa/OTP-15094:
ssh: Add Edward curves to the documentation
ssh: Update test cases for eddsa
ssh: Add public keys 'ssh-ed25519' and 'ssh-ed448'
|
|
* maint:
ssh: Make host and user key pre-checking better
ssh: Generalize unpublished test support option
ssh: Cleaning and polishing of ssh_auth
ssh: Add a common key_cb call function
|
|
This will prevent crashes in ssh_file for public key types which have no passphrase option although being supported.
Also centralize host key checking to avoid code duplication. This was already done for user keys.
|