| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
* erlang/pr/745:
Typofix: piecemeal
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
* hb/update_versions:
Update application versions
|
|/ / |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* egil/opt-compile-time/OTP-12774:
stdlib: Relax erl_anno_SUITE:is_anno/1 test
Update primary bootstrap
compiler: Use Maps as type information
compiler: Use Maps instead of dict in beam_jump
compiler: Use cerl_sets instead of gb_sets in beam_type
compiler: Use Maps instead of gb_trees in beam_dead
compiler: Use cerl_sets instead of gb_sets in beam_jump
compiler: Use cerl_sets instead of sets in v3_kernel
compiler: Use cerl_sets instead of gb_sets in sys_core_fold
compiler: Add cerl_sets module
compiler: Scope uses gb_sets not gb_trees
beam_dict: Use Maps to map function name indices
beam_dict: Use Maps to map line indices
beam_dict: Use Maps to map atom indices
v3_codegen: Use Maps to map local functions
v3_life: Refactor variable db
compiler: Use lc instead of map/1 in v3_codegen
stdlib: Optimize erl_anno:is_string/1
Conflicts:
bootstrap/lib/kernel/ebin/inet_dns.beam
bootstrap/lib/stdlib/ebin/erl_anno.beam
bootstrap/lib/stdlib/ebin/erl_lint.beam
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Due to the relaxation of erl_anno:is_string/1, the test
false = erl_anno:is_anno([{location,1},{text,[a,b,c]}]),
is no longer valid.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Using Maps as type information container speedups files like cow_http_hd.erl
by ~500ms. Previously spent ~60% of the time in orddict:store/3.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
A sets implementation based on maps.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Small speed increase for large files.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
erl_anno:is_string/1 is frequently called from erl_lint
and thus affects compile time.
Using is_list/1 for is_string/1 is sufficient in this case.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* hans/ssh/configurable_cipher/OTP-12029:
ssh: Algorithms test case added
ssh: Undocumented option 'compression' replaced by 'preferred_algorithms'
ssh: New option 'preferred_algorithms'
ssh: Remove erroneous option 'role'
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The 'compression' option was used in the test cases. The new option 'preferred_algorithms' is
much more powerful and can be used as a replacement.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This option enables the user to define which algorithms that
are to be used as well as their precedences in the negotiation
between server and client.
|
|/ / /
| | |
| | |
| | | |
This option is set internaly but there is no reason to set it when calling a function.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* egil/cuddle-tests:
erts: Relax monitor_SUITE:mixer/1
erts: Refactor monitor_SUITE:mixer/1
stdlib: Minor change of unicode_SUITE
stdlib: Relax iterations in binary_module_SUITE:random_ref_sr_comp/1
Remove ?line macro in binary_module_SUITE:random_ref_sr_comp/1
stdlib: Relax iterations in binary_module_SUITE:random_ref_comp/1
stdlib: Remove ?line macro in binary_module_SUITE:random_ref_comp/1
stdlib: Relax filesize of io_proto_SUITE:unicode_options_gen/1
stdlib: Relax rand_SUITE timeout
debugger: Relax test map_SUITE:t_guard_receive_large/1
tools: Relax lcnt test time
stdlib: ets_SUITE cuddling
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Remove ?line macro.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Would timeout on slow machines and was unnecessary large.
|
| | | | |
|
| |/ /
| | |
| | |
| | | |
Time measurement of ets-lookups, too fast for windows.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* nybek/limit_leading_zeros_in_ipv6_addresses:
Fix parsing of IPv6 addresses to limit leading zeros
OTP-12773
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The current implementations of inet:parse_ipv6_address/1 and
inet:parse_ipv6strict_address/1 permit address strings which have an
unlimited number of leading zeros. Addresses such as:
"0000000000000000000000000000000ffff::"
"::00000000000000000000000000000000000000000000000000000000"
"::0000000f435:1"
If we are using this facility to validate string representations of
IPv6 addresses, then we would end up validating addresses which are
non-conformant (with respect to RFC 4291 section 2.2) and potentially
dangerous.
This patch ensures that each segment of an IPv6 address has a maximum
of 4 hex digits.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* josevalim/jv-annotate-form:
Only annotate forms when linting in the compiler
OTP-12772
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A lot of time spent on linting is due to eval_file_attribute/2
function that recursively traverses all the AST, annotating
the file name on the AST nodes. This traversal happens so
it is easier to add errors and warnings later on by simply
introspecting the node.
This patch changes eval_file_attribute/2 to only annotate
forms (i.e. attributes and functions) and rely on the #lint
record to keep the proper file information (which it already
did before this patch).
To summarize, both pre scan and pos scan will use the annotated
file attribute in forms, however form/2 already maintains the
proper file in #lint, which we pass around when retrieving the
location information.
After this patch, linting of a regular erlang module with 500LOC
became twice faster when measured with eprof.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* jlouis/cocci-noderef-fixes:
Correct usage of sizeof() for pointer types
OTP-12771
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Given some pointer *x, calling sizeof(x) will give us
the size of the pointer (4/8 bytes) not the size fo the
underlying dereferenced structure. Use coccinelle to
search for these occurrences in the source code, and
correct them one by one. In the case of
erl_node_tables.c, the erts_snprintf() calls used a
much too small buffer.
- run_erl.c: Use the size of the signal type, not
its pointer.
- erl_node_tables.c: Use the size of the _BUFFER in
erts_snprintf() to make sure we can use the full space.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* sverk/crypto/ec_key_generate/OTP-12733:
crypto: Change eliptic curve test from 'sect113r2' to 'secp112r2'
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
To not fail on openssl built with #define OPENSSL_NO_EC2M
(Why does the test not verify all supported curve types?)
|