aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2018-11-26Use ssh as the default remote shellRichard Carlsson
2018-11-26Merge branch 'maint'Björn Gustavsson
* maint: persistent_term.xml: Fix spelling
2018-11-26persistent_term.xml: Fix spellingBjörn Gustavsson
2018-11-23Merge branch 'maint'John Högberg
* maint: Updated OTP version Prepare release
2018-11-23Merge branch 'maint-21' into maintJohn Högberg
* maint-21: Updated OTP version Prepare release
2018-11-23Prepare releaseErlang/OTP
2018-11-23Merge branch 'john/erts/spectre-configure-flag-otp_20/OTP-15430/ERIERL-237' ↵Erlang/OTP
into maint-21 * john/erts/spectre-configure-flag-otp_20/OTP-15430/ERIERL-237: Allow disabling retpoline in interpreter loop Add a ./configure flag for spectre mitigation
2018-11-23Merge branch 'maint'John Högberg
* maint: Allow disabling retpoline in interpreter loop Add a ./configure flag for spectre mitigation
2018-11-23Merge branch 'john/erts/spectre-configure-flag-otp_20/OTP-15430/ERIERL-237' ↵John Högberg
into maint * john/erts/spectre-configure-flag-otp_20/OTP-15430/ERIERL-237: Allow disabling retpoline in interpreter loop Add a ./configure flag for spectre mitigation
2018-11-22Merge branch 'maint'Sverker Eriksson
2018-11-22Merge branch 'sverker/erts/atomics-counters/OTP-13468' into maintSverker Eriksson
AGAIN * sverker/erts/atomics-counters/OTP-13468: erts: Add counters:put/3
2018-11-21erts: Clarify erl_nif docs about callback environmentsSverker Eriksson
2018-11-21erts: Add counters:put/3Sverker Eriksson
2018-11-20Merge branch 'john/erts/spectre-configure-flag/OTP-15430/ERIERL-237' into ↵John Högberg
john/erts/spectre-configure-flag-otp_20/OTP-15430/ERIERL-237 * john/erts/spectre-configure-flag/OTP-15430/ERIERL-237: Allow disabling retpoline in interpreter loop Add a ./configure flag for spectre mitigation
2018-11-20Allow disabling retpoline in interpreter loopJohn Högberg
We only do this when the user has explicitly told us it's okay to partially disable mitigation (spectre-mitigation=incomplete). The macro is inert if it isn't.
2018-11-20Add a ./configure flag for spectre mitigationJohn Högberg
Note that the ERTS_NO_RETPOLINE macro introduced by this commit is completely inert unless spectre-mitigation is set to 'incomplete.' This includes when mitigation has been manually enabled through CFLAGS, so it should be impossible for it to unintentionally disable mitigation.
2018-11-20Merge branch 'sverker/ets-ordered-set-fixups'Sverker Eriksson
2018-11-16erts: Fix offheap leak of ets catree tmp iteration keySverker Eriksson
Also fix erts_debug:get_internal_status(node_and_dist_references) for catree to also search route node keys for offheap stuff.
2018-11-16erts: Refactor out erts_test_utils from node_container_SUITESverker Eriksson
to be usable by other application tests.
2018-11-16erts: Refactor erl_db_catree.cSverker Eriksson
with some code moving and removed obsolete comments.
2018-11-16Merge branch 'john/erts/plusplus-trapping/OTP-15427'John Högberg
* john/erts/plusplus-trapping/OTP-15427: Don't use too many reductions in lists:reverse/2 Make '++'/2 trapping
2018-11-16Merge branch 'maint'John Högberg
* maint: Updated OTP version Prepare release
2018-11-16Merge branch 'maint-21' into maintJohn Högberg
* maint-21: Updated OTP version Prepare release
2018-11-16Merge branch 'maint'John Högberg
* maint: Fix broken assertion on monitor release Avoid closing files in gc/monitor callbacks
2018-11-16Merge branch 'john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261' into maintJohn Högberg
* john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261: Fix broken assertion on monitor release Avoid closing files in gc/monitor callbacks
2018-11-15Merge branch 'sverker/erts/ethr-dw-atomic-typo'Sverker Eriksson
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-15Prepare releaseErlang/OTP
2018-11-14Merge pull request #2017 from matwey/epmd-helpJohn Högberg
epmd: Move -systemd position in -help output
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-13Fix broken assertion on monitor releaseJohn Högberg
We sometimes bump the refc without messing with the table, which means that we sometimes decrement it while in the table, causing the old assertion to fail. The property we want to check is that neither end of the monitor is present in the table when the monitor is deleted.
2018-11-13Avoid closing files in gc/monitor callbacksJohn Högberg
Closing files in these callbacks could block scheduler progress and cause major system instability. We now defer these operations to a dedicated process instead. This process may in turn block forever and prevent further orphaned files from being closed, but it will keep the emulator itself from misbehaving.
2018-11-12erts: Fix benign typo in ethr_dw_atomic.h filesSverker Eriksson
2018-11-09epmd: Move -systemd position in -help outputMatwey V. Kornilov
-systemd option help is currently shown in "Interactive options" section. The option is not interactive one. Fixes: b7c95eabf601 ("Add systemd socket activation for epmd") Signed-off-by: Matwey V. Kornilov <[email protected]>
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-09Don't use too many reductions in lists:reverse/2John Högberg
2018-11-09Make '++'/2 trappingJohn Högberg
2018-11-09Merge branch 'maint'John Högberg
* maint: Remove --/2 from dirty BIF tests
2018-11-09Remove --/2 from dirty BIF testsJohn Högberg
Now that it traps, --/2 would hang forever when building under --enable-dirty-schedulers-test.
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-06Merge branch 'maint'Björn Gustavsson
* maint: Implement a tab for persistent terms in crashdump viewer Add tests of persistent terms for crashdump_viewer Add a persistent term storage Refactor releasing of literals Extend the sharing-preserving routines to optionally copy literals Conflicts: erts/emulator/Makefile.in erts/emulator/beam/erl_process_dump.c erts/preloaded/ebin/erts_internal.beam erts/preloaded/ebin/init.beam lib/sasl/src/systools_make.erl
2018-11-06Merge branch 'bjorn/erts/persistent_terms/OTP-14669' into maintBjörn Gustavsson
* bjorn/erts/persistent_terms/OTP-14669: Implement a tab for persistent terms in crashdump viewer Add tests of persistent terms for crashdump_viewer Add a persistent term storage Refactor releasing of literals Extend the sharing-preserving routines to optionally copy literals
2018-11-06Add a persistent term storageBjörn Gustavsson
Persistent terms are useful for storing Erlang terms that are never or infrequently updated. They have the following advantages: * Constant time access. A persistent term is not copied when it is looked up. The constant factor is lower than for ETS, and no locks are taken when looking up a term. * Persistent terms are not copied in garbage collections. * There is only ever one copy of a persistent term (until it is deleted). That makes them useful for storing configuration data that needs to be easily accessible by all processes. Persistent terms have the following drawbacks: * Updates are expensive. The hash table holding the keys for the persistent terms are updated whenever a persistent term is added, updated or deleted. * Updating or deleting a persistent term triggers a "global GC", which will schedule a heap scan of all processes to search the heap of all processes for the deleted term. If a process still holds a reference to the deleted term, the process will be garbage collected and the term copied to the heap of the process. This global GC can make the system less responsive for some time. Three BIFs (implemented in C in the emulator) is the entire interface to the persistent term functionality: * put(Key, Value) to store a persistent term. * get(Key) to look up a persistent term. * erase(Key) to delete a persistent term. There are also two additional BIFs to obtain information about persistent terms: * info() to return a map with information about persistent terms. * get() to return a list of a {Key,Value} tuples for all persistent terms. (The values are not copied.)