aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-08-07Optimize binary matchJosé Valim
The idea is to use memchr on the first lookup for binary:match/2 and also after every match on binary:matches/2. We only use memchr in case of matches because benchmarks showed that using memchr even when we had false positives could negatively affect performance. This speeds up binary matching and binary splitting by 4x in some cases and by 70x in other scenarios (when the last character in the needle does not occur in the subject). The reason to use memchr is that it is highly specialized in most modern operating systems, often defaulting to SIMD operations. The implementation uses the reduction count to figure out how many bytes should be read with memchr. We could increase those numbers but they do not seem to make a large difference.
2018-04-27Merge branch 'peterdmv/inets/prepare_for_release'Péter Dimitrov
* peterdmv/inets/prepare_for_release: inets: Correct runtime_dependencies before release Change-Id: I6d5bcfd870c072944df79a2f36ac69d8f88499d0
2018-04-27inets: Correct runtime_dependencies before releasePéter Dimitrov
Change-Id: Ia53fb6bbf0822608ce9f7afe9b905d3bb1ce0b11
2018-04-27Merge branch 'sverker/lc-thread-exit-free-fix'Sverker Eriksson
* sverker/lc-thread-exit-free-fix: erts: Fix memory leak in lock checker at thread exit
2018-04-27Merge branch 'rickard/process_info/OTP-14966'Rickard Green
* rickard/process_info/OTP-14966: Fix scheduled process_info() 'status' request Fix handling of process-info requests in receive
2018-04-27Fix scheduled process_info() 'status' requestRickard Green
2018-04-27Merge branch 'ingela/dtls/abbreviated'Ingela Anderton Andin
* ingela/dtls/abbreviated: dtls: Trigger resend in abbreviated handshake if change_cipher_spec is received to early.
2018-04-27dtls: Trigger resend in abbreviated handshake if change_cipher_specIngela Anderton Andin
is received to early.
2018-04-27Update primary bootstrapBjörn Gustavsson
2018-04-27Merge branch 'bjorn/compiler/yreg-init'Björn Gustavsson
* bjorn/compiler/yreg-init: beam_validator: Verify Y registers in exception-causing instructions Correct beam_utils:is_killed/3 (again)
2018-04-27Merge branch 'lars/crypto/test-suite-problem'Lars Thorsen
* lars/crypto/test-suite-problem: [crypto] Skip test cases for specific ssl version on old machine
2018-04-27[crypto] Skip test cases for specific ssl version on old machineLars Thorsen
Skip the test cases in the engine_SUITE on a specific ssl version used on one test machine.
2018-04-27Merge branch 'lars/remove-corba-applications/OTP-14283'Lars Thorsen
* lars/remove-corba-applications/OTP-14283: Move the corba applcations to separate repository
2018-04-27Move the corba applcations to separate repositoryLars Thorsen
All corba applications are moved to a separate repository. E.g. orber, ic, cosEvent, cosEventDomain, cosNotifications cosTime, cosTransactions, cosProperty and cosFileTransfer.
2018-04-27Merge branch 'raimo/better-TLS-distribution/OTP-14969'Raimo Niskanen
* raimo/better-TLS-distribution/OTP-14969: Fix distro CRL test cases short vs long names Allow check for node name Move check ip to before SSL handshake Check client IP from server Parse cert primarily for host names Open for host and node allow list Create plug-in for distro cert nodes Rewrite TLS dist to handle node names in certs Improve node allowed check
2018-04-27Merge branch 'ingela/inets/cert-gen'Ingela Anderton Andin
* ingela/inets/cert-gen: inets: Fix better test case data generation
2018-04-27inets: Fix better test case data generationIngela Anderton Andin
Inets generated test data that not conform to valid TLS cipher suites
2018-04-27Merge branch 'ingela/ssl/test-cuddle'Ingela Anderton Andin
* ingela/ssl/test-cuddle: ssl: Handle EXIT messages from test code correctly
2018-04-27Fix distro CRL test cases short vs long namesRaimo Niskanen
2018-04-27Merge branch 'ingela/inets/httpc-error-handling/ERL-605/OTP-15042'Ingela Anderton Andin
* ingela/inets/httpc-error-handling/ERL-605/OTP-15042: inets: Improve httpc gracefulness
2018-04-27Merge branch 'hans/ssh/channel_maintenance/OTP-15041'Hans Nilsson
* hans/ssh/channel_maintenance/OTP-15041: ssh: ssh_channel replaced by ssh_client_channel ssh: ssh_daemon_channel replaced by ssh_server_channel ssh: Use ssh_daemon_channel_sup and ssh_damon_channel ssh: Create doc for the ssh_daemon_channel behaviour
2018-04-27ssh: ssh_channel replaced by ssh_client_channelHans Nilsson
2018-04-27ssh: ssh_daemon_channel replaced by ssh_server_channelHans Nilsson
2018-04-27ssh: Use ssh_daemon_channel_sup and ssh_damon_channelHans Nilsson
2018-04-27ssh: Create doc for the ssh_daemon_channel behaviourHans Nilsson
2018-04-27beam_validator: Verify Y registers in exception-causing instructionsBjörn Gustavsson
When an exception is handled, the stack will be scanned. Therefore all Y registers must be initialized.
2018-04-27Correct beam_utils:is_killed/3 (again)Björn Gustavsson
beam_utils:is_killed/3 could incorrectly indicate that a register was killed. The previous fix is 5da6b91ecab6c.
2018-04-27Merge branch 'siri/kernel/logger/OTP-13295'Siri Hansen
* siri/kernel/logger/OTP-13295: Add documentation of the built-in logger handlers Catch badarg in logger:get_format_depth/0 Add chars_limit option to logger_formatter Don't kill logger process until all other processes are dead Set call timeout for logger_server to infinity Update primary bootstrap Test cuddle for logger Update cth_log_redirect to a logger handler Start using logger internally in kernel and stdlib Remove error_logger process and add logger process Add logger
2018-04-27Add a bit of documentation about restart_application (#1582)David N. Welton
It is now explicitly stated that if the application type is `load`, the application will not actually be restarted by the `restart_application` instruction in relup, even if it is currently running. It will only be stopped and re-loaded.
2018-04-27Merge branch 'anders/diameter/21.0/OTP-15045'Anders Svensson
* anders/diameter/21.0/OTP-15045: vsn -> 2.1.5 Update appup for 21.0 Fix release note typo Fix documentation typos
2018-04-27inets: Improve httpc gracefulnessIngela Anderton Andin
This commit will make the close down sequence work as intended, and no crash report will be generated. Alas such error corner cases are hard to write automated test for.
2018-04-27Merge branch 'hans/ssh/cuddle_tests'Hans Nilsson
* hans/ssh/cuddle_tests: ssh: Test case fix The daemon kill is now so fast that the clients does not react fast enough in ssh_sup_SUITE:killed_acceptor_restarts/1
2018-04-27Merge branch 'hans/ssh/dbg/OTP-14896'Hans Nilsson
* hans/ssh/dbg/OTP-14896: ssh: Correct a call that re-appeared by misstake
2018-04-27Merge pull request #1799 from ↵Ingela Andin
IngelaAndin/ingela/ssl/client-has-no-cert/ERL-599/OTP-15050 ssl: Proper handling of clients that choose to send an empty answer to a certificate request
2018-04-27Merge branch 'hasse/stdlib/rfc3339_datetime/OTP-14764'Hans Bolinder
* hasse/stdlib/rfc3339_datetime/OTP-14764: stdlib: Add RFC 3339 functions to module calendar
2018-04-27Merge branch 'siri/appups-21'Siri Hansen
* siri/appups-21: Update appups in kernel, stdlib and sasl for OTP-21.0
2018-04-26Merge branch 'sverker/monitor-send-combo'Sverker Eriksson
* sverker/monitor-send-combo: erts: Optimize monitor signal by message piggyback
2018-04-26erts: Optimize monitor signal by message piggybackSverker Eriksson
If no message/signal is sent (to same destination) then monitor signal is flushed when process is scheduled out.
2018-04-26erts: Cleanup some codeSverker Eriksson
2018-04-26Fix handling of process-info requests in receiveRickard Green
2018-04-26ssl: Proper handling of clients that choose to send an emptyIngela Anderton Andin
answer to a certificate request Solves ERL-599
2018-04-26Update appups in kernel, stdlib and sasl for OTP-21.0Siri Hansen
2018-04-26Merge branch 'rickard/dirty-schedulers-test-fix/OTP-15046'Rickard Green
* rickard/dirty-schedulers-test-fix/OTP-15046: Do not run tests that conflicts with dirty schedulers test
2018-04-26Merge branch 'siri/upgrade_SUITE/stop-inets-before-start-ftp'Siri Hansen
* siri/upgrade_SUITE/stop-inets-before-start-ftp: Add correction of relup when upgrading from 20-21 with inets and ftp/tftp
2018-04-26Add documentation of the built-in logger handlersPeter Andersson
2018-04-26Allow check for node nameRaimo Niskanen
2018-04-26[stdlib/sys]: install one debug function more times (#1781)Pouriya
Allow installing multiple instances of sys debug function This commit solves a bug which allowed installing {Fun,State} as sys debug function even if Fun was already installed. This happened in the case when the current State of the debug fun was undefined. Also, the new format {Id,Fun,State} of debug functions can be installed, allowing multiple instances of the same fun.
2018-04-26Merge pull request #1759 from sunboshan/sys-fixSiri Hansen
[stdlib/sys.erl] Fix sys module's debug statistics not including the out message count when using gen_server:call/2. OTP-15047
2018-04-26stdlib: Add RFC 3339 functions to module calendarHans Bolinder
Functions for converting between RFC 3339 strings and system time are added. Options are lists, but we are considering using maps instead. If we change, it will happen after Erlang/OTP 21.0-rc1 is released.
2018-04-26Merge branch 'hasse/stdlib/calendar_systemtime/OTP-13413'Hans Bolinder
* hasse/stdlib/calendar_systemtime/OTP-13413: stdlib: Add system time functions to module calendar