Age | Commit message (Collapse) | Author |
|
* maint:
Fix non-terminating compilation
Fix compiler crash when funs were matched
|
|
* bjorn/compiler/fix-freeze/ERL-948/OTP-15828:
Fix non-terminating compilation
|
|
Fix compiler crash when funs were matched
OTP-15833
|
|
* maint:
crypto: Re-enable aes_ctr for openssl cryptolib < 1.0.1
use correct module name for standard_error
|
|
* hans/crypto/enable_aes_ctr/OTP-15829:
crypto: Re-enable aes_ctr for openssl cryptolib < 1.0.1
|
|
Improve optimization of redundant tests
|
|
Make the swap instruction known to the compiler
|
|
Eliminate the beam_except pass
|
|
BEAM has had a `swap` instruction for several releases, but it was not
known to the compiler. The loader would translate a sequence of three
`move` instructions to the `swap` instructions, but only when it was
possible to determine that it would be safe.
By making `swap` known to the compiler, it can be applied in more
situations since it is easier for the compiler than for the loader
to ensure that the usage is safe, and the loader shenanigans can be
eliminated.
|
|
It was accidently disabled in the crypto:supports/0 and /1. It
worked however in the encrypt/decrypt functions.
|
|
* velimir/kernel/fix-module-name:
use correct module name for standard_error
|
|
This commit makes the test case `t_connect_timeout` in the test suite
gen_tcp_api_SUITE more reliable by searching for unused IP addresses
in a larger range of IP addresses.
|
|
Previously, the `util_values` test case in the test suite
`cpu_sup_SUITE` tested the `cpu_sup:util()` by checking if a process
that spins in a loop cause the CPU utilization measured with
`cpu_sup:util()` to increase. This was unreliable on test machines
that ran other tasks at the same time. This commit tries to make the
test case more reliable by skipping the test case if it is detected
that the system is doing other work that use a lot of CPU time and
starting 100 spinning processes instead of only 1.
|
|
|
|
* sverker/erts/socket-leak-fix:
erts: Fix memory leaks in socket_nif
erts: Fix dealloction bug in socket_nif
|
|
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
|
|
* maint-22:
Updated OTP version
Prepare release
# Conflicts:
# make/otp_version_tickets
|
|
The `beam_ssa_dead` pass is supposed to eliminate tests that are
determined to be redundant based on the outcome of a previous test.
For example, in the following example that repeats a guard test,
the second clause can never be executed:
foo(A) when A >= 42 -> one;
foo(A) when A >= 42 -> two;
foo(_) -> three.
`beam_ssa_dead` should have eliminated the second clause, but
didn't:
{test,is_ge,{f,5},[{x,0},{integer,42}]}.
{move,{atom,one},{x,0}}.
return.
{label,5}.
{test,is_ge,{f,6},[{x,0},{integer,42}]}.
{move,{atom,two},{x,0}}.
return.
{label,6}.
{move,{atom,three},{x,0}}.
return.
Correct the optimization of four different combinations of relational
operations that were too conservate. To ensure the correctness of the
optimization, also add an exahaustive test of all combinations of
relational operations with one variable and one literal. (Also remove
the weak and now redundant coverage tests in `beam_ssa_SUITE`.) With
this correction, the following code will be generated for the example:
{test,is_ge,{f,5},[{x,0},{integer,42}]}.
{move,{atom,one},{x,0}}.
return.
{label,5}.
{move,{atom,three},{x,0}}.
return.
Thanks to Dániel Szoboszlay (@dszoboszlay), whose talk at Code BEAM
STO 2019 made me aware of this missed opportunity for optimization.
|
|
The compiler would not terminate while compiling the following code:
foo(<<N:32>>, Tuple, NewValue) ->
_ = element(N, Tuple),
setelement(N, Tuple, NewValue).
The type analysis pass would attempt to construct a huge list when
attempting analyse the type of `Tuple` after the call to
`setelement/3`.
https://bugs.erlang.org/browse/ERL-948
|
|
* maint:
Updated OTP version
Prepare release
|
|
* maint-21:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# lib/xmerl/doc/src/notes.xml
# lib/xmerl/vsn.mk
# make/otp_version_tickets
# otp_versions.table
|
|
|
|
maint
* lars/fix-sax-parser-bug-during-check-encoding/OTP-15826:
[xmerl] Fix parse bug when checking the character encoding
|
|
* maint:
fix typo in gen_statem.xml
Update erlang.xml
|
|
|
|
Update erlang.xml / map_get in guard tests
|
|
fix typo in gen_statem.xml
|
|
|
|
|
|
maint-21
* lars/fix-sax-parser-bug-during-check-encoding/OTP-15826:
[xmerl] Fix parse bug when checking the character encoding
|
|
|
|
|
|
* ingela/ssl-flow-ctrl/ERL-934/OTP-15825:
ssl: Refactor of OTP 22 code due to patch OTP-15823
ssl: Avoid dialyzer warning
ssl: Add test cases for issue reported in ERL-938
ssl: Internal active n must back off when user does not read data
ssl: Remove legacy calls to next_record
|
|
The parser chrashed when an endmarker was missing when parsing
attribute values during the character encoding check.
|
|
|
|
* ingela/ssl-flow-ctrl/ERL-934/OTP-15825:
ssl: Refactor of OTP 22 code due to patch OTP-15823
ssl: Avoid dialyzer warning
ssl: Add test cases for issue reported in ERL-938
ssl: Internal active n must back off when user does not read data
ssl: Remove legacy calls to next_record
Conflicts:
lib/ssl/src/tls_connection.erl
|
|
|
|
Maybe we should only have specs for external APIs?!
This is a how to write spec problem that we have to address later.
|
|
|
|
TLS connections should not buffer too much application data if they
want to benefit from TCP flow control. Certain applications may want to
customize the value of internal_active_n as there is a tradeoff between
buffering memory and throughput.
Conflicts:
lib/ssl/src/tls_connection.erl
|
|
Conflicts:
lib/ssl/src/dtls_connection.erl
lib/ssl/src/ssl_connection.erl
|
|
* maint:
Updated OTP version
Prepare release
|
|
* maint-21:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# erts/doc/src/notes.xml
# erts/vsn.mk
# lib/ssl/doc/src/notes.xml
# lib/ssl/vsn.mk
# lib/tools/doc/src/notes.xml
# lib/tools/vsn.mk
# make/otp_version_tickets
# otp_versions.table
|
|
* maint:
Bump patch merge version
|
|
|
|
|
|
|
|
* ingela/ssl/patch-addition:
ssl: Refactor of OTP 22 code due to patch OTP-15823
|
|
|
|
|