Age | Commit message (Collapse) | Author |
|
Using erlang:system_info(schedulers_online) for determining
parallelism is recommended by OTP experts. It takes care of "+S 4:1"
and simultaneous loading of HiPE code.
|
|
Memory consumption is reduced during the compilation phase by keeping
the Core parse tree shared. In particular the file annotation takes a
lot of memory when not shared.
|
|
The condensed graph of SCCs occupies less ETS memory. A table
translating to and from SCC to a unique integer is introduced.
|
|
By not using ETS when calculating the condensation of graphs, peak
heap memory consumption is reduced.
|
|
The mini PLT is extended to hold all data of the full PLT, and the
full PLT is restored when needed (for storing the PLT on file).
|
|
* maint:
dialyzer: Fix check of parameterized opaque types
Conflicts:
lib/hipe/cerl/erl_types.erl
|
|
* hasse/dialyzer/fix_opaque_parms/OTP-14130:
dialyzer: Fix check of parameterized opaque types
|
|
The signatures of erl_parse:anno_to_term/1 and
erl_parse:anno_from_term/1 are corrected. Using these function no
longer results in false Dialyzer warnings.
|
|
Code with huge literal case expressions such as the following would
compile very slowly:
case "Very long literal string (thousands of characters)..." of
.
.
.
end.
The reason is that in the case optimization each character in the
string would be handled individually. Fix this bug by handling
literals all at once.
|
|
|
|
* maint:
stdlib: Allow characters in types and constant patterns
|
|
* hasse/stdlib/char_as_integer/ERL-313/OTP-14103:
stdlib: Allow characters in types and constant patterns
|
|
Two parameters used to be "compatible" if one is a specialization of
the other, in the way that the input type of t_limit() is a
specialization of the output type. This check is now relaxed: any() in
any of the two parameters is compatible with any type of the other
parameter.
The change is due to bugus warnings.
A clause for maps has been added.
|
|
Support RSA key generation using generate_key(rsa, {bits, e}). This depends
on the currently-experimental "dirty scheduler" support because key
generation is a potentially lengthy process.
|
|
* egil/stdlib/gen_event-start-2/OTP-14123:
stdlib: Document gen_event start options
stdlib: Test gen_event options
stdlib: Refactor gen_event_SUITE
stdlib: Remove whitespace error in gen_event_SUITE
stdlib: Add start options to gen_event
stdlib: Remove whitespace errors in gen_event
|
|
|
|
|
|
|
|
crypto: Support chacha20_poly1305 OTP-14092
|
|
|
|
|
|
Characters ($char) can be used in constant pattern expressions. They
can also be used in types and contracts.
|
|
|
|
Input should be checked and httpc_handler process shall terminate
gracefully on errors so that user process will in hang in gen_server:call.
|
|
Remove dead code and redundant debug macros. Better to use tracing for
debugging.
|
|
|
|
* ingela/inets/httpc-stream/ERL-116/OTP-13571:
inets: httpc - Chunk size decoding could fail
|
|
|
|
|
|
* egil/ssh/use-maps-instead-of-dict/OTP-14117:
ssh: Use maps instead of dict in ssh_sftp
ssh: Remove whitespace errors in ssh_sftp.erl
|
|
This commit reactivates chacha20_poly1305 and fixes the imprementation
for the released OpenSSL 1.1.0 or later.
|
|
Correct chunk decoding by adding missing argument to match.
The symptom was that chunk decoding sometimes failed depending on
stream data arrival timing.
|
|
|
|
* siri/cdv/multi-line-slogan/ERL-318/OTP-14093:
[crashdump_viewer] Allow multiple lines in Slogan
|
|
* siri/etop/cpu-per-interval/OTP-14090:
[etop] Show CPU utilization for last interval only
|
|
|
|
* legoscia/remove-watchdog-vestiges/PR-1255/OTP-14112:
Remove vestiges of watchdog support in heart
|
|
|
|
* maint:
Remove faulty release note for these fixes
New test cases testing stacktrace from apply on erlang:error()
Fix stactrace for apply on error/[1,2], exit/1, or throw/1
Fix stack-trace generated by a traced process
Conflicts:
erts/emulator/beam/beam_emu.c
erts/etc/unix/etp-commands.in
|
|
OTP-14055
* rickard/stacktrace-bugs:
Remove faulty release note for these fixes
New test cases testing stacktrace from apply on erlang:error()
Fix stactrace for apply on error/[1,2], exit/1, or throw/1
Fix stack-trace generated by a traced process
|
|
|
|
Reduce memory consumption during compilation
|
|
Add take/2 to all dictionary modules
OTP-14102
|
|
Similar to maps:take/2, add take/2 to the other dictionary
modules in STDLIB:
orddict:take(Key, Dict) -> {Val,NewDict} | 'error'.
dict:take(Key, Dict) -> {Val,NewDict} | 'error'.
gb_trees:take(Key, Dict) -> {Val,NewDict}.
For gb_trees also add:
gb_trees:take_any(Key, Dict) -> {Val,NewDict} | 'error'.
gb_trees already has delete() and delete_any(), so we will
follow that design pattern.
Suggested by Boris Bochkaryov in https://github.com/erlang/otp/pull/1209.
|
|
|
|
* ingela/ssl/terminate/OTP-14100:
ssl: Correct terminate behaviour
|
|
When the terminate function is called explicitly, to make guarantees
that for instance the reuseaddr option works as expected, we must
make sure that the clean up code is not run again when gen_statem
calls terminate. This check was broken in the rewrite from gen_fsm to
gen_statem.
Caused PEM cache errors, that in some cases would
cause unexpected connection failures.
|
|
|
|
|
|
|