Age | Commit message (Collapse) | Author |
|
* egil/lcnt-refactor/OTP-12846:
erts: Refactor LCNT
|
|
* egil/fix-compiler-beam_bool/OTP-12844:
compiler: Add regressions_SUITE
compiler: Fix beam_bool pass for get_map_elements
|
|
regressions_SUITE will have code snippets which previously crashed the compiler.
This commits includes a test for Maps crash in beam_bool.
|
|
Before beam_split the get_map_elements instruction is still in
blocks and the helper function in beam_jump did not reflect this.
Reported-by: Quviq twitter account
|
|
* nybek/fix_so_linger_zero__simple:
Update prim_inet.beam
Fix socket option {linger, {true, 0}} to abort TCP connections
Apply 'show_econnreset' socket option to send errors as well
Add 'show_econnreset' TCP socket option
|
|
* ia/ssl/test-cuddle:
ssl: Remove unnecessary suite callback
|
|
|
|
* rickard/glb-inline:
Unbreak global inlining
|
|
* hirotnk/fun-doc-syntax-ref:
Add the link to Fun expressions manual page
|
|
* mururu/fix-typo:
Fix typo in comment
|
|
|
|
* nybek/fix_supervisor_get_childspec:
Fix supervisor:get_childspec/2 for simple_one_for_one
OTP-12841
|
|
* ia/ssh/doc/message-types:
ssh: Modernize type definitions
|
|
|
|
* tomas-abrahamsson/patch-1:
Add forgotten argument to example in erl_nif doc
|
|
* mhssler/doc-os-unsetenv-unicode:
stdlib: Document os:unsetenv Unicode support
|
|
* ia/inets/deprecate:
inets: Fix race condition in httpc
inets: Remove use of httpd_conf:clean/1 and httpd_conf:custom_clean/3
inets: Remove use of httpd_conf:make_integer/1
inets: Deprecate functions in util module httpd_conf.erl
|
|
If the socket is closed by the peer do not try to close it again.
Solves OTP-11845
|
|
Internal use of the function white_space_clean/1 could probably be done
in a much better way using re-module and removing a lot of legacy code.
But we will have to do this later, due to lack of time, we want to make
this commit as little work as possible.
|
|
* peppe/common_test/remove_void_in_doc:
Remove void() type in documentation
|
|
|
|
* peppe/common_test/ct_run_start_and_help:
Change default start actions and update documentation
OTP-12684
|
|
|
|
|
|
These functions should not be used, there exists better
functions in the standard libraries.
|
|
* rickard/+zebwt/OTP-12830:
ETS busy wait option
|
|
Conflicts:
erts/emulator/beam/erl_init.c
erts/etc/common/erlexec.c
|
|
* hamt_bin2term:
erts: Add erts_factory_trim_and_close
erts: Optimize driver_deliver_term
erts: Remove hashmap probabilistic heap overestimation
Conflicts:
erts/emulator/beam/beam_load.c
|
|
|
|
Try write directly to process heap (as before)
if the term is guaranteed not to contain any
big maps that may break the initial size estimation.
|
|
The test cases does not use any hooks and including the ts_install_cth
trips up the test case setup on some platforms cuasing the test cases
to fail with {error, enoent}
|
|
* rc/robustify-module_info/OTP-12820:
erts: Add test for module_info on purged modules
erts: Remove ?line macros from module_info_SUITE
Fix segfault in module_info for deleted modules
|
|
by adding a dynamic heap factory.
"binary_to_term" is now a hybrid solution with both
a call to decoded_size() to calculate needed heap space
AND possible dynamic allocation of more heap space
if needed for big maps.
The heap size returned from decoded_size() is guaranteed
to be sufficient for all term heap data except for hashmap
nodes. All hashmap nodes are created at the end of dec_term()
by invoking the heap factory interface that may allocate more
heap space on process heap or in fragments.
With this commit it is no longer guaranteed that a message
is confined to only one heap fragment.
|
|
* sverk/map-merge-trap:
erts: Optimize maps:merge
erts: Yield in maps:merge
erts: Refactor arg swapping for maps:merge
erts: Add save/restore for PSTACK
erts: Fix magic binary alignment on 32-bit
erts: Add maps to send_term_SUITE
erts: Fix calculation of reclaimed data during full gc
erts: Fix warning about const pointer to make_boxed and make_list
erts: Fix typo in etp-carrier-blocks
|
|
* sverk/ets-file2tab-preserve-opts/OTP-12814:
stdlib: Make ets:file2tab preserve read/write_concurrency
stdlib: Fix ets_SUITE:tabfile_ext4
|
|
* ia/ssl/test-fips:
ssl: Filter suites for openssl FIPS if necessary
|
|
to be better at reusing entire hashmap sub-trees.
Sub-tree reuse is detected in three cases:
1. The sub-tree top node does not exist at all in the other map.
Already implemented before this commit.
2. The exact same sub-tree exist in both maps.
Must calculate nr of keys in tree to get total size right.
3. We detect that a sub-tree only contains stuff from one of the maps.
There is still one case we don't detect. If A and B leafs have equal
keys we could also compare the values. If values are equal, further
node reuse could propagate up toward the root (by 'mix'==0).
The downside would be potentially expensive value comparisons.
|
|
|
|
* hb/dialyzer/fix_opaque_types/OTP-12493:
dialyzer: Fix a minor bug concerning opaque types
dialyzer: Modify warning for comparison of opaque types
dialyzer: Modify the handling of parametrized opaque types
|
|
The test t_is_none() does not check for opaque types (and this is most
likely how it should be), why t_opaque() should never be called with
none().
|
|
Comparing two operands for (in)equality is allowed if both operands
are of the same unknown opaque type. Since OTP 17, there is a warning
if the types of the operands have nothing in common (this cannot
happen before OTP 17). However, the warning says there is a test
between opaque types, which is wrong. The warning now states that the
comparison cannot evaluate to 'true', which is more consistent.
|
|
In OTP 17 it is possible to mix types such as dict:dict() and
dict:dict(_, _) outside of the dict module (and similarly for some
other opaque types in STDLIB), but the results are unfortunately
possibly invalid warnings in users' code. In OTP 18 parameterized
opaque types with the same name but with different number of
parameters are no longer compatible when seen from outside of the
module where the types are declared.
The types in STDLIB have been updated accordingly; for instance
-opaque dict() :: dict(_, _).
has been replaced by
-type dict() :: dict(_, _).
|
|
* ia/ssl/unknown-hash/OTP-12829:
ssl: Add unassigned values
ssl: Do not crash on proprietary hash_sign algorithms
|
|
* hans/ssh/cuddle_tests:
ssh: fix bad ssh_basic_SUITE dir_options group
ssh: add test case + corr for ssh_info:print/1
|
|
|
|
Conflicts:
lib/ssh/test/ssh_basic_SUITE.erl
|
|
|
|
* gomoripeti/tools/cover-no-beam/OTP-12806:
cover: handle undefined module when analysing to file
|
|
* bjorn/mnesia/doc:
Update asn1 documentation
|
|
|