aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2019-02-15Merge branch 'maint'Björn Gustavsson
* maint: Add persistent_term:get(Key, DefaultValue) Make dialyzer faster for left-associative andalso/orelse expressions
2019-02-15Merge pull request #2141 from ↵Björn Gustavsson
bjorng/bjorn/compiler/left-assoc-performance/ERL-851/OTP-15577 Make dialyzer faster for left-associative andalso/orelse expressions
2019-02-15Make sure that beam_ssa_opt optimizes all functionsBjörn Gustavsson
The function `get_call_order_po/2` did not always include all functions in a module. The method it used was to first find all leave functions (functions not calling any other function), and then find all others functions that called any of the leave functions either directly or indirectly. Functions that did not call a leave function (directly or indirectly) would not be included in the list of functions to optimize. Reimplement `get_call_order_po/2` to use the standard algorithm for constructing a list of nodes in reverse postorder and then reverse that list.
2019-02-14Merge branch 'maint'Kjell Winblad
2019-02-14Merge pull request #2118 from kjellwinblad/fix_valgrind_problem_bignum OTP-15583Kjell Winblad
Fix bug in binary:encode_unsigned causing a read of uninitialized memory
2019-02-14Clean up module boundariesRaimo Niskanen
Improve the abstraction between the ssl_connection module and dtls_connection, tls_connection and tls_sender, as well as towards the lower level tls_record and ssl_record modules. Remove some dead code.
2019-02-14Merge branch 'peterdmv/ssl/server-process-client-finished'Péter Dimitrov
* peterdmv/ssl/server-process-client-finished: ssl: Test TLS 1.3 connectivity ssl: Fix crash when sending Alerts ssl: Fix dialyzer warning ssl: Improve TLS 1.3 statem Change-Id: I258e0309ba3a132d5ab2056151935a3df8646344
2019-02-14ssl: Remove duplicate record_cb handlingIngela Anderton Andin
2019-02-14Merge branch 'maint'Anders Svensson
* maint: Updated OTP version Prepare release
2019-02-14stdlib: Optimize formatted printing of termsHans Bolinder
Try calling iolist_size() before calling string:length(). The reason is that calls to string:length/1 are slow when the argument is not a list of integers (or contains UNICODE).
2019-02-14Merge branch 'maint-20' into maintAnders Svensson
* maint-20: Updated OTP version Prepare release
2019-02-14Prepare releaseErlang/OTP
2019-02-14Merge branch 'anders/diameter/nocatch/OTP-15569' into maint-20Erlang/OTP
* anders/diameter/nocatch/OTP-15569: Update appup Fix nocatch on incoming answer with faulty Experimental-Result-Code
2019-02-14ssl: Add test case for continued handshake with a timeoutdimadio
2019-02-14Merge branch 'maint'Péter Dimitrov
* maint: ssl: Fix renegotiation testcases ssl: Fix failing rizzo testcases ssl: Use IPv4 addresses with openssl s_client ssl: Use sha256 in test certificates if supported Change-Id: I8a604d607333d029b170e3d3ad31ea01890202ea
2019-02-14Merge branch 'peterdmv/ssl/fix-failing-testcases' into maintPéter Dimitrov
* peterdmv/ssl/fix-failing-testcases: ssl: Fix renegotiation testcases ssl: Fix failing rizzo testcases ssl: Use IPv4 addresses with openssl s_client ssl: Use sha256 in test certificates if supported Change-Id: I11a326be027545e20fbef6f90996b0c8be8c3e50
2019-02-14Merge branch 'bjorn/compiler/improve-move-elimination'Björn Gustavsson
* bjorn/compiler/improve-move-elimination: beam_jump: Improve elimination of redundant moves
2019-02-13Remove redundant return of CipherStateRaimo Niskanen
2019-02-13ssl: Fix renegotiation testcasesPéter Dimitrov
Fix failing renegotiation testcases with openssl-1.1.1a. openssl s_client sends the renegotiation "R\n" connected command to the server side causing testcase failure. This commit updates ssl_to_openssl_SUITE:erlang_ssl_receive to swallow the unexpected packet. Change-Id: I1f5d040ac65c25652f7101ddf109fc84acc4c915
2019-02-13[logger] Keep track of inode for logger_std_h log fileSiri Hansen
If the inode changes, the file is now reopened. This may happen, for instance, if the log file is opened and saved by an editor.
2019-02-13Use iovec() internally in send pathRaimo Niskanen
2019-02-13Small binary handling optimizationsRaimo Niskanen
2019-02-13Optimize read_application_data with Okasaki queueRaimo Niskanen
To avoid degenerate case with quadratic complexity that shows up when sending large messages since the the fragment concatenation was done by binary append. An Okasaki queue is much more efficient.
2019-02-13Try to optimize decode_cipher_text/3Raimo Niskanen
2019-02-13Optimize application data aggregationRaimo Niskanen
2019-02-13Optimize TLS record parsing with Okasaki queueRaimo Niskanen
2019-02-13Cache strong_random_bytes for IVRaimo Niskanen
2019-02-13Optimize paddingRaimo Niskanen
2019-02-13Produce less garbage in encrypt loopRaimo Niskanen
2019-02-13Reorganize #data{}Raimo Niskanen
2019-02-13Tidy up state machineRaimo Niskanen
2019-02-13Add server GC info to bench resultsRaimo Niskanen
2019-02-13Merge branch 'maint'Anders Svensson
2019-02-13Merge branch 'anders/diameter/nocatch/OTP-15569' into maintAnders Svensson
* anders/diameter/nocatch/OTP-15569: Update appup Fix nocatch on incoming answer with faulty Experimental-Result-Code
2019-02-13ssl: Use gen_statem named timers to handle connection and recv timeoutsIngela Anderton Andin
2019-02-13ssl: Fix failing rizzo testcasesPéter Dimitrov
Filter out the cipher 'chacha20_poly1305' when running the testcase 'rizzo_one_n_minus_one'. Change-Id: If3a18b0782b747b91155553e0659faebd7c5dd05
2019-02-13ssl: Use IPv4 addresses with openssl s_clientPéter Dimitrov
This commit fixes failing testcases on OpenBSD 12.0 systems. It forces openssl s_client to use an IPv4 address if openssl supports IPv6. When s_client is called with the argument "localhost" it binds to the first address returned by getaddrinfo. As the first address is an IPv6 address on OpenBSD 12.0, the client fails to send UDP packets to the ssl server that is listening on an IPv4 address. Change-Id: Ie662d10f4f0d9c803f7a341c9ea7dbe2ac80b556
2019-02-13Make dialyzer faster for left-associative andalso/orelse expressionsBjörn Gustavsson
https://bugs.erlang.org/browse/ERL-851
2019-02-13Merge pull request #2137 from bjorng/bjorn/tools/coverBjörn Gustavsson
Use the counters module to speed up cover OTP-15575
2019-02-12Update appupAnders Svensson
For OTP-15569, to be released in OTP 20.3.8.19.
2019-02-12Merge branch 'maint'Hans Bolinder
* maint: Optimize calendar:gregorian_days_to_date/1
2019-02-12Merge branch 'FNickRU/stdlib/optimize_calendar/PR-2121/OTP-15572' into maintHans Bolinder
* FNickRU/stdlib/optimize_calendar/PR-2121/OTP-15572: Optimize calendar:gregorian_days_to_date/1
2019-02-11ssl: Use sha256 in test certificates if supportedPéter Dimitrov
This commit fixes ssl_test_lib:appropriate_sha/1 that returns sha256 if it is supported by crypto. It returns sha1 otherwise. Change-Id: I0bfa4d50bbe3c788551a81d418db2cabc36a4344
2019-02-11Merge branch 'maint'Siri Hansen
2019-02-11Merge branch 'siri/observer/crash-toggle-log-view/OTP-15553' into maintSiri Hansen
* siri/observer/crash-toggle-log-view/OTP-15553: [observer] Don't crash on Log > Toggle Log View
2019-02-11beam_jump: Improve elimination of redundant movesBjörn Gustavsson
2019-02-11compiler tests: Restrict cover to run on the local nodeBjörn Gustavsson
This change saves about about a minute when running the cover-compiled compiler tests.
2019-02-11common_test: Add support for running cover:local_only/0Björn Gustavsson
2019-02-11Use the counters module to speed up coverBjörn Gustavsson
Use `counters:add/3` instead of `ets:update_counter/3` for counting the number of times a line is executed. By default, the reference to the counter array for each module will be stored in a persistent term and retrieved every time a counter is updated. This makes the compiler test suite with coverage enabled run *almost* twice as fast (on my computer, in about 6 minutes down from more than 11 minutes). To get even more speed, the new `cover:local_only/0` function can be called to put cover into a mode where the cover-compiled code can only be run on the local node. In this mode, the cover-compiled modules in a more efficient way by compiling the counter reference into the code. This shaves off about one more minute, making the compiler test suite with coverage enabled run *more than* twice as fast (in about 5 minutes on my computer).
2019-02-11ssl: Test TLS 1.3 connectivityPéter Dimitrov
Test TLS 1.3 connectivity between ssl server and openssl s_client. Change-Id: I926229d6bc9e6670ebe0190b491257876845b570