aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
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-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-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/ssl/maint-bench-cuddle' into maintIngela Anderton Andin
* ingela/ssl/maint-bench-cuddle: ssl: Handle unicode ~s -> ~ts
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-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-09Prepare releaseErlang/OTP
2018-11-09ssl: Add engine handling clause to RSA key exchangeIngela Anderton Andin
2018-11-09ssl: Add engine handling clause to RSA key exchangeIngela Anderton Andin
2018-11-09Merge branch 'maint'Hans Nilsson
* maint: ssh: Clear remote user_dir in ssh_compat_SUITE ssh: Check compatibility with new OpenSSH versions ssh: Fix documentation for public key in ext_info 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-09Merge branch 'hans/ssh/fix_ext_info_doc' into maintHans Nilsson
* hans/ssh/fix_ext_info_doc: ssh: Fix documentation for public key in ext_info
2018-11-09ssh: Clear remote user_dir in ssh_compat_SUITEHans Nilsson
2018-11-09ssh: Check compatibility with new OpenSSH versionsHans Nilsson
2018-11-09ssh: Fix documentation for public key in ext_infoHans Nilsson
2018-11-09Merge branch 'hans/ssh/fix_ext_info/OTP-15413' into maintHans Nilsson
* 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-09Prepare releaseErlang/OTP
2018-11-09Merge branch 'john/erts/OTP-18.3.4/minusminus_trapping/OTP-15371' into maint-18Erlang/OTP
* john/erts/OTP-18.3.4/minusminus_trapping/OTP-15371: Optimize operator '--' and yield on large inputs
2018-11-09Merge branch 'maint'Lukas Larsson
* maint: Updated OTP version Prepare release Optimize operator '--' and yield on large inputs
2018-11-09Merge branch 'maint-20' into maintLukas Larsson
* maint-20: 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/ssl/doc/src/notes.xml lib/ssl/vsn.mk lib/stdlib/doc/src/notes.xml lib/stdlib/vsn.mk make/otp_version_tickets otp_versions.table
2018-11-09ssl: Add key derivation functions for TLS-1.3Ingela Anderton Andin
2018-11-08Merge pull request #2013 from bjorng/bjorn/compiler/clean-up-beam_utilsBjörn Gustavsson
Clean up the beam_utils module
2018-11-08Merge branch 'maint'Ingela Anderton Andin
2018-11-08Merge branch 'ingela/ssl/erl-dist/ERL-770/OTP-15418' into maintIngela Anderton Andin
* ingela/ssl/erl-dist/ERL-770/OTP-15418: ssl: Correct gen_statem return value
2018-11-08Merge branch 'maint'Hans Nilsson
* maint: ssh: Fix doc error in daemon 'exec' option
2018-11-08ssh: Fix doc error in daemon 'exec' optionHans Nilsson
2018-11-08Merge branch 'maint'Ingela Anderton Andin
2018-11-08Merge branch 'ingela/public-key/more-sha2' into maintIngela Anderton Andin
* ingela/public-key/more-sha2: public_key: Add additional ASN-1 definitions for DSA SHA2 support
2018-11-08ssh: Fix ssh_options checking for ext_infoHans Nilsson
A bug for SSH_MSG_EXT_INFO was fixed both for client and server. Before that fix, wrong option was read for the information sent to the peer. This commit adapts the option checking so that the correct option now used is available not only for servers but also for clients.
2018-11-07Remerge branch 'sverker/erts/ordered_set-select-improvements/OTP-15325'Sverker Eriksson
* sverker/erts/ordered_set-select-improvements/OTP-15325: erts: Tidy some ordered_set iteration code erts: Fix bug for catree iteration
2018-11-07ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as serverHans Nilsson
The wrong set of supported public keys was sent to the client.
2018-11-07ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as clientHans Nilsson
The message could not be received in connected state