Age | Commit message (Collapse) | Author |
|
In crashdump_viewer test, the helper module must be loaded on earlier
releases (major-2), so it has a compiler directive. This was r18, but
is now changed to r20.
|
|
|
|
* ingela/ssl/bench:
ssl: Improve bench SUITE
|
|
Add shorter time trap, modernize code and make sure help process
terminates.
|
|
See also https://bugs.erlang.org/browse/ERL-841.
|
|
|
|
Miscellaneous compiler improvements
|
|
* maint:
stdlib: Fix a bug in the Erlang Pretty Printer
|
|
* hasse/stdlib/fix_erl_pp/ERL-818/OTP-15592:
stdlib: Fix a bug in the Erlang Pretty Printer
|
|
The clause added for maps in commit 1a7c41be is corrected.
|
|
Replace integers and floats with t_number() since keysearch et al
compare the key (rather than match).
Corrects the commit b3c8e94.
|
|
|
|
|
|
|
|
Neither can be used for type subtraction, so the default BIF
handler suits them just fine.
|
|
|
|
|
|
While this is strictly only relevant for bs_get_binary2, we should
never build anything while matching a message, so it ought to be
safe to remove this last raw use of propagate_fragility.
|
|
|
|
|
|
Granted, it's replaced with a thin wrapper, but it'll simplify
migration to the new type format.
|
|
|
|
|
|
|
|
When changing the ssl application to use type specs in documentation
master additions where lost in the merge as we did not want to
rewrite the new documentation in a merge commit.
|
|
Part of the switch optimization done by `ssa_opt_sw` can be better
done in `beam_ssa_type`.
|
|
|
|
This reverts commit 028df3a72f7b813ef9851799a07ded30b7d3ad55.
|
|
|
|
Not using io_lib for formatting makes the conversion several times
faster.
|
|
Refactor optimization of `Bool =:= true` to make the code
somewhat simpler, as well as potentially apply the optimization
in more cases.
|
|
Always rewriting left-associative andalso/orelse to right-associative
will not change the code (except in very rare cases), but it will
make sure that the transformation is tested.
|
|
Do the destructive setelement optimization in SSA
|
|
|
|
* siri/logger/pretty-print-config/OTP-15600:
[logger] Add pretty print function for configuration
|
|
|
|
Validate Client Finished message. If validation fails, send
decrypt_error alert.
Change-Id: I1da7be3505ca6df2b3d50282f0500b988ef8b488
|
|
|
|
The expansion of record field updates, when more than one field is
updated, but not a majority of the fields, will create a sequence of
calls to `erlang:setelement(Index, Value, Tuple)` where Tuple in the
first call is the original record tuple, and in the subsequent calls
Tuple is the result of the previous call. Furthermore, all Index
values are constant positive integers, and the first call to
`setelement` will have the greatest index. Thus all the following
calls do not actually need to test at run-time whether Tuple has type
tuple, nor that the index is within the tuple bounds.
Since OTP R7, the `sys_core_dsetel` pass, run as the very last Core
Erlang pass, has optimized this sequence of `setelement` calls to use
a special destructive version of `setelement` (called
`set_tuple_element`) for all but the very first `setelement` in the
sequence.
It turns out that the presence of the `set_tuple_element` in SSA code
is awkward and can prevent or complicate type analysis and aggressive
optimizations.
Therefore, this commit removes the `sys_core_dsetel` pass and
reimplements it for SSA code. The optimization will be done in the
`beam_ssa_pre_codegen` pass (that is, just before code generation and
after running all other SSA code optimization passes).
In most cases, the resulting BEAM code is identical to previous
code. For a few modules, the BEAM code is actually slightly better,
with smaller stack frames.
|
|
* maint:
ssh: Refactor decryption in ssh_protocol_SUITE
|
|
* hans/ssh/cuddle_tests:
ssh: Refactor decryption in ssh_protocol_SUITE
|
|
|
|
|
|
|
|
* maint:
dialyzer: Fix a bug regarding contracts
|
|
* hasse/dialyzer/fix_contract_check/OTP-15562/ERL-845:
dialyzer: Fix a bug regarding contracts
|
|
* john/compiler/cuddle-validator:
compiler: Allow disabling SSA passes in -compile() directives
beam_validator: Infer types from result of all type test BIFs
beam_validator: Infer BIF argument types
beam_validator: type_test in BIFs that only fail on invalid types
beam_validator: Simplify complex branches
beam_validator: Explain why verify_get_map wipes dst registers
beam_validator: fconv means we have a number
beam_validator: Simplify update_ne/eq_types
beam_validator: Remove pointless fragility propagation
beam_validator: Misc cosmetic refactoring
|
|
Also make a weaker spec in ssl_internal.hrl for now as it creates
a conflict between error handling and dialyzer warnings.
|
|
Previously this test suite used a short-cut that didn't work well with the new crypto
API being experimented with in other branches.
This commit uses the legacy decode and decryption functions in ssh_transport. It is of
course normally a bad idea to test something with itself. However, other test suites
test the interoperability with OpenSSH and by that implicitly of the decoding/decryption.
The ssh_protocol_SUITE tests sending malformed and even malicious PDUs to the Erlang/OTP
SSH implementation. Therefore the tests in this suite is not dependent on being different
than thoose of the system under test.
|
|
This fixes compiling against older OTP versions with the +r?VSN
options, which often expand to disabling certain SSA passes to
avoid new instructions.
|