aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib
AgeCommit message (Collapse)Author
2018-10-26erts: Join empty base nodes in catreeSverker Eriksson
The original implementation did not do this due to fear of bad performance. But we think the negative effect of "leaking" empty base nodes is more important to fix. To get the bad performance a special kind of access patterns is needed where base nodes are frequently emptied and then repopulated soon again. ets_SUITE:throughput_benchmark for example did not show any negative effect from this commit at all.
2018-10-24Fix docs on gen_event optional callbackBrujo Benavides
It returns `ok`, instead of `noreply`.
2018-10-24Merge branch 'maint'Björn Gustavsson
* maint: beam_lib: Remove obsolete module() from the beam() type hipe: Don't use beam_lib:info/1 with an atom as filename Honor the max heap size when copying literals after purging
2018-10-24Merge pull request #1992 from bjorng/bjorn/stdlib/beam_lib/ERL-696Björn Gustavsson
beam_lib: Clarify the beam() type in code and documentation OTP-15378
2018-10-23stdlib: Add runtime dependency to ertsSverker Eriksson
2018-10-23erts: Provoke random catree split/join for DEBUG emulatorSverker Eriksson
2018-10-23erts: Do contention adaptions during (updating) iterationsSverker Eriksson
Once an iteration key has been found, never fall back to first/last key in next/prev tree as trees may split or join under our feet. I.e we must always use previous key when searching for the next key.
2018-10-23stdlib: Optimize ets_SUITE:stimulate_contentionSverker Eriksson
with ets_force_split
2018-10-23erts: Implement ets:info(T, stats) for catreesSverker Eriksson
{RouteNodes, BaseNodes, MaxRouteTreeDepth}
2018-10-23stdlib: Remove doc note about multi key performance limitSverker Eriksson
2018-10-19beam_lib: Remove obsolete module() from the beam() typeBjörn Gustavsson
The type `beam()` in the `beam_lib` module is confusing: -type beam() :: module() | file:filename() | binary(). It says that the module name can be used to identify the BEAM module to be accessed, but passing in the module name only works if the BEAM file is located in the current working directory because the module is not searched for in the code path. The reason that it is allowed to pass in the module name as an atom is for backward compatibility. A long time ago, atoms instead of strings were used as filenames. For that reason, `filename` and `file` still accept atoms as filenames (although the practice is frown upon). `beam_lib` accepts an atom as the filename for the same reason. To remove the confusion, remove `module()` from the type and the mention of it in the documentation. Code that uses an atom as a filename will still work, but Dialyzer will issue a warning. https://bugs.erlang.org/browse/ERL-696
2018-10-19Merge branch 'maint'Siri Hansen
2018-10-19Merge branch 'siri/cuddle' into maintSiri Hansen
* siri/cuddle: Fix gen_fsm_SUITE:start2/1 to terminate process synchronously Fix sys_SUITE:special_process/1 to terminating process synchronously
2018-10-17Merge branch 'maint'Sverker Eriksson
2018-10-17kernel: Fix spelling error in assert.hrlLukas Larsson
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-16Fix gen_fsm_SUITE:start2/1 to terminate process synchronouslySiri Hansen
2018-10-16Fix sys_SUITE:special_process/1 to terminating process synchronouslySiri Hansen
2018-10-11Merge branch 'dgud/stdlib/unicode-11/OTP-15111'Dan Gudmundsson
* dgud/stdlib/unicode-11/OTP-15111: Update to Unicode-11
2018-10-11Merge pull request #1969 from RaimoNiskanen/raimo/stdlib/rand-xorshift116ssRaimo Niskanen
OTP-14731 Implement 'exsss' (Xorshift116**) as new default 'rand' algorithm The new algorithm is a combination of the Xorshift116 ('exsp') state update and a new scrambler "StarStar" from the 2018 paper "Scrambled Linear Pseudorandom Number Generators" by David Blackman and Sebastiano Vigna. This combination should not have the caveat of weak low bits that the previous default algorithm(s) have had, with the cost of about 10% lower speed.
2018-10-09Merge branch 'maint'Sverker Eriksson
# Conflicts: # erts/emulator/beam/erl_db_tree.c
2018-10-09Merge branch 'sverker/erts/ets-select_replace-bug/OTP-15346' into maintSverker Eriksson
* 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-10-08Merge branch 'maint'John Högberg
* maint: compiler: Forward +source flag to epp and fix bug in +deterministic epp: Allow user to set source name independently of input file name
2018-10-08Merge branch 'john/compiler/deterministic-paths/OTP-15245/ERL-706' into maintJohn Högberg
* john/compiler/deterministic-paths/OTP-15245/ERL-706: compiler: Forward +source flag to epp and fix bug in +deterministic epp: Allow user to set source name independently of input file name
2018-10-05epp: Allow user to set source name independently of input file nameJohn Högberg
Note that this does *not* affect -include()'d files or the -file() directive.
2018-10-05Suppress Dialyzer improper list warningsRaimo Niskanen
2018-10-05Update test suite and documentationRaimo Niskanen
2018-10-05Implement exsss (Xorshift116**)Raimo Niskanen
2018-10-04Merge branch 'maint'Sverker Eriksson
2018-10-04Merge PR-1962 from gomoripeti/ms_bit_size OTP-15343Sverker Eriksson
Document bit_size in match-specs and allow in fun2ms
2018-10-03Merge branch 'sverker/ets-test-cuddle'Sverker Eriksson
* sverker/ets-test-cuddle: ets_SUITE: Remove more redundant option combos ets_SUITE: Try avoid redundant option combos ets_SUITE: Reduce table type combos by removing "void" ets_SUITE: Optimize throughput_benchmark
2018-10-03Merge branch 'maint'Raimo Niskanen
2018-10-03Merge branch 'raimo/test-cuddling' into maintRaimo Niskanen
* raimo/test-cuddling: Decrease probability for failed histogram
2018-10-01Merge branch 'maint'Siri Hansen
2018-09-28Update to Unicode-11Dan Gudmundsson
Update input files for the code-generator and tests. Added emoji-data.txt for new rule with how to handle emoji. Unicode have simpliefied the rules for emoji grapheme-clusters: From: GB10 (E_Base | EBG) Extend* × E_Modifier GB11 ZWJ × (Glue_After_Zwj | EBG) To: GB11 \p{Extended_Pictographic} Extend* ZWJ × \p{Extended_Pictographic} Update the code generator to handle the new way.
2018-09-28ets_SUITE: Remove more redundant option combosSverker Eriksson
meta_wb smp_insert smp_fixed_delete smp_select_delete
2018-09-28Decrease probability for failed histogramRaimo Niskanen
2018-09-27os_mon: Remove the os_mon MIBS supportLukas Larsson
The otp_mibs application is to be removed so we also remove the os_mon usage of that application.
2018-09-27Update kernel, stdlib and sasl appups for OTP-21.2Siri Hansen
2018-09-25Document bit_size in match-specs and allow in fun2msPéter Gömöri
It is already allowed in match-specs.
2018-09-25Merge branch 'maint'Henrik Nord
2018-09-24ets_SUITE: Try avoid redundant option combosSverker Eriksson
to reduce test times
2018-09-24ets_SUITE: Reduce table type combos by removing "void"Sverker Eriksson
Avoid repeating same tests for [] and [set]. Test case 'default' verifies 'set' to be the default type.
2018-09-24Prepare releaseErlang/OTP
2018-09-21ets_SUITE: Optimize throughput_benchmarkSverker Eriksson
by populating the table with the help of a random number generator creating series of unique integers.
2018-09-21Merge PR-1952 from kjellwinblad/ca_tree_pull_requestSverker Eriksson
Add a more scalable ETS ordered_set implementation
2018-09-21Merge branch 'maint'Henrik Nord
2018-09-21Update copyright yearHenrik Nord
2018-09-19Merge branch 'raimo/stdlib/gen_statem-cleanup'Raimo Niskanen
OTP-14737 * raimo/stdlib/gen_statem-cleanup: Improve user's guide on time-outs Clean up and optimize code and doc