aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-11-16ssl: Implement the 'key_share' extensionPéter Dimitrov
Change-Id: Ie7409675dd7a35825f32822df259286bbb95fd62
2018-11-16Merge branch 'maint'John Högberg
* maint: Updated OTP version Prepare release
2018-11-16Merge branch 'maint-21' into maintJohn Högberg
* maint-21: Updated OTP version Prepare release
2018-11-16Merge branch 'henrik/kernel/bad_erl_libs'Henrik Nord
* henrik/kernel/bad_erl_libs: make sure a set ERL_LIBS does not interfere with tests
2018-11-16Merge pull request #2018 from bjorng/bjorn/compiler/speedBjörn Gustavsson
Speed up the compiler
2018-11-16Merge branch 'maint'John Högberg
* maint: Fix broken assertion on monitor release Avoid closing files in gc/monitor callbacks
2018-11-16Merge branch 'john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261' into maintJohn Högberg
* john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261: Fix broken assertion on monitor release Avoid closing files in gc/monitor callbacks
2018-11-15Merge branch 'sverker/erts/ethr-dw-atomic-typo'Sverker Eriksson
2018-11-15Merge branch 'maint'Sverker Eriksson
2018-11-15Merge branch 'sverker/crypto/gcc-8-warning' into maintSverker Eriksson
* sverker/crypto/gcc-8-warning: crypto: Fix gcc 8 warning
2018-11-15Merge branch 'maint'Sverker Eriksson
2018-11-15Merge branch 'sverker/erts/atomics-counters/OTP-13468' into maintSverker Eriksson
* sverker/erts/atomics-counters/OTP-13468: erts: Add new module 'counters' erts: Add new module 'atomics'
2018-11-15erts: Add new module 'counters'Sverker Eriksson
2018-11-15erts: Add new module 'atomics'Sverker Eriksson
2018-11-15beam_ssa_dead: Speed up optimization of switch instructionsBjörn Gustavsson
`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
2018-11-15beam_ssa_pre_codegen: Eliminate a bottleneck in linear scanBjörn Gustavsson
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
2018-11-15beam_ssa_type: Speed up type analysis for huge functionsBjörn Gustavsson
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
2018-11-15Updated OTP versionOTP-21.1.2Erlang/OTP
2018-11-15Prepare releaseErlang/OTP
2018-11-15Merge branch 'john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261' into ↵Erlang/OTP
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
2018-11-15Merge branch 'ingela/public_key/DSA-SHA2/OTP-15367' into maint-21Erlang/OTP
* 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
2018-11-15Merge branch 'john/compiler/bs_match-anno-liveness-fix/OTP-15353/ERL-753' ↵Erlang/OTP
into maint-21 * john/compiler/bs_match-anno-liveness-fix/OTP-15353/ERL-753: beam_utils: Handle bs_start_match2 in anno_defs
2018-11-15Merge branch 'maint'Hans Nilsson
* maint: Updated OTP version Prepare release
2018-11-15Merge branch 'maint-20' into maintHans Nilsson
* maint-20: Updated OTP version Prepare release
2018-11-14Merge branch 'maint'Ingela Anderton Andin
2018-11-14Merge branch 'ingela/public_key/DSA-SHA2/OTP-15367' into maintIngela Anderton Andin
* ingela/public_key/DSA-SHA2/OTP-15367: public_key: Add additional ASN-1 definitions for DSA SHA2 support
2018-11-14Merge pull request #2017 from matwey/epmd-helpJohn Högberg
epmd: Move -systemd position in -help output
2018-11-14Merge branch 'maint'Ingela Anderton Andin
2018-11-14Merge branch 'ingela/ssl/maint-bench-cuddle' into maintIngela Anderton Andin
* ingela/ssl/maint-bench-cuddle: ssl: Handle unicode ~s -> ~ts
2018-11-14Updated OTP versionOTP-20.3.8.14Erlang/OTP
2018-11-14Prepare releaseErlang/OTP
2018-11-14Merge branch 'hans/ssh/fix_ext_info/OTP-15413' into maint-20Erlang/OTP
* 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
2018-11-14Merge branch 'maint'Lukas Larsson
* maint: Updated OTP version Prepare release Optimize operator '--' and yield on large inputs
2018-11-14Merge branch 'maint-18' into maintLukas Larsson
* 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
2018-11-13Fix broken assertion on monitor releaseJohn Högberg
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.
2018-11-13Avoid closing files in gc/monitor callbacksJohn Högberg
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.
2018-11-12erts: Fix benign typo in ethr_dw_atomic.h filesSverker Eriksson
2018-11-12ssl: Handle unicode ~s -> ~tsIngela Anderton Andin
2018-11-12Merge branch 'maint'Ingela Anderton Andin
* maint: Updated OTP version Prepare release
2018-11-12Merge branch 'maint-20' into maintIngela Anderton Andin
* maint-20: Updated OTP version Prepare release
2018-11-12Merge branch 'ingela/ssl/key-derive/OTP-15374'Ingela Anderton Andin
* ingela/ssl/key-derive/OTP-15374: ssl: Add key derivation functions for TLS-1.3
2018-11-12Merge branch 'maint'Ingela Anderton Andin
2018-11-12Merge branch 'ingela/ssl/rsa-kex-engine/ERIERL-268/OTP-15420' into maintIngela Anderton Andin
* ingela/ssl/rsa-kex-engine/ERIERL-268/OTP-15420: ssl: Add engine handling clause to RSA key exchange
2018-11-09epmd: Move -systemd position in -help outputMatwey V. Kornilov
-systemd option help is currently shown in "Interactive options" section. The option is not interactive one. Fixes: b7c95eabf601 ("Add systemd socket activation for epmd") Signed-off-by: Matwey V. Kornilov <[email protected]>
2018-11-09Updated OTP versionOTP-20.3.8.13Erlang/OTP
2018-11-09Prepare releaseErlang/OTP
2018-11-09Merge branch 'ingela/maint-20/ssl/rsa-kex-engine/ERIERL-268/OTP-15420' into ↵Erlang/OTP
maint-20 * ingela/maint-20/ssl/rsa-kex-engine/ERIERL-268/OTP-15420: ssl: Add engine handling clause to RSA key exchange
2018-11-09Merge branch 'maint'Ingela Anderton Andin
2018-11-09Merge branch 'ingela/maint-20/ssl/rsa-kex-engine/ERIERL-268/OTP-15420' into ↵Ingela Anderton Andin
maint
2018-11-09ssl: Add engine handling clause to RSA key exchangeIngela Anderton Andin