Age | Commit message (Collapse) | Author |
|
* raimo/stdlib/optimize-gen_statem:
Optimize plain call response time
Correct typo in design principles for gen_statem
|
|
* ingela/ssl/record-version-check/OTP-14892:
ssl: Add record version sanity check
|
|
|
|
Fix rounding bug in float_to_list/2
|
|
* hasse/kernel-stdlib/fix_contracts/OTP-14889:
kernel: Correct contracts and a bug in group_history
stdlib: Correct contracts
dialyzer: Optimize handling of a lot of warnings
|
|
|
|
|
|
|
|
If the number of warnings is huge the '--'/2 operator is slow.
|
|
ErLLVM: Preserve precise BEAM tailcall semantics
OTP-14886
|
|
* dgud/observer/opt-tv-tab/OTP-14856:
observer: Fix change accum
Remove double calls
observer: Don't crash for late messages
observer: Optimize tv tab for many tables
|
|
The BEAM compiler chooses not to perform tailcall optimisations for some
calls in tail position, for example to some built-in functions. However,
when the ErLLVM HiPE backend is used, LLVM may choose to perform
tailcall optimisation on these calls, breaking the expected semantics.
To preserve the precise semantics exhibited by BEAM, the 'notail'
marker, present in LLVM since version 3.8, is added to call instructions
that BEAM has not turned into tail calls, which inhibits LLVM from
performing tail-call optimisation in turn.
|
|
* hasse/dialyzer/fix_bsl:
dialyzer: Fix bsl/2 bug
|
|
particularly slow erlc when compiler is hipe compiled.
hipe_unified_loader:load did not patch external call sites
and instead caused a double hipe mode switch per call.
hipe_unified_loader:load is only used
for early modules first loaded as beam
and by code:atomic_load and friends.
|
|
* fhunleth/binary_to_integer_chec/PR-1671/OTP-14879:
Fail if ':' is passed to binary_to_integer/2
|
|
* hasse/stdlib/fix_shell_evaluator:
stdlib: Garbage the shell's evaluator process more often
|
|
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.
|
|
Fix a broken erlang:trace/3 link in doc
|
|
|
|
|
|
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.
|
|
* hasse/stdlib/unicode_stacktrace/OTP-14847/ERL-553:
stdlib: Handle Unicode when formatting stacktraces
|
|
|
|
|
|
|
|
Replace long long with Uint64
|
|
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
|
|
Sign character was not accounted for.
Ex:
float_to_list(-3.1265538967899625e+69, [{decimals,16}]).
|
|
* hasse/stdlib/find_src/OTP-14832/ERL-527:
stdlib: Correct a filelib test case
stdlib: Let filelib:find_source() search subdirs
|
|
* ingela/ssl/test-cuddle:
ssl: Call clean version function
|
|
Make sure tests are run with intended version settings.
|
|
See also ERL-553 and ERL-544 (commit c3ddb0f).
|
|
'john/runtime_tools/reduce-sysinfo-to_file-memory-use/OTP-14816' into maint
|
|
* hans/crypto/no_rsa_pad_sym/ERL-546/OTP-14873:
crypto: Disable RSA sslv23 padding for LibreSSL >= 2.6.1
|
|
Not supported in newer LibreSSL.
|
|
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.
|
|
* siri/cdv/many-links/OTP-14725:
[observer] Improve performance for many links or monitors
|
|
* ingela/ssl/rc4-suites/OTP-14871:
ssl: Correct function for listing RC4 suites
|
|
* rickard/file-encoding-stacktraces/OTP-14847/ERL-544:
Fix encoding of filenames in stacktraces
|
|
|
|
* rickard/libs-libz/ERL-529/OTP-14840:
Do not add -lz to LIBS; keep it in Z_LIB
|
|
Wrong data types was stored in the accum list.
|
|
|
|
|
|
Make it a virtual table, the only table which was not a virtual table.
Updating 10000 rows with many columns and alternating colors takes too
long time to be a viable solution.
|
|
|
|
* ingela/ssl/timeout-cuddle:
ssl: Tune timeouts
|
|
|
|
The previous implementation generated a term, converted it to plain
text with io_lib:format/2, and then converted that to a binary
before writing it to disk.
We now emit the term as we go, which should make it a bit safer to
extract this information under load.
|
|
When a process has many links and/or monitors, it could earlier take
very long time to display the process information window. This is now
improved by only showing a few links and monitors, and then an link
named "more..." to expand the rest.
Reading of the "Link list" from a crashdump is also improved.
|