aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-01-17Merge branch 'hasse/stdlib/fix_shell_evaluator' into maintHans Bolinder
* hasse/stdlib/fix_shell_evaluator: stdlib: Garbage the shell's evaluator process more often
2018-01-17Merge branch 'maint'Björn Gustavsson
* maint: asn1_SUITE: Fix failure in xref_export_all/1
2018-01-17asn1_SUITE: Fix failure in xref_export_all/1Björn Gustavsson
The variable 'S' was used twice. If the test case failed because there were unused functions in asn1_SUITE, there would be an ugly badmatch exception instead of the intended nice error message.
2018-01-17Merge branch 'maint'Lukas Larsson
2018-01-17Merge pull request #1686 from angelhof/documentation_broken_link_fixLukas Larsson
Fix a broken erlang:trace/3 link in doc
2018-01-17Fix a broken erlang:trace/3 link in docKonstantinos Kallas
2018-01-16hipe: Make option 'verify_gcsafe' the defaultSverker Eriksson
2018-01-16hipe: Mark primop 'bs_put_utf8' as gcsafeSverker Eriksson
which is has been since 3d21f793538927ae88f78504a11dd898e8ca1a7a
2018-01-16Introduce gen_statem vs gen_fsm benchmarkRaimo Niskanen
Conflicts: lib/stdlib/test/stdlib_bench_SUITE.erl
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 'sverker/build-proc-bin'Sverker Eriksson
2018-01-16sys_core_bsm: Rearrange arguments to enable delayed sub binary creationBjörn Gustavsson
Argument order can prevent the delayed sub binary creation. Here is an example directly from the Efficiency Guide: non_opt_eq([H|T1], <<H,T2/binary>>) -> non_opt_eq(T1, T2); non_opt_eq([_|_], <<_,_/binary>>) -> false; non_opt_eq([], <<>>) -> true. When compiling with the bin_opt_info option, there will be a suggestion to change the argument order. It turns out sys_core_bsm can itself change the order, not the order of the arguments of themselves, but the order in which the arguments are matched. Here is how it can be rewritten in pseudo Core Erlang code: non_opt_eq(Arg1, Arg2) -> case < Arg2,Arg1 > of < <<H1,T2/binary>>, [H2|T1] > when H1 =:= H2 -> non_opt_eq(T1, T2); < <<_,T2/binary>ffff>, [_|T1] > -> false; < <<>>, [] >> -> true end. When rewritten like this, the bs_start_match2 instruction will be the first instruction in the function and it will be possible to store the match context in the same register as the binary ({x,1} in this case) and to delay the creation of sub binaries. The switching of matching order also enables many other simplifications in sys_core_bsm, since there is no longer any need to pass the position of the pattern as an argument. We will update the Efficiency Guide in a separate branch before the release of OTP 21.
2018-01-16Remove test suite warningRaimo Niskanen
2018-01-16Merge branch 'ingela/ssl/remove-rsa-keyexchange-from-default/OTP-14769'Ingela Anderton Andin
* ingela/ssl/remove-rsa-keyexchange-from-default/OTP-14769: ssl: RSA key exchange is considered broken do not support by default
2018-01-16ssl: RSA key exchange is considered broken do not support by defaultIngela Anderton Andin
2018-01-16Merge branch 'hasse/stdlib/limit_gen_bench'Hans Bolinder
* hasse/stdlib/limit_gen_bench: stdlib: Spend less time in gen_server benchmarks
2018-01-16Merge branch 'maint'Hans Bolinder
* maint: stdlib: Handle Unicode when formatting stacktraces
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 'maint'Sverker Eriksson
2018-01-15Merge branch 'sverker/cuddle-big-bin-tests' into maintSverker Eriksson
2018-01-15Merge branch 'sverker/term_to_binary-spec/ERL-548/OTP-14876' into maintSverker Eriksson
2018-01-15Merge branch 'sverker/ic-test-cuddle' into maintSverker Eriksson
2018-01-15erts: Refactor and cleanup sys_double_to_chars_fastSverker Eriksson
Replace long long with Uint64
2018-01-15erts: Fix float_to_list(F, [{decimals,D}]).Sverker Eriksson
Example symptom: 1> float_to_list(0.145, [{decimals,1}]). "0.2" There were two problems in sys_double_to_chars_fast 1. Most serious was adding 0.55555555 / (10^D) instead of 0.5 / (10^D) which imposed a 5.5% risk of a faulty rounding up. 2. Using fixpoint for frac_part which lost significant bits if F < 0.5
2018-01-15erts: Fix buffer overflow bug in erts_printf %fSverker Eriksson
Sign character was not accounted for. Ex: float_to_list(-3.1265538967899625e+69, [{decimals,16}]).
2018-01-15Merge branch 'bjorn/compiler/cuddle-with-tests'Björn Gustavsson
* bjorn/compiler/cuddle-with-tests: beam_match_SUITE: Eliminate warnings for unused variables bs_match_SUITE: Add tests case written when walking into a dead end
2018-01-15Merge branch 'maint'Hans Bolinder
* maint: stdlib: Correct a filelib test case stdlib: Let filelib:find_source() search subdirs
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: Spend less time in gen_server benchmarksHans Bolinder
Limit the time used for the benchmarks introduced in b8f16f0.
2018-01-15Merge branch 'maint'Ingela Anderton Andin
* maint: ssl: Call clean version function
2018-01-15Merge branch 'ingela/ssl/test-cuddle' into maintIngela Anderton Andin
* ingela/ssl/test-cuddle: ssl: Call clean version function
2018-01-15ssl: Call clean version functionIngela Anderton Andin
Make sure tests are run with intended version settings.
2018-01-15stdlib: Handle Unicode when formatting stacktracesHans Bolinder
See also ERL-553 and ERL-544 (commit c3ddb0f).
2018-01-15Merge branch 'maint'John Högberg
2018-01-15Merge branch ↵John Högberg
'john/runtime_tools/reduce-sysinfo-to_file-memory-use/OTP-14816' into maint
2018-01-12Merge branch 'maint'Hans Nilsson
* maint: crypto: Disable RSA sslv23 padding for LibreSSL >= 2.6.1
2018-01-12Merge branch 'hans/crypto/no_rsa_pad_sym/ERL-546/OTP-14873' into maintHans Nilsson
* hans/crypto/no_rsa_pad_sym/ERL-546/OTP-14873: crypto: Disable RSA sslv23 padding for LibreSSL >= 2.6.1
2018-01-12Merge branch 'maint'Siri Hansen
Conflicts: lib/observer/src/crashdump_viewer.erl
2018-01-12crypto: Disable RSA sslv23 padding for LibreSSL >= 2.6.1Hans Nilsson
Not supported in newer LibreSSL.
2018-01-12dialyzer: Fix bsl/2 bugHans Bolinder
Also modified erl_bif_types:infinity_bsl() when called with zero as first argument. As of writing this, erlang:'bsl'/2 is modified on the master branch to never fail if called with a huge second argument.
2018-01-12beam_match_SUITE: Eliminate warnings for unused variablesBjörn Gustavsson
2018-01-12bs_match_SUITE: Add tests case written when walking into a dead endBjörn Gustavsson
Add some tests cases written when attempting some new optimizations that turned out to be unsafe.
2018-01-12Merge branch 'siri/cdv/many-links/OTP-14725' into maintSiri Hansen
* siri/cdv/many-links/OTP-14725: [observer] Improve performance for many links or monitors
2018-01-12Merge pull request #1645 from Zorbash/document-inet-iRaimo Niskanen
OTP:13713: Add documentation and typespecs for inet:i/0
2018-01-12Merge pull request #1680 from bjorng/bjorn/compiler/beam_blockBjörn Gustavsson
Run beam_block a second time
2018-01-12Merge pull request #1679 from bjorng/bjorn/compiler/sys_core_foldBjörn Gustavsson
Clean up and improve sys_core_fold optimizations
2018-01-12Merge pull request #1663 from bjorng/bjorn/compiler/refactor-annotationsBjörn Gustavsson
Refactor '%live' and '%def' annotations
2018-01-12Merge branch 'maint'Ingela Anderton Andin
2018-01-12Merge branch 'ingela/ssl/rc4-suites/OTP-14871' into maintIngela Anderton Andin
* ingela/ssl/rc4-suites/OTP-14871: ssl: Correct function for listing RC4 suites