Age | Commit message (Collapse) | Author |
|
* maint:
Add -ztma option for enabling tuple calls
Reinstate tuple calls support in the beam emulator
|
|
Optional tuple calls
OTP-15580
|
|
* maint:
ssl: Fix renegotiation testcases
ssl: Fix failing rizzo testcases
ssl: Use IPv4 addresses with openssl s_client
ssl: Use sha256 in test certificates if supported
Change-Id: I8a604d607333d029b170e3d3ad31ea01890202ea
|
|
* peterdmv/ssl/fix-failing-testcases:
ssl: Fix renegotiation testcases
ssl: Fix failing rizzo testcases
ssl: Use IPv4 addresses with openssl s_client
ssl: Use sha256 in test certificates if supported
Change-Id: I11a326be027545e20fbef6f90996b0c8be8c3e50
|
|
* bjorn/compiler/improve-move-elimination:
beam_jump: Improve elimination of redundant moves
|
|
Fix failing renegotiation testcases with openssl-1.1.1a.
openssl s_client sends the renegotiation "R\n" connected command
to the server side causing testcase failure.
This commit updates ssl_to_openssl_SUITE:erlang_ssl_receive to
swallow the unexpected packet.
Change-Id: I1f5d040ac65c25652f7101ddf109fc84acc4c915
|
|
|
|
* anders/diameter/nocatch/OTP-15569:
Update appup
Fix nocatch on incoming answer with faulty Experimental-Result-Code
|
|
Filter out the cipher 'chacha20_poly1305' when running the
testcase 'rizzo_one_n_minus_one'.
Change-Id: If3a18b0782b747b91155553e0659faebd7c5dd05
|
|
This commit fixes failing testcases on OpenBSD 12.0 systems. It
forces openssl s_client to use an IPv4 address if openssl supports
IPv6.
When s_client is called with the argument "localhost" it binds
to the first address returned by getaddrinfo. As the first address
is an IPv6 address on OpenBSD 12.0, the client fails to send
UDP packets to the ssl server that is listening on an IPv4 address.
Change-Id: Ie662d10f4f0d9c803f7a341c9ea7dbe2ac80b556
|
|
Use the counters module to speed up cover
OTP-15575
|
|
For OTP-15569, to be released in OTP 20.3.8.19.
|
|
* maint:
Optimize calendar:gregorian_days_to_date/1
|
|
* FNickRU/stdlib/optimize_calendar/PR-2121/OTP-15572:
Optimize calendar:gregorian_days_to_date/1
|
|
This commit fixes ssl_test_lib:appropriate_sha/1 that returns sha256
if it is supported by crypto. It returns sha1 otherwise.
Change-Id: I0bfa4d50bbe3c788551a81d418db2cabc36a4344
|
|
|
|
* siri/observer/crash-toggle-log-view/OTP-15553:
[observer] Don't crash on Log > Toggle Log View
|
|
|
|
This change saves about about a minute when running the
cover-compiled compiler tests.
|
|
|
|
Use `counters:add/3` instead of `ets:update_counter/3`
for counting the number of times a line is executed.
By default, the reference to the counter array for each module will be
stored in a persistent term and retrieved every time a counter is
updated. This makes the compiler test suite with coverage enabled run
*almost* twice as fast (on my computer, in about 6 minutes down from
more than 11 minutes).
To get even more speed, the new `cover:local_only/0` function can be
called to put cover into a mode where the cover-compiled code can only
be run on the local node. In this mode, the cover-compiled modules in
a more efficient way by compiling the counter reference into the
code. This shaves off about one more minute, making the compiler test
suite with coverage enabled run *more than* twice as fast (in about 5
minutes on my computer).
|
|
|
|
* sverker/enif_select-faulty-assert:
erts: Fix faulty debug assert in enif_select
|
|
* sverker/map-from-ks-vs-bug/OTP-15567:
erts: Add test for bug in enif_make_maps_from_arrays
erts: Fix bug in erts_map_from_ks_and_vs
|
|
* siri/ct_netconfc/edit-config-list/OTP-15298:
[ct] Allow ct_netconfc:edit_config/3,4,5 to take a list of XML elements
|
|
* siri/ct_telnet/div-improvements/OTP-15229:
[ct] Add option {newline,string()} to ct_telnet:cmd and ct_telnet:send
[ct] Improve error handling of bad regular expressions to ct_telnet
|
|
reltool: Add load_dot_erlang rel option
OTP-15571
|
|
* hans/crypto/disable_blake2_libressl/OTP-15564:
crypto: Disable blake2 in LibreSSL (not supported)
|
|
|
|
* maint:
dialyzer: Fix a bug affecting keyfind/keysearch/keymember
|
|
* dialyzer/hasse/fix_bug_erl_bif_types/OTP-15570:
dialyzer: Fix a bug affecting keyfind/keysearch/keymember
|
|
beam_ssa_type: Propagate the 'none' type from calls
|
|
Consider this pseudo code:
f(...) ->
Val = case Expr of
... ->
... ;
... ->
... ;
... ->
my_abort(something_went_wrong)
end,
%% Here follows code that uses Val.
.
.
.
my_abort(Reason) ->
throw({error,Reason}).
The first two clauses in the case will probably provide some
information about the type of the variable `Var`, information
that would be useful for optimizing the code that follows the
case.
However, the third clause would ruin everything. The call
to `my_abort/1` could return anything, and thus `Val` could
also have any type.
294d66a295f6 introduced module-level type analysis, which will in
general keep track of the return type of a local function
call. However, it does not improve the optimization for this specific
function. When a function never returns, that is, when its type is
`none`, it does not propagate the `none` type, but instead pretends
that the return type is `any`.
This commit extends the handling of functions that don't return to
properly handle the `none` type. Any instructions that directly
follows the function that does not return will be discarded, and the
call will be rewritten to a tail-recursive call.
For this specific example, it means that the type for `Val` deduced
from the first two clauses will be retained and can be used for
optimizing the code after the case.
|
|
Failure to decode the Grouped AVP results in a throw from module
diameter_gen, which is caught in the normal message decode, but wasn't
when only the AVP is decoded from diameter_traffic (for error checking
and counter increment). The result was no handle_answer/error
callback, and an error return from diameter:call/4 when the detach
option was not specified.
|
|
|
|
Optimize ssa_opt_sink for huge functions
|
|
|
|
|
|
|
|
This sleeping bug was introduced in OTP 19.1
but not possible not provoke until OTP 21.0
when enif_make_map_from_arrays was introduced.
|
|
* maint:
Introduce ei_init()
Fix bug in ei_accept_tmo
Fix build of erl_interface on BSD
|
|
* rickard/ei-ext-maint/OTP-15442:
Introduce ei_init()
Fix bug in ei_accept_tmo
Fix build of erl_interface on BSD
|
|
|
|
Add hash function BLAKE2 to crypto:hash/hmac
OTP-15564
|
|
|
|
* sverker/fix-compile-warning:
erts: Fix compiler warning for IS_SSMALL
|
|
Add enif_make_monitor_term
|
|
The ssa_opt_sink optimization of beam_ssa_opt could get very slow
for certain huge functions. 9a190cae9bd7 partly addressed this issue
by terminating the optimization early if there happened to be no
get_tuple_element instructions at all in the function.
This commit addresses the issue more directly by making the dominator
calculation in beam_ssa:dominators/1 more efficient. The same
algorithm as before is used, but it is implemented in a more efficient
way based on the ideas in "A Simple, Fast Dominance Algorithm"
(http://www.hipersoft.rice.edu/grads/publications/dom14.pdf).
As well as being more efficient, the new implementation also gives
an explicit representation of the dominator tree, which makes it
possible to simplify and optimize the ssa_opt_sink optimization.
|
|
Keep track of tuple elements in type optimization pass
|
|
* rickard/ei-ext/OTP-15442:
Introduce ei_init()
Fix bug in ei_accept_tmo
Fix build of erl_interface on BSD
|