Age | Commit message (Collapse) | Author |
|
|
|
|
|
* hasse/stdlib/pP_with_no_line_breaks/OTP-15103/ERL-607:
kernel: Use ~0p
debugger: Use ~0p
common_test: Use ~0p
stdlib: Make pP insert no line breaks with field width zero
|
|
This is to be used by application like orber that live outside
the main repository but still use the OTP build system to
generate documentation.
|
|
* hans/ssh/eddh_experimental/OTP-15097:
ssh: Add experimental eddh Not working
crypto: Add experimental x25519 and x448
crypto: Make 'curve' entry in crypto:supports() appear iff Curves is non-empty
crypto: Extend crypto:supports with 'curves'
|
|
Not working
|
|
Not to be used. Uses not yet released functions in OpenSSL 1.1.1-pre8-dev
|
|
|
|
"curves" in crypto:supports returns list of actually supported ec_curves
|
|
* hans/public_key/cuddle_tests:
public_key: Extend test case pkix_verify_hostname_subjAltName
|
|
* hans/ssh/cuddle_tests:
ssh: Fix client_sends_info_timing property test case
ssh: Add ssh/test/property_test dir to test releases
|
|
* hans/public_key/dialyzer:
public_key: Make dialyzer happy
|
|
* hans/public_key/new_moduli_file/OTP-15113:
public_key: Generated new moduli file
|
|
|
|
|
|
|
|
* raimo/better-TLS-distribution/OTP-15058:
Test nodename whitelist
Use public_key to verify client hostname
|
|
Complex types including map() are now pretty-printed.
|
|
|
|
|
|
|
|
Module and Id are now always included as fields in Config, so these
are no longer returned as separate elements.
|
|
And add field 'module' in handler config.
|
|
Added:
* logger:get_config() - replaces i(), returns all Logger
configuration, i.e. primary and handler config, and module levels
* logger:get_handler_ids() -> [HandlerId]
* logger:get_handler_config() -> [{HandlerId,Module,Config}]
Removed:
* logger:i/1, will probably be replaced in a later release.
|
|
Function names changed:
get/set/update_logger_config -> get/set/update_primary_config
add/remove_logger_filter -> add/remove_primary_filter
|
|
The warning map was added to allow backwards compatiblity with
error_logger event handlers that were not prepared to receive warning
reports. error_logger still uses this internally, if legacy error
logger event handlers are installed. But Logger does not use it for
new Logger handlers.
|
|
* Nested metadata keys are now expressed as list of atoms (was earlier tuples).
* If-exist is expressed as:
{Key,IfExist,Else}
Key :: atom() | [atom()]
IfExist :: template()
Else :: template()
|
|
New default for handlers is 'all'.
|
|
|
|
* Level can now be set/unset for multiple modules in one call.
* Added functions get_module_level/0 and get_module_level/1.
|
|
|
|
|
|
|
|
logger_std_h:filesync/1 -----> logger_std_h:sync/1
logger_disk_log_h:disk_log_sync/1 -----> logger_disk_log_h:sync/1
|
|
|
|
|
|
|
|
* ingela/ssl/verify-hostname-customize/OTP-15102:
ssl: Add option customize_hostname_check
|
|
|
|
* hasse/common_test/remove_edoc_comments:
common_test: Remove EDoc comments in internal modules
common_test: Remove EDoc documentation in internal modules
common_test: Remove EDoc documentation in public modules
|
|
* hasse/eliminate_lib_module/OTP-15072/ERL-634:
stdlib: Move eval_str/1 from mod_esi to erl_eval
|
|
This is an alternative to #1832.
The optimisation relies on special-casing the common pattern of
"renaming" a label by direct jump to another label. The change makes
beam_jump recognise couple more opportunities for optimisation.
The optimisation additionally avoids superfluous list concatenations by
only flattening the accumulator at the very end.
|
|
This is especially useful after inlining a function with a case.
Today the compiler would most probably be able to unify all the leafs of the
case during the sharing optimisation, but it would fail to unify the pattern
matching itself.
Naively running the optimisation multiple times wouldn't be able to find the
common code either, because it would differ in jump/fail targets of various
instructions.
To remedy this, after doing each sharing pass we traverse the code backwards
when reversing and update all the jump targets with the new targets that were
discovered during the unification pass. This allows running the optimisation
until fixpoint and makes sure all sharing opportunities will be discovered.
This optimisation also helps with the Elixir's `with/else` construct.
|
|
* sverker/ets-auto-unfix-delete-race/OTP-15109:
erts: Fix race between ets table deletion and auto-unfix
|
|
Bug exists since ets-refs were introduced in 20.0
0d6dc895744c34c9c52fd42f4801a8a941864ae3.
Problem:
1. Process A fixates table T.
2. Process B starts deleting table T (either by ets:delete or exit)
and does tid_clear().
3. Process A exits and does proc_cleanup_fixed_table()
and get NULL from btid2tab() and deallocates DbFixation.
4. Process B continues deleting table in free_fixations_locked()
and finds the deallocated DbFixation in the fixing_procs tree.
Solution:
Wait with tid_clear() until after free_fixations_locked()
has traversed the fixing_procs tree.
|
|
|
|
|
|
|
|
|
|
Revert "Run the sharing optimisation in beam_jump until fixpoint"
|