aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib
AgeCommit message (Collapse)Author
2019-04-16Merge branch 'sverker/ets-no-mbuf-trapping/OTP-15660' into maint-20Erlang/OTP
* sverker/ets-no-mbuf-trapping/OTP-15660: erts: Remove ets traversal yielding if heap fragment
2019-03-07erts: Remove ets traversal yielding if heap fragmentSverker Eriksson
Many heap fragments do no longer make the GC slow. Even worse, we are not guaranteed that a yield will provoke a GC removing the fragments, which might lead to a one-yield-per-bucket scenario if the heap fragment(s) still remains after each yield.
2018-11-05Prepare releaseErlang/OTP
2018-11-05Merge branch 'john/erts/OTP-20.3.8/minusminus_trapping/OTP-15371' into maint-20Erlang/OTP
* john/erts/OTP-20.3.8/minusminus_trapping/OTP-15371: Optimize operator '--' and yield on large inputs
2018-11-02Optimize 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-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-09erts: Fix bug in ets:select_replace for bound keySverker Eriksson
which may cause following calls to ets:next or ets:prev to fail.
2018-03-21Update release notesErlang/OTP
2018-03-21Update version numbersErlang/OTP
2018-03-17Test event insert from initRaimo Niskanen
2018-03-15Fix init to allow all actionsRaimo Niskanen
2018-03-09Update release notesErlang/OTP
2018-03-09Update version numbersErlang/OTP
2018-03-02Merge branch 'lukas/kernel/fix_os_cmd_max_size_win32/OTP-14940' into maintLukas Larsson
* lukas/kernel/fix_os_cmd_max_size_win32/OTP-14940: stdlib: Fix doc link in timer kernel: Fix handling of os:cmd option max_size in win
2018-03-01ERL-558 Add the missing function clause for string:prefix (#1702)Seyed Mirsadeghi
OTP-14942
2018-03-01stdlib: Fix doc link in timerLukas Larsson
2018-02-27Make re_SUITE:sub_binaries less unstableJohn Högberg
The small sub-binary conversion trick in the GC broke this test pretty often on some machines.
2018-02-21stdlib: Correct a minor epp bugHans Bolinder
The bug was introduced in 87a0af4 (R18).
2018-02-19stdlib: Correct documentation typoMartin Hässler
2018-02-13Merge branch 'maint-20' into maintSverker Eriksson
* maint-20: Updated OTP version Update release notes Update version numbers erts: Add system_flags(erts_alloc,"+M?sbct *") erts: Add age order first fit allocator strategies erts: Refactor erl_ao_firstfit_alloc erts: Add migration options "acnl" and "acfml" kernel: Add os:cmd/2 with max_size option erts: Add more stats for mbcs_pool erts: Fix alloc_SUITE:migration stdlib: Make ets_SUITE memory check try again erts: Improve carrier pool search erts: Improve alloc_SUITE:migration erts: Refactor carrier dealloc migration
2018-02-12Merge 'sverker/maint-19/alloc-n-migration/ERIERL-88'Sverker Eriksson
into 'sverker/maint-20/alloc-n-migration/ERIERL-88' OTP-14915 OTP-14916 OTP-14917 OTP-14918
2018-01-29Merge branch 'sverker/ets-match_spec_run-spec/OTP-14889' into maintSverker Eriksson
2018-01-24Merge branch 'raimo/stdlib/optimize-gen_statem' into maintRaimo Niskanen
* raimo/stdlib/optimize-gen_statem: Optimize plain call response time Correct typo in design principles for gen_statem
2018-01-23stdlib: Indent example codeSverker Eriksson
2018-01-23stdlib: Fix spec for match_spec_run/2Sverker Eriksson
Matching can be done on any terms.
2018-01-22stdlib: Correct contractsHans Bolinder
2018-01-16Optimize plain call response timeRaimo Niskanen
2018-01-16stdlib: Garbage the shell's evaluator process more oftenHans Bolinder
A minor fix. If the Erlang shell saves no results (history(0) or results(0)), the evaluator process now garbage collects itself. This means that any huge binaries created by the evaluation are reclaimed faster than before.
2018-01-16Merge branch 'hasse/stdlib/unicode_stacktrace/OTP-14847/ERL-553' into maintHans Bolinder
* hasse/stdlib/unicode_stacktrace/OTP-14847/ERL-553: stdlib: Handle Unicode when formatting stacktraces
2018-01-15Merge branch 'hasse/stdlib/find_src/OTP-14832/ERL-527' into maintHans Bolinder
* hasse/stdlib/find_src/OTP-14832/ERL-527: stdlib: Correct a filelib test case stdlib: Let filelib:find_source() search subdirs
2018-01-15stdlib: Handle Unicode when formatting stacktracesHans Bolinder
See also ERL-553 and ERL-544 (commit c3ddb0f).
2018-01-09Fix false Dialyzer warnings for erl_tar:table/1Guilherme Andrade
'tar_entry()' values are only returned if we specify the 'verbose' option when calling table/2, which table/1 doesn't do. Now, it appears that Dialyzer as of OTP 20 is clever enough to realize that the return type of table/1 must intersect with the return type of table/2, and so it ignores the fact that table/1 says it returns strings, and therefore its callers are expected to be dealing with 'tar_entry()' tuples, and never with strings. This is obviously a mismatch between what the code does and what the spec says is does, leading to false Dialyzer warnings on code that uses table/1 (and, presumably, also table/2 when called without the 'verbose' option.)
2018-01-05stdlib: Correct a filelib test caseHans Bolinder
2018-01-05stdlib: Let filelib:find_source() search subdirsHans Bolinder
The Design Principles states that an application can have Erlang source files one level below the "src" directory, and now filelib:find_source() by default searches one level below "src". The same applies to "esrc". That directory is only mentioned in filename(3).
2017-12-20stdlib: Make ets_SUITE memory check try againSverker Eriksson
as memory stats do not guarantee consistency. A typical ETS test case ends by a lot of deallocating that may now trigger homecoming carrier migration, that in turn can cause quite large inconsistencies in memory stats when same carrier is accounted for twice or not at all. And that's my theory why I now sometimes see transient discrepancies between before and after memory stats.
2017-12-14Merge pull request #1650 from jabarszcz/doc_digraph_errorHans Bolinder
digraph: Document a bad_edge error
2017-12-08Update release notesErlang/OTP
2017-12-08Update version numbersErlang/OTP
2017-12-06digraph: Document a bad_edge errorJean-Alexandre Barszcz
2017-11-30Clarification in doc of unicode:characters_to_list/2Rickard Green
2017-11-29Avoid falling measurements testcases on slow machinesDan Gudmundsson
2017-11-29stdlib: string optimize special case for ASCIIDan Gudmundsson
Avoid unicode_util module call for ASCII strings
2017-11-29stdlib: Minor unicode_util optsDan Gudmundsson
Exit early for Latin-1
2017-11-20Merge branch 'lukas/docs/xmllint_fixes/OTP-14721' into maintLukas Larsson
* lukas/docs/xmllint_fixes/OTP-14721: ssl/ssh: Remove/ignore unused XML_FILES doc files Refactor xmllint check and make it fail on failure Add toplevel xmllint make target Conflicts: lib/crypto/doc/src/Makefile
2017-10-31Refactor xmllint check and make it fail on failureLukas Larsson
This commit also adds a check to see that all files that are part of an xi:include also have part of XML_FILES and vice versa. It also fixes any applications where this was not true.
2017-10-30stdlib: Fix a minor issue with the qlc suiteHans Bolinder
When comparing the process dictionary before and after a test, only (a sorted list of) qlc keys are compared.
2017-10-23fix win32 share filename join/split (#1604)Bikram Chatterjee
Handle UNC (shared) path on win32, previously "//dir/.." and "\\\\dir\.." was cleaned up to "/dir/.." which was not correct. OTP-14693
2017-10-17Merge branch 'hasse/stdlib/fix_ets_i_1/OTP-14663' into maintHans Bolinder
* hasse/stdlib/fix_ets_i_1/OTP-14663: stdlib: Make ets:i/1 exit cleaner upon ^D (old Erlang shell)
2017-10-12Revert "Merge branch 'rickard/null-char-filenames/ERL-370/OTP-14543' into maint"Rickard Green
This reverts commit 0717a2194e863f3a78595184ccc5637697f03353, reversing changes made to 71a40658a0cef8b3e25df3a8e48a72d0563a89bf.
2017-10-10Merge branch 'lars/doc-cleanup/OTP-14475' into maintLars Thorsen
* lars/doc-cleanup/OTP-14475: [edoc] Remove unused module otpsgml_layout.erl Remove unused files from the documentation build