aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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-06Implement a tab for persistent terms in crashdump viewerBjörn Gustavsson
Co-authored-by: Siri Hansen <[email protected]>
2018-11-06Add tests of persistent terms for crashdump_viewerBjörn Gustavsson
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.)
2018-11-06Merge branch 'maint'Ingela Anderton Andin
2018-11-06Merge branch ↵Ingela Anderton Andin
'ingela/ssl/controlling-process-allowed-on-transport-accept-socket' into maint * ingela/ssl/controlling-process-allowed-on-transport-accept-socket: ssl: controlling_process should be allowed on transpor_accept sockets along with handshake
2018-11-05ssl: controlling_process should be allowed on transpor_accept sockets alongIngela Anderton Andin
with handshake Fix of commit 68d9244ae33e5eea36250c3bb9ffe046a4db5647
2018-11-05Merge branch 'maint'Ingela Anderton Andin
2018-11-05Merge branch 'ingela/ssl/signature-check/ERL-763/OTP-15415' into maintIngela Anderton Andin
* ingela/ssl/signature-check/ERL-763/OTP-15415: ssl: Correct filter function
2018-11-02ssl: Correct filter functionIngela Anderton Andin
2018-11-02Merge branch 'maint'Ingela Anderton Andin
2018-11-02Merge branch 'ingela/ssl/deliver-all-data-at-close/ERL-731/OTP-15412' into maintIngela Anderton Andin
* ingela/ssl/deliver-all-data-at-close/ERL-731/OTP-15412: ssl: Extend check for undelivered data at closing
2018-11-02ssl: Extend check for undelivered data at closingIngela Anderton Andin
This is a timing related bug that alas is hard to test
2018-11-02Merge branch 'maint'Ingela Anderton Andin
2018-11-02Merge branch 'ingela/ssl/bench_SUITE-clean-start' into maintIngela Anderton Andin
* ingela/ssl/bench_SUITE-clean-start: ssl: Make sure benchmark SUITE has a clean start
2018-11-02ssl: Make sure benchmark SUITE has a clean startIngela Anderton Andin
2018-11-02Merge branch 'maint'Björn Gustavsson
* maint: Fix bug when beam_jump removes put_tuple instructions Conflicts: lib/compiler/src/beam_jump.erl lib/compiler/test/beam_jump_SUITE.erl
2018-11-02Merge pull request #2003 from peterdmv/ssl/tls1.3-statem-skeleton/OTP-15310Péter Dimitrov
Implement TLS 1.3 state machine skeleton
2018-11-02Merge branch 'bjorn/compiler/fix-beam_jump/ERL-759/OTP-15400' into maintBjörn Gustavsson
* bjorn/compiler/fix-beam_jump/ERL-759/OTP-15400: Fix bug when beam_jump removes put_tuple instructions
2018-11-02Merge pull request #2011 from bjorng/bjorn/compiler/beam_exceptBjörn Gustavsson
beam_except: Generalize translation to func_info instructions
2018-11-02Merge branch 'maint'John Högberg
* maint: Optimize operator '--' and yield on large inputs Inline erts_cmp Clarify a magical allocation size Fix trapping in lists:reverse/2
2018-11-02Merge branch 'john/erts/minusminus_trapping/OTP-15371' into maintJohn Högberg
* john/erts/minusminus_trapping/OTP-15371: Optimize operator '--' and yield on large inputs Inline erts_cmp Clarify a magical allocation size Fix trapping in lists:reverse/2
2018-11-02Merge branch 'maint'Ingela Anderton Andin
2018-11-02Merge branch 'ingela/ssl/transport-accept-socket/ERL-756/OTP-15384' into maintIngela Anderton Andin
* ingela/ssl/transport-accept-socket/ERL-756/OTP-15384: ssl: Return error to user that tries to use a "transport accepted" socket for other purposes than handshaking
2018-11-01Merge branch 'sverker/enif-cancel-select/OTP-15095'Sverker Eriksson
* sverker/enif-cancel-select/OTP-15095: erts: Bump erl_nif minor version and ERL_NIF_MIN_ERTS_VERSION
2018-11-01erts: Bump erl_nif minor version and ERL_NIF_MIN_ERTS_VERSIONSverker Eriksson
with ticket syntax.
2018-11-01ssl: Fix failing property testsPéter Dimitrov
- Updated message generators: ClientHello, ServerHello and EncryptedExtensions - Fixed encoding of the extensions 'signature_algorithms' and 'signature_algorithms_cert' - Updated empty extension definitions Change-Id: I9415e2d022744b9ed4667d20aee2553637ed49f8
2018-11-01ssl: Return error to user that tries to use a "transport accepted" socket forIngela Anderton Andin
other purposes than handshaking
2018-11-01Merge branch 'bmk/20180927/remove_otp_mibs2/OTP-14984'Micael Karlberg
2018-11-01Merge branch 'bjorn/compiler/diffable'Björn Gustavsson
* bjorn/compiler/diffable: scripts/diffable: Correct the number of modules being compiled scripts/diffable: Use the diffable compiler option Add a diffable option for the compiler scripts/diffable: Refactor option parsing
2018-11-01Merge branch 'maint'Ingela Anderton Andin
2018-11-01Merge pull request #1990 from max-au/ssl_pem_cache_timezone_fixIngela Andin
ssl: fix timezone-related bug in ssl_pem_cache OTP-15402
2018-11-01Merge branch 'maint'Hans Nilsson
* maint: ssh: Add local .gitignore in lib/ssh/test
2018-11-01Merge branch 'hans/ssh/gitignore' into maintHans Nilsson
* hans/ssh/gitignore: ssh: Add local .gitignore in lib/ssh/test
2018-11-01ssh: Add local .gitignore in lib/ssh/testHans Nilsson
2018-11-01Merge branch 'maint'Rickard Green
* maint: Updated OTP version Prepare release
2018-11-01Merge branch 'maint-20' into maintRickard Green
* maint-20: Updated OTP version Prepare release
2018-11-01Merge branch 'maint'Rickard Green
* maint: Fix erts_internal_ref_number_cmp()
2018-11-01Merge branch 'rickard/internal_ref_cmp/OTP-15399/ERL-751' into maintRickard Green
* rickard/internal_ref_cmp/OTP-15399/ERL-751: Fix erts_internal_ref_number_cmp()
2018-10-31Updated OTP versionOTP-20.3.8.11Erlang/OTP
2018-10-31Prepare releaseErlang/OTP
2018-10-31Merge branch 'rickard/internal_ref_cmp/OTP-15399/ERL-751' into maint-20Erlang/OTP
* rickard/internal_ref_cmp/OTP-15399/ERL-751: Fix erts_internal_ref_number_cmp()
2018-10-31Merge PR-1997 from sverker/erts/ordered_set-select-improvements/OTP-15325Sverker Eriksson
Even more scalable ETS ordered_set with write_concurrency
2018-10-31Fix erts_internal_ref_number_cmp()Rickard Green
2018-10-31Fix bug when beam_jump removes put_tuple instructionsBjörn Gustavsson
`beam_jump` could remove a `put_tuple` instruction when the tuple would not be used, but it would leave the following `put` instructions. Make sure they are removed. https://bugs.erlang.org/browse/ERL-759
2018-10-30stdlib: Add ets_SUITE:smp_ordered_iterationSverker Eriksson
to provoke iteration over a moving ordered_set with write_concurrency and make sure we hit all "stable" keys.
2018-10-30stdlib: Improve stim_cat_ord_set in ets_SUITESverker Eriksson
to generate a routing tree with keys that fit each test case.
2018-10-30Merge branch 'maint'Hans Nilsson
* maint: fix extra parameter in <type> Update profiling.xml Fix docs on gen_event optional callback
2018-10-30Merge pull request #1984 from mgrachev/fix-typosHenrik Nord
Fix typos