Age | Commit message (Collapse) | Author |
|
* hasse/dialyzer/memory_opt/OTP-14127:
dialyzer: Attempt to reduce memory consumption
dialyzer: Do not spawn all workers at once
dialyzer: Write PLT in subprocess
dialyzer: Remove code for non-started workers
dialyzer: Sort graphs topologically
dialyzer: Compress some PLT tables
dialyzer: Check return value of digrahp:add_edge()
dialyzer: Use less memory for the PLT when analyzing
typer: Fix a bug regarding the -T option
dialyzer: Do not keep the code server's type info on the heap
|
|
* egil/20/erts/signal-service/OTP-14186:
kernel: Document signal server
erts: Use os module instead of erts_internal for set_signal/2
erts: Do not handle SIGILL
erts: Fix thread suspend in crashdump
erts: Do not enable SIGINT
erts: Use generic signal handler
erts: Add OS signal tests
erts: Handle SIGUSR1 via signal service instead
erts: Handle SIGTERM via signal service instead
kernel: Add gen_event signal server and default handler
erts: Add SIGHUP signal handler
erts: Remove whitespace errors
Conflicts:
erts/emulator/beam/bif.tab
|
|
|
|
|
|
|
|
* maint:
dialyzer: Fix a Dialyzer warning
|
|
|
|
|
|
This fixes commit f0867aa2ccbbf5677e0577bba08f8b7bc53ec0ed
|
|
Conflicts:
OTP_VERSION
|
|
Conflicts:
OTP_VERSION
erts/doc/src/notes.xml
erts/emulator/sys/unix/erl_unix_sys.h
erts/emulator/sys/unix/sys.c
erts/vsn.mk
lib/crypto/c_src/crypto.c
lib/crypto/doc/src/notes.xml
lib/crypto/vsn.mk
lib/inets/doc/src/notes.xml
lib/inets/vsn.mk
lib/ssh/doc/src/notes.xml
lib/ssh/src/ssh.app.src
lib/ssh/src/ssh_connection_handler.erl
lib/ssh/vsn.mk
otp_versions.table
|
|
The 'deps' field is reset when no longer used, which could possibly
save some memory.
|
|
Spawning all worker processes at once has the potential to increase
peak memory consumption. Therefore the implementation is now slightly
modified: `20 * dialyzer_utils:parallelism()' processes are running in
parallel. 20 i quite a big factor, but seems necessary to keep all
schedulers busy according to the Observer application's Load Charts,
with a 100 ms update interval.
|
|
At common case, which will otherwise leave a big heap.
|
|
Since SCCs and modules are now topologically sorted (relative the
active graph), we can safely assume that workers have been started.
|
|
Although some variable names indicate that lists of SCCs and modules
are sorted, that was not always the case. The effect on the execution
time of sorting them doesn't seem to be significant.
dialyzer_coordinator:sccs_to_pids() should now always return an empty
second list (not yet started workers).
Since the condensation of graphs often needs a lot of heap memory, it
is run in a separate process.
|
|
Compressing the signatures or the contract records would cost time.
The contract records are still held in two places (code server and
PLT) in many cases.
|
|
|
|
The two tables for (record) types and exported types are no longer
kept in memory (by the PLT) when analyzing, which reduces memory
consumption.
A first step towards removing (or replacing) the #plt{} record.
|
|
The -T option has not been working for a long time.
|
|
The table used during translation of forms to types used to be a
dictionary of the type info (-type(), -opaque(), and -record()) for
all modules. Now it is reduced to the modules that are needed to
handle references to types in other modules.
The PLT:s type info is still kept on the heap.
|
|
* maint:
dialyzer: Increase time limit for tests
dialyzer: Optimize typesig
dialyzer: Optimize evaluation of complex code
dialyzer: Optimize collection of variables
Conflicts:
lib/dialyzer/src/dialyzer_typesig.erl
|
|
* hasse/dialyzer/memory_opt/OTP-14126:
dialyzer: Increase time limit for tests
dialyzer: Optimize typesig
dialyzer: Optimize evaluation of complex code
dialyzer: Optimize collection of variables
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* ingela/inets/maint/httpd-gracefull-shutdown/OTP-14174:
inets: httpd - shutdown gracefully on connection or TLS handshake errors
|
|
|
|
* ingela/ssl/config-propagation:
ssl: Simplify configuration code
ssl: Make sure PEM cache works as intended
|
|
* Add specs
* Change return signature to 'ok' instead of 'true'
|
|
|
|
|
|
* hans/ssh/dh_group_exc_optimize/OTP-14169:
ssh: optimize kex dh_gex using new crypto functionality
crypto: Added optional length to paramlist in generate_key
ssh,crypto: prepare for release
# Conflicts:
# lib/ssh/src/ssh_transport.erl
|
|
* hans/ssh/kex_gex_min_max/OTP-14166:
ssh: correct host key signature calculation
|
|
|
|
|
|
|
|
|
|
* josevalim/atu8-chunk/PR-1078/OTP-14178:
Add new AtU8 beam chunk
|
|
Use map instead of large tuple, which was not an option when the code
was written originally. More simplifications along these lines may
be done later to the state record.
|
|
Move of PEM cache to own process was flawed and not all PEM files
where cached properly. We must properly handle both the ditributed
and the normal mode of the ssl application.
|
|
This kex algorithm is now optimized so a long timetrap is not needed
|
|
* maint:
Updated OTP version
Prepare release
Fixed crash when a table was deleted during checkpoint traversal
|
|
* maint-19:
Updated OTP version
Prepare release
Fixed crash when a table was deleted during checkpoint traversal
|
|
|
|
dialyzer_typesig:traverse_scc() now resets the context for each
element of the SCC. Since the results of traversing the elements are
saved in the 'cmap' table, there is no need to create an SCC
conjunction. For huge SCCs this saves quite some time: the
lift_lists() function added one element at a time, which made the
calculation of deps very slow.
|