aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2018-05-14Merge pull request #1813 from legoscia/erl_driver.xml-typosLukas Larsson
Fix typos in erl_driver.xml
2018-05-10Fix typos in erl_driver.xmlMagnus Henoch
2018-05-09erts: Try fix contant maps:next orderSverker Eriksson
Symptom: maps:iterator+next returns different orders for the exact same map. Problem: Number of cached key-values within iterator term depends on number of input reductions to erts_internal_map_next_3. Solution: Build cached key-values in destructive non-reverse order to not affect iteration order.
2018-05-09Disable the use of floating point exceptionsBjörn Gustavsson
Floating point exceptions has been disabled since 2011 on macOS (fa0f8d2c29b) and on Linux since 2014 (c7ddafbe6dbc) because there were unresolved stability issues. Floating point exceptions are not disabled by default on FreeBSD, and if OTP is compiled with gcc (as opposed to clang) floating point exceptions will be used. 81a6adab693a introduced a bug in erts/emulator/Makefile.in which would cause the building of OTP to fail if floating point exceptions were enabled. The bug was not noticed because it turns out that none of our daily build machines has floating point exceptions enabled. Since floating point exceptions is not tested, we should not expect them to work reliably on any platform. Therefore, turn off floating point exceptions unconditionally in erts/configure.in. For the moment we will keep the code in the runtime system that handles floating point exceptions. (This commit also fixes the bug in erts/emulator/Makefile.in, in case floating point exceptions ever become reliable and enabled.) https://bugs.erlang.org/browse/ERL-620
2018-05-08erts: Rename untrapping db_free_*empty*_tableSverker Eriksson
as it's now only used for empty tables by ets:new/2.
2018-05-08erts: Make ets:delete_all_objects yield on fixed tableSverker Eriksson
2018-05-08erts: Optimize ets delete all in fixed tableSverker Eriksson
by only allocating one FixedDeletion with the new "all" flag instead of one FixedDeletion per slot.
2018-05-08erts: Refactor ets select iteration codeSverker Eriksson
* Remove all "mtraversal_" prefixes. * Rename all local context variables as "ctx". * Changed callbacks from function arguments to members of new base context struct "match_callbacks_t" * Remove unnecessary struct initializations "= {0}"
2018-05-08erts: Cleanup ets codeSverker Eriksson
2018-05-08erts: Optimize ets hash object deallocactionsSverker Eriksson
to be done after lock has been released.
2018-05-08erts: Refactor pseudo deleted ets objectsSverker Eriksson
Separate pseudo-deleted-flag from the hash value.
2018-05-08erts: Make atomic ets:delete_all_objects yieldSverker Eriksson
by using a cooperative strategy that will make any process accessing the table execute delelete_all_objects_continue until the table is empty. This is not an optimal solution as concurrent threads will still block on the table lock, but at least thread progress is made.
2018-05-07Update preloaded modulesBjörn Gustavsson
2018-05-07Merge pull request #1802 from michalmuskala/map-is-key-bifBjörn Gustavsson
Introduce is_map_key/2 guard BIF OTP-15037
2018-05-06Fix typos in erlang.xmlbitnitdit
2018-05-04Move error formatting to erl_error.erl and delete lib.erlRichard Carlsson
2018-05-04Add ct:get_progname/0Richard Carlsson
This replaces all uses of lib:progname/0 in tests.
2018-05-04Merge branch 'john/erts/fix-windows-symlinks/OTP-15062/ERL-615'John Högberg
* john/erts/fix-windows-symlinks/OTP-15062/ERL-615: Stop assuming that all NTFS reparse points are links
2018-05-03Stop assuming that all NTFS reparse points are linksJohn Högberg
This fixes a crash that would occur when using file:read_file_info/1 on a file with a non-link reparse point, which are commonly seen in RSS and OneDrive folders.
2018-05-03Merge branch 'maint'John Högberg
* maint: Updated OTP version Update release notes Update version numbers ssl: Prepare for release ssl: Proper handling of clients that choose to send an empty answer to a certificate request heart: Use ntohs instead of manual conversion
2018-05-02Update release notesErlang/OTP
2018-05-02Update version numbersErlang/OTP
2018-05-02Merge branch 'john/erts/fix-heart-command-overflow/OTP-15034/ERIERL-166' ↵Erlang/OTP
into maint-20 * john/erts/fix-heart-command-overflow/OTP-15034/ERIERL-166: heart: Use ntohs instead of manual conversion # Conflicts: # lib/kernel/test/heart_SUITE.erl
2018-05-02Revert "Update release notes"Henrik
This reverts commit 202bb737e3deabfebee683266f4b7c42781eb521.
2018-05-02Revert "Update version numbers"Henrik
This reverts commit 345f7f527a4c26ef49cef0d81e2c8b71bf01ebc3.
2018-04-30Update release notesErlang/OTP
2018-04-30Update version numbersErlang/OTP
2018-04-29Introduce is_map_key/2 guard BIFMichał Muskała
This complements the `map_get/2` guard BIF introduced in #1784. Rationale. `map_get/2` allows accessing map fields in guards, but it might be problematic in more complex guard expressions, for example: foo(X) when map_get(a, X) =:= 1 or is_list(X) -> ... The `is_list/1` part of the guard could never succeed since the `map_get/2` guard would fail the whole guard expression. In this situation, this could be solved by using `;` instead of `or` to separate the guards, but it is not possible in every case. To solve this situation, this PR proposes a `is_map_key/2` guard that allows to check if a map has key inside a guard before trying to access that key. When combined with `is_map/1` this allows to construct a purely boolean guard expression testing a value of a key in a map. Implementation. Given the use case motivating the introduction of this function, the PR contains compiler optimisations that produce optimial code for the following guard expression: foo(X) when is_map(X) and is_map_key(a, X) and map_get(a, X) =:= 1 -> ok; foo(_) -> error. Given all three tests share the failure label, the `is_map_key/2` and `is_map/2` tests are optimised away. As with `map_get/2` the `is_map_key/2` BIF is allowed in match specs.
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-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 '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-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-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-26erts: Fix memory leak in lock checker at thread exitSverker Eriksson
Leak introduced in 865ac3b740d9efa1a0583349929591c757300412.
2018-04-26Don't kill logger process until all other processes are deadSiri Hansen
2018-04-26Test cuddle for loggerSiri Hansen
2018-04-26Remove error_logger process and add logger processSiri Hansen
2018-04-26Merge branch 'rickard/process_info/OTP-14966'Rickard Green
* rickard/process_info/OTP-14966: Restore merge of signal queues in queue_messages() if main lock is held Fix message tracing
2018-04-25erts: Fix reduction bump for ets:delete/1Sverker Eriksson
2018-04-25Merge PR-1794 from sverker/hipe-remove-MAP_NORESERVE-needSverker Eriksson
Remove config test of MAP_NORESERVE for hipe on x86_64
2018-04-25Do not run tests that conflicts with dirty schedulers testRickard Green
2018-04-25Restore merge of signal queues in queue_messages() if main lock is heldRickard Green
2018-04-25Merge branch 'hasse/stdlib/map_guards_shell/OTP-15035/ERL-613'Hans Bolinder
* hasse/stdlib/map_guards_shell/OTP-15035/ERL-613: erts: Correct abstract format doc regarding map creation stdlib: Correct the linter's check of map guard expressions
2018-04-25Update preloaded modulesBjörn Gustavsson
2018-04-25Merge branch 'map-get-bif' of git://github.com/michalmuskala/otpBjörn Gustavsson
* 'map-get-bif' of git://github.com/michalmuskala/otp: Introduce map_get guard-safe function OTP-15037