aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-10-29Optimize operator '--' and yield on large inputsJohn Högberg
The removal set now uses a red-black tree instead of an array on large inputs, decreasing runtime complexity from `n*n` to `n*log(n)`. It will also exit early when there are no more items left in the removal set, drastically improving performance and memory use when the items to be removed are present near the head of the list. This got a lot more complicated than before as the overhead of always using a red-black tree was unacceptable when either of the inputs were small, but this compromise has okay-to-decent performance regardless of input size. Co-authored-by: Dmytro Lytovchenko <[email protected]>
2018-10-26Inline erts_cmpJohn Högberg
This greatly increases the performance of '--'/2 which does a lot of term comparisons.
2018-10-25Clarify a magical allocation sizeDmytro Lytovchenko
2018-10-25Fix trapping in lists:reverse/2John Högberg
The first stage wasn't bounded by reductions, and it bumped far more reductions than it should have due to a logic bug.
2018-10-23Merge branch 'ingela/ssl/use-correct-len-aead' into maintIngela Anderton Andin
* ingela/ssl/use-correct-len-aead: ssl: Correct length to be used in additional data in CHACHA20_POLY1305 cipher
2018-10-23ssl: Correct length to be used in additional data in CHACHA20_POLY1305 cipherIngela Anderton Andin
2018-10-22Update version info for internal patch merge scriptsRickard Green
2018-10-22Merge branch 'raimo/tcp-close-while-send/maint/ERL-561/OTP-12242' into maintRaimo Niskanen
* raimo/tcp-close-while-send/maint/ERL-561/OTP-12242: Write test case Fix hanging gen_tcp send vs close race Conflicts: erts/preloaded/ebin/prim_inet.beam
2018-10-22Merge branch 'ingela/ssl/aead-refactor' into maintIngela Anderton Andin
* ingela/ssl/aead-refactor: ssl: Refactor AEAD ciphers
2018-10-21Add version info for internal patch merge scriptsRickard Green
2018-10-19ssl: Refactor AEAD ciphersIngela Anderton Andin
TLS-1.3 needs to handle AEAD inputs diffrently than previous versions. Refactor code to facilitate TLS-1.3 additions. Change CHACHA20_POLY1305 NONCE to match RFC 7905. This will be important later when we fix interop with TLS compatible crypto invocation.
2018-10-19Write test caseRaimo Niskanen
2018-10-19Fix hanging gen_tcp send vs close raceRaimo Niskanen
While a gen_tcp send was in progress with filled buffers and slow receiver a close (from another process) would place the port in a half dead state so the port could not signal back to send, that waited for confirmation. The solution is to after some time (5 s) of waiting for send confirmation set a monitor on the port, which detects if the port becomes half dead due to close from another process. The close pending loop has also been improved to use the linger timeout for waiting, and to set a system timeout (arbitrarily selected 3 min) to not wait forever when the other end reads data s l o w l y (tarpitting, kind of).
2018-10-19Merge branch 'maint-19' into maintHans Nilsson
* maint-19: Updated OTP version Prepare release
2018-10-19Merge pull request #1975 from sirihansen/siri/logger/config-set-or-updateSiri Hansen
Forward set/update indicator to handler callback changing_config OTP-15364
2018-10-19Merge branch 'siri/cuddle' into maintSiri Hansen
* siri/cuddle: Fix gen_fsm_SUITE:start2/1 to terminate process synchronously Fix sys_SUITE:special_process/1 to terminating process synchronously
2018-10-18Updated OTP versionOTP-19.3.6.12Erlang/OTP
2018-10-18Prepare releaseErlang/OTP
2018-10-18Merge branch 'hans/eldap/prevent_EXIT_at_close/OTP-15342/ERIERL-242' into ↵Erlang/OTP
maint-19 * hans/eldap/prevent_EXIT_at_close/OTP-15342/ERIERL-242: eldap: Fix race at socket close
2018-10-18Merge branch 'maint-20' into maintHans Nilsson
* maint-20: Updated OTP version Prepare release
2018-10-17Merge branch 'sverker/erts/debug_free_null' into maintSverker Eriksson
* sverker/erts/debug_free_null: erts: Fix bug in debug_free for NULL pointer
2018-10-17Merge pull request #1988 from erlang/lukas/kernel/docs-assertLukas Larsson
kernel: Fix spelling error in assert.hrl
2018-10-17kernel: Fix spelling error in assert.hrlLukas Larsson
2018-10-17Merge branch 'igor/tcp-nopush-ERL-698/OTP-15357' into maintJohn Högberg
* igor/tcp-nopush-ERL-698/OTP-15357: "cork" tcp socket around file:sendfile Add nopush TCP socket option
2018-10-16Merge branch 'sverker/erts/18/memory-leak-terminating-port/OTP-14609' into maintSverker Eriksson
* sverker/erts/18/memory-leak-terminating-port/OTP-14609: erts: Fix memory leak when sending to terminating port
2018-10-16Updated OTP versionOTP-20.3.8.10Erlang/OTP
2018-10-16Prepare releaseErlang/OTP
2018-10-16Merge branch 'sverker/erts/ets-select_replace-bug/OTP-15346' into maint-20Erlang/OTP
* sverker/erts/ets-select_replace-bug/OTP-15346: erts: Fix bug in ets:select_replace for bound key
2018-10-16Merge branch 'hans/eldap/prevent_EXIT_at_close/OTP-15342/ERIERL-242' into ↵Erlang/OTP
maint-20 * hans/eldap/prevent_EXIT_at_close/OTP-15342/ERIERL-242: eldap: Fix race at socket close
2018-10-16Fix gen_fsm_SUITE:start2/1 to terminate process synchronouslySiri Hansen
2018-10-16Fix sys_SUITE:special_process/1 to terminating process synchronouslySiri Hansen
2018-10-16Merge branch 'john/compiler/bs_match-anno-liveness-fix/OTP-15353/ERL-753' ↵John Högberg
into maint * john/compiler/bs_match-anno-liveness-fix/OTP-15353/ERL-753: beam_utils: Handle bs_start_match2 in anno_defs
2018-10-15erts: Fix bug in debug_free for NULL pointerSverker Eriksson
causing ASSERT in sys_memset to fail.
2018-10-15beam_utils: Handle bs_start_match2 in anno_defsJohn Högberg
2018-10-12Merge branch 'maint-21' into maintRickard Green
* maint-21: Updated OTP version Prepare release erts: Fix UNC path handling on Windows erts: Fix a compiler warning eldap: Fix race at socket close Fix bug for sockopt pktoptions on BSD erts: Fix memory leak on file read errors
2018-10-12Updated OTP versionOTP-21.1.1Erlang/OTP
2018-10-12Prepare releaseErlang/OTP
2018-10-12Merge branch 'ingela/maint/ssl/packet-options-to-tls-sender/OTP-15348' into ↵Erlang/OTP
maint-21 * ingela/maint/ssl/packet-options-to-tls-sender/OTP-15348: ssl: TLS sender process needs to get updates of the socket option packet
2018-10-12Merge branch 'ingela/maint/ssl/close-alert-ERL-738/OTP-15337' into maint-21Erlang/OTP
* ingela/maint/ssl/close-alert-ERL-738/OTP-15337: ssl: ERL-738 - Correct alert handling with new TLS sender process
2018-10-12Merge branch 'hans/eldap/prevent_EXIT_at_close/OTP-15342/ERIERL-242' into ↵Erlang/OTP
maint-21 * hans/eldap/prevent_EXIT_at_close/OTP-15342/ERIERL-242: eldap: Fix race at socket close
2018-10-12Merge branch 'john/erts/fix-unc-paths-windows/OTP-15333/ERL-737' into maint-21Erlang/OTP
* john/erts/fix-unc-paths-windows/OTP-15333/ERL-737: erts: Fix UNC path handling on Windows erts: Fix a compiler warning
2018-10-12Merge branch 'bjorn/compiler/fix-binary-matching/ERL-689/OTP-15335' into ↵Erlang/OTP
maint-21 * bjorn/compiler/fix-binary-matching/ERL-689/OTP-15335: Fix rare bug in binary matching (again)
2018-10-12Merge branch 'raimo/BSD-sockopt-pktoptions/ERIERL-187/OTP-14297' into maint-21Erlang/OTP
* raimo/BSD-sockopt-pktoptions/ERIERL-187/OTP-14297: Fix bug for sockopt pktoptions on BSD
2018-10-12Merge branch 'john/erts/fix-prim_file-error-leak/OTP-15318' into maint-21Erlang/OTP
* john/erts/fix-prim_file-error-leak/OTP-15318: erts: Fix memory leak on file read errors
2018-10-12Merge pull request #1974 from ↵Raimo Niskanen
RaimoNiskanen/raimo/getifaddrs-netns/ERIERL-189/OTP-15121 Implement {netns,NS} option for inet:getifaddrs/1 and friends
2018-10-11"cork" tcp socket around file:sendfileIgor Slepchin
This fixes 200ms delay on the last TCP segment when using file:sendfile/2 on Linux (ERL-698).
2018-10-11Merge branch 'maint-17' into maintRickard Green
* maint-17: Updated OTP version Prepare release
2018-10-11Updated OTP versionOTP-17.5.6.10maint-17Erlang/OTP
2018-10-11Prepare releaseErlang/OTP
2018-10-11Merge branch 'sverker/r16/binary_to_atom-utf8-crash/ERL-474/OTP-14590' into ↵Erlang/OTP
maint-17 * sverker/r16/binary_to_atom-utf8-crash/ERL-474/OTP-14590: erts: Fix crash in binary_to_atom/term for invalid utf8