Age | Commit message (Collapse) | Author |
|
|
|
|
|
* maint:
Fix loading of Core Erlang code for extracting a map element
Fix unsafe optimizations where guard tests could be removed
|
|
into maint
* bjorn/compiler/fix-unloadable-code-patch/ERL-955/OTP-15846:
Fix loading of Core Erlang code for extracting a map element
|
|
* bjorn/compiler/fix-beam_ssa_dead-patch/OTP-15845:
Fix unsafe optimizations where guard tests could be removed
|
|
* john/misc-fixes-and-additions:
beam_validator: Fail when trying to set the type of a dead value
beam_validator: Fix bad comment formatting/wording
erts: Assert that GC should not be disabled twice
|
|
* maint:
Fix compiler crash in beam_except
|
|
* bjorn/compiler/fix-beam_except/ERL-954/OTP-15839:
Fix compiler crash in beam_except
|
|
The compiler would crash in `beam_except` while compiling this
function:
bar(Req) ->
ok = case Req of
"POST" -> {error, <<"BAD METHOD ", Req/binary>>, Req};
_ -> ok
end.
https://bugs.erlang.org/browse/ERL-954
|
|
|
|
* ingela/public_key/ERL-915/OTP-15843:
public_key: Update dialyzer specs to better conform to accepted input
|
|
Move type-based optimizations from Core Erlang passes to SSA passes
|
|
* maint:
Fix unsafe negative type inference
|
|
* bjorn/compiler/fix-unsafe-type-inference/OTP-15838:
Fix unsafe negative type inference
|
|
|
|
The following Core Erlang code could not be loaded:
'f'/1 = fun (_1) ->
case <_1> of
<~{'foo':='foo'}~> when 'true' ->
_1
end
Loading would fail with the following message:
beam/beam_load.c(2314): Error loading function example:f/1: op i_get_map_element_hash p x a u x:
no specific operation found
https://bugs.erlang.org/browse/ERL-955
|
|
A repeated test could be optimized away. Example:
bar(A) ->
if is_bitstring(A) ->
if is_binary(A) ->
binary;
true ->
bitstring
end;
true ->
other
end.
In the example, the `is_binary/1` test would be optimized away,
basically turning the example into:
bar(A) ->
if is_bitstring(A) ->
bitstring;
true ->
other
end.
Thanks user Marcus Kruse in the Elixir forum for noticing this bug.
|
|
* maint:
ssl: Improve standards compliance document
ssl: Update standards compliance
ssl: Add openssl interop test for TLS 1.3 client
ssl: Improve interoperability with openssl
ssl: Implement hello_retry_request (client)
ssl: Generate only one key_share entry (client)
ssl: Remove calls to tls_connection:next_record/1
ssl: Implement peer verification
ssl: Validate selected cipher suite and key_share
ssl: Add tests for TLS 1.3 client
ssl: Implement basic TLS 1.3 client
|
|
Add basic TLS 1.3 client
|
|
The type optimizer pass (`beam_ssa_type`) could make unsafe
negative inferences. That is, incorrectly infer that a variable
could *not* have a particular type.
This bug was found when adding another optimization. It is not
clear how write a failing test case without that added optimization.
|
|
OTP-15431
|
|
|
|
|
|
Handle the NewSessionTicket post-handshake message that is sent
by openssl s_server after a successful handshake.
|
|
Simplify sys_core_fold by removing optimizations by removing the
optimizations that have been obsoleted by the preceding commits.
|
|
This commit makes it possible to see relative differences in the HTML
page that visualizes results from the ETS throughput benchmark that is
included in the test suite ets_SUITE. This change will make it easier
to compare different ETS table configurations and implementations.
|
|
Remove is_function/1,2 tests if that are known to never fail.
|
|
|
|
`=:=` is faster than `==`, so when they would return the same result,
we want to replace `==` with `=:=`. There is currently such an optimization
in sys_core_fold, but the optimimization will be more effective if
done in beam_ssa_type because beam_ssa_type has better type information.
|
|
file: allow open/2 to work on directories
OTP-15835
|
|
* maint:
Eliminate compiler crash when compiling complex receive statements
|
|
* bjorn/compiler/fix-receive-patch/ERL-950/OTP-15832:
Eliminate compiler crash when compiling complex receive statements
|
|
|
|
|
|
|
|
|
|
|
|
PR-2245
ERL-914
* sverker/stdlib/binary-referenced_byte_size-doc:
stdlib: Improve example for binary:referenced_byte_size/1
|
|
Use of the deprecated module random has been replaced
by the module rand.
OTP-15331
|
|
Removed the use of the deprecated erlang:stacktrace() function.
Instead make use of the 'catch Class:Error:Stacktrace' feature.
OTP-15332
|
|
|
|
* 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
|