Age | Commit message (Collapse) | Author |
|
* 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
|
|
* hans/ssh/robust_pubkey_prechecks/OTP-15424:
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.
|
|
Also rename the corresponding testcase in ssh_options_SUITE and add logging.
|
|
No intentional api changes. Only to make the code less hard to read.
|
|
|
|
Spell 'Guidelines' in the title for applications with a capital G, in system/doc/design_principles/applications.xml.
|
|
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]>
|
|
* 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
|
|
|
|
* ingela/ssl/maint-bench-cuddle:
ssl: Handle unicode ~s -> ~ts
|
|
|
|
|
|
* hans/ssh/fix_ext_info/OTP-15413:
ssh: Fix ssh_options checking for ext_info
ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as server
ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as client
|
|
* maint:
Updated OTP version
Prepare release
Optimize operator '--' and yield on large inputs
|
|
* maint-18:
Updated OTP version
Prepare release
Optimize operator '--' and yield on large inputs
Conflicts:
OTP_VERSION
erts/doc/src/notes.xml
erts/emulator/beam/erl_alloc.types
erts/emulator/beam/erl_bif_lists.c
erts/vsn.mk
lib/stdlib/doc/src/notes.xml
lib/stdlib/vsn.mk
make/otp_version_tickets
otp_versions.table
|
|
We sometimes bump the refc without messing with the table, which
means that we sometimes decrement it while in the table, causing
the old assertion to fail.
The property we want to check is that neither end of the monitor is
present in the table when the monitor is deleted.
|
|
Closing files in these callbacks could block scheduler progress
and cause major system instability. We now defer these operations
to a dedicated process instead.
This process may in turn block forever and prevent further orphaned
files from being closed, but it will keep the emulator itself from
misbehaving.
|
|
|
|
|
|
* maint:
Updated OTP version
Prepare release
|
|
* maint-20:
Updated OTP version
Prepare release
|
|
* ingela/ssl/key-derive/OTP-15374:
ssl: Add key derivation functions for TLS-1.3
|
|
|