Age | Commit message (Collapse) | Author |
|
Revert "Run the sharing optimisation in beam_jump until fixpoint"
|
|
Fix name capture problem in sys_core_fold
OTP-15115
|
|
|
|
* maint:
Updated OTP version
Prepare release
inets: Gracefully handle bad headers
|
|
* maint-20:
Updated OTP version
Prepare release
inets: Gracefully handle bad headers
[erl_docgen] Update version
[erl_docgen] Add missing file db_funcs.xsl to file list
erts: Fix bug in system_profile
erts: Fix bug in enif_binary_to_term for immediates
|
|
Conflicts:
lib/ssh/test/ssh_algorithms_SUITE.erl
|
|
|
|
* ingela/inets/header-handling/OTP-15092:
inets: Gracefully handle bad headers
|
|
* dgud/stdlib/string-case-bin-bug:
Fix *case bugs for binaries
|
|
Missing space in gen_event doc
|
|
We have found cases where compilation drastically slows down
due to this commit. We are working on a minimal cases and plan
to bring this patch back once we can work our the performance
issues.
This reverts commit f7c9383f4c3d4b6819b5ba4d54c7093df806fe4a.
|
|
ERL-629 Do not free() module buffer until it has been used
|
|
* sverker/ets-count/OTP-14987:
erts,stdlib: Improve docs about obsolete ets_limit
erts: Reduce test log noise from ets_SUITE
erts: Increase scalability of ets name lookup
erts: Rename one of delete_trap to select_delete_trap
erts: Refactor usage of am_atom_put to ERTS_MAKE_AM
erts: Add system_info(ets_count)
erts: Fix narrow race between ets:new and ets:delete
|
|
|
|
|
|
* hasse/dialyzer/improve_contract_warnings/OTP-14982:
erts: Improve contracts of zlib
kernel: Improve contracts
erts: Improve a contract
stdlib: Improve a contract
compiler: Improve a contract
dialyzer: Refine the test for overspecified functions
|
|
* hans/public_key/match_fun_https/OTP-14962:
public_key: Testcase for cert with wildcard in SAN
public_key: Doc
public_key: Matchfun for HTTPS
|
|
* hans/crypto/EVP_DH_key/OTP-14864:
crypto: Valgrind suggestions
|
|
|
|
|
|
|
|
|
|
* hasse/syntax_tools/fix_map_type/OTP-15098/ERIERL-177:
syntax_tools: Fix a bug regarding reverting map types.
|
|
Bad optimizing code introduced in 5c51e87bee9d
|
|
sys_core_fold could do unsafe transformations on the
code from the old inliner (invoked using the compiler
option `{inline,[{F/A}]}` to request inlining of specific
functions).
To explain the bug, let's first look at an example that
sys_core_fold handles correctly. Consider this code:
'foo'/2 =
fun (Arg1,Arg2) ->
let <B> = Arg2
in let <A,B> = <B,Arg1>
in {A,B}
In this example, the lets can be completely eliminated,
since the arguments for the lets are variables (as opposed
to expressions). Since the variable B is rebound in the
inner let, `sys_core_fold` must take special care when
doing the substitutions.
Here is the correct result:
'foo'/2 =
fun (Arg1, Arg2) ->
{Arg2,Arg1}
Consider a slight modifictation of the example:
'bar'/2 =
fun (Arg1,Arg2) ->
let <B> = [Arg2]
in let <A,B> = <B,[Arg1]>
in {A,B}
Here some of the arguments for the lets are expressions, so
the lets must be kept. sys_core_fold does not handle this
example correctly:
'bar'/2 =
fun (Arg1,Arg2) ->
let <B> = [Arg2]
in let <B> = [Arg1]
in {B,B}
In the inner let, the variable A has been eliminated and
replaced with the variable B in the body (the first B in
the tuple). Since the B in the outer let is never used,
the outer let will be eliminated, giving:
'bar'/2 =
fun (Arg1,Arg2) ->
let <B> = [Arg1]
in {B,B}
To handle this example correctly, sys_core_fold must
rename the variable B in the inner let like this to
avoid capturing B:
'bar'/2 =
fun (Arg1,Arg2) ->
let <B> = [Arg2]
in let <NewName> = [Arg1]
in {B,NewName}
(Note: The `v3_kernel` pass alreday handles those examples correctly
in case `sys_core_fold` has been disabled.)
|
|
Add more `compiler_generated` attributes to avoid spurious compiler
warnings triggered by the bug fix in the next commit.
|
|
* lukas/stdlib/fix-io_o_request_raise/OTP-15101:
stdlib: Fix io:put_chars/2 error
|
|
|
|
* hans/ssh/channel_polish/OTP-15083:
ssh: Better crash report for bad channel callback module
|
|
* hans/ssh/channel_testsuite/OTP-15051:
ssh: Channel testsuite
|
|
* hans/ssh/rm_depr:
ssh: Change get_stacktrace
|
|
Missing space
|
|
|
|
|
|
|
|
Before this fix an error in io:put_chars/2 would signal
a fault in io:put_chars/3 because of the way that raise is
used and there is no such function.
|
|
|
|
|
|
This reverts commit fd8e49b5bddceaae803670121b603b5eee8c5c08.
|
|
|
|
|
|
|
|
|
|
The -Woverspecs (-Wspecdiffs) option generates warnings in a few more
cases. The refinement is analogous to the test that -Wunderspecs
already does: it checks if the contract has nothing in common with
some element (see erl_types:t_elements/1) of the success typing.
|
|
* siri/logger-fix:
Update documentation of logger and error_logger
Change type name logger:log() to logger:log_event()
Update preloaded
Update primary bootstrap
Rename module logger_simple to logger_simple_h
Change env var logger_log_progress to logger_progress_reports
Remove HandlerId from handler callback functions and add it to Config
Change handler id for sasl handler from sasl_h to sasl
Change Compare parameter to logger_filters:domain/2
Update Logger documentation
Rename reset_module_level to unset_module_level
Allow chars_limit to limit strings
Add logger:update_formatter_config/2,3
Set legacy_header=true for kernel's default handler only
Improve documentation of logger and error_logger
Use system_time instead of monotonic_time as timestamp in logger
|
|
OTP-14359: Add typespecs for netns and bind_to_device options
|
|
ssl: Generalize DTLS packet multiplexing
OTP-14888
|
|
corrected spelling reffering -> referring
|
|
We want to prepare the code for more advanced DTLS usage and possibility
to run over SCTP. First assumption was that the demultiplexer process
"dtls listener" was needed for UDP only and SCTP could be made more TLS
like. However the assumption seems not to hold. This commit prepares
for customization possibilities.
|
|
|