Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Requires OpenSSL-1.1.1
https://tools.ietf.org/html/draft-ietf-curdle-ssh-ed25519-ed448-00
|
|
Enhance the copy_retval/1 optimization to allow Y registers to be
reused in more circumstances. Reusing Y register can often reduce
the size of the stack frame.
|
|
There could be `allocate_zero` instructions where `allocate` would
suffice or superfluous `init` instructions because all possible
initializations of Y registers were not taken into account.
While at it, also add some more comments.
|
|
Spell 'Guidelines' in the title for applications with a capital G, in system/doc/design_principles/applications.xml.
|
|
The `get_map_element` instruction has no side effects, and should be
removed if its value is not used.
|
|
Also fix erts_debug:get_internal_status(node_and_dist_references)
for catree to also search route node keys for offheap stuff.
|
|
to be usable by other application tests.
|
|
with some code moving and removed obsolete comments.
|
|
system/doc/design_principles/applications.xml.
Since we call them 'Directory Structure' and 'Development Environment' in the
title, this fits more into the title.
Signed-off-by: Nils Gillmann <[email protected]>
|
|
- Fix handling of hello versions. TLS 1.3 ClientHello will use
TLS 1.3 encoding.
- Fix encoding/decoding of TLS records when record protection
has not yet been engaged (NULL cipher).
Change-Id: I7511d1a7751f1ec8c2f2f2fb3d21ddf80a3f428b
|
|
Removed strongest Diffie-Hellman groups from defaults (ffdhe3072,
ffdhe4096, ffdhe6144, ffdhe8192) in order to reduce the time spent
with calculating the keys for the key_share extension.
Change-Id: I1cc1914ea4c5093f694989b0153c1bd1c8840eef
|
|
Change-Id: Id92deeebf2cb792a24c0ac1dd2e827fc7135b07c
|
|
Change-Id: Ie7409675dd7a35825f32822df259286bbb95fd62
|
|
* john/erts/plusplus-trapping/OTP-15427:
Don't use too many reductions in lists:reverse/2
Make '++'/2 trapping
|
|
* maint:
Updated OTP version
Prepare release
|
|
* maint-21:
Updated OTP version
Prepare release
|
|
* henrik/kernel/bad_erl_libs:
make sure a set ERL_LIBS does not interfere with tests
|
|
Speed up the compiler
|
|
* maint:
Fix broken assertion on monitor release
Avoid closing files in gc/monitor callbacks
|
|
* john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261:
Fix broken assertion on monitor release
Avoid closing files in gc/monitor callbacks
|
|
|
|
|
|
* sverker/crypto/gcc-8-warning:
crypto: Fix gcc 8 warning
|
|
|
|
|
|
* sverker/erts/atomics-counters/OTP-13468:
erts: Add new module 'counters'
erts: Add new module 'atomics'
|
|
|
|
|
|
`beam_ssa_dead` can waste a lot of time trying to optimize
an unoptimizable `switch` instruction.
By being a little bit smarter when optimizing `switch` instructions,
the runtime for the beam_ssa_dead pass was reduced approximately by
half on my computer for this module:
https://github.com/aggelgian/cuter/blob/master/src/cuter_binlib.erl
Noticed-by: Kostis Sagonas
|
|
The linear scan algorithm keeps unhandled intervals in two separate
lists: one for intervals with reserved registers and one for intervals
without reserved registers. When collecting the available free registers
all unhandled intervals with reserved registers must be checked for
overlap.
Unhandled intervals that had a preferred register were put into the
list of intervals with reserved registers, leading to a lot of
unecessary overlap checking if there were many intervals with
preferred registers. Changing the partition code to put intervals with
preferred registers into the general list of unhandled intervals will
reduce the compilation time if there are many preferred registers.
On my computer, this change reduced the time of the linear scan pass
from about 20 seconds down to about 0.5 seconds for this module:
https://github.com/aggelgian/cuter/blob/master/src/cuter_binlib.erl
Noticed-by: Kostis Sagonas
|
|
The type analysis pass (`beam_ssa_type`) keeps the type information
for all variables that are in scope. For huge functions, the
`join_types/2` function could get really slow when joining two
maps with thousands of variables in each.
Use a conservative approach to discard type information for
variables only used once by a `br` or `switch` in the same
block as the variable is defined in.
This approach reduces the runtime for the `beam_ssa_type` pass
from a few minutes down to few seconds for this module:
https://github.com/aggelgian/cuter/blob/master/src/cuter_binlib.erl
Rejected approach: Calculate liveness information for all variables
and discard type information for any variable that would not be
used again. That turned out to not work because some optimizations
would invalidate the liveness (in particular, substitutions could
lengthen the lifetime for a variable). Trying to update the
liveness information when doing the optimizations would be tricky.
Noticed-by: Kostis Sagonas
|
|
|
|
|
|
maint-21
* john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261:
Fix broken assertion on monitor release
Avoid closing files in gc/monitor callbacks
|
|
* ingela/public_key/DSA-SHA2/OTP-15367:
public_key: Add additional ASN-1 definitions for DSA SHA2 support
public_key: Add DSA with SHA2 support
|
|
into maint-21
* john/compiler/bs_match-anno-liveness-fix/OTP-15353/ERL-753:
beam_utils: Handle bs_start_match2 in anno_defs
|
|
* maint:
Updated OTP version
Prepare release
|
|
* maint-20:
Updated OTP version
Prepare release
|
|
|
|
* ingela/public_key/DSA-SHA2/OTP-15367:
public_key: Add additional ASN-1 definitions for DSA SHA2 support
|
|
epmd: Move -systemd position in -help output
|
|
|