summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'erlang/pr/745'Henrik Nord2015-05-271-1/+1
|\ | | | | | | | | * erlang/pr/745: Typofix: piecemeal
| * Typofix: piecemealAndrás Veres-Szentkirályi2015-05-261-1/+1
| |
* | Merge branch 'hb/update_versions'Hans Bolinder2015-05-2724-30/+37
|\ \ | | | | | | | | | | | | * hb/update_versions: Update application versions
| * | Update application versionsHans Bolinder2015-05-2724-30/+37
|/ /
* | Update primary bootstrapBjörn-Egil Dahlberg2015-05-268-0/+0
| |
* | Merge branch 'egil/opt-compile-time/OTP-12774'Björn-Egil Dahlberg2015-05-2622-168/+381
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | stdlib: Relax erl_anno_SUITE:is_anno/1 testBjörn-Egil Dahlberg2015-05-221-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Update primary bootstrapBjörn-Egil Dahlberg2015-05-2115-0/+1
| | |
| * | compiler: Use Maps as type informationBjörn-Egil Dahlberg2015-05-211-30/+34
| | | | | | | | | | | | | | | 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.
| * | compiler: Use Maps instead of dict in beam_jumpBjörn-Egil Dahlberg2015-05-211-10/+16
| | |
| * | compiler: Use cerl_sets instead of gb_sets in beam_typeBjörn-Egil Dahlberg2015-05-211-4/+4
| | |
| * | compiler: Use Maps instead of gb_trees in beam_deadBjörn-Egil Dahlberg2015-05-211-13/+14
| | |
| * | compiler: Use cerl_sets instead of gb_sets in beam_jumpBjörn-Egil Dahlberg2015-05-211-9/+9
| | |
| * | compiler: Use cerl_sets instead of sets in v3_kernelBjörn-Egil Dahlberg2015-05-211-6/+6
| | |
| * | compiler: Use cerl_sets instead of gb_sets in sys_core_foldBjörn-Egil Dahlberg2015-05-211-16/+16
| | |
| * | compiler: Add cerl_sets moduleBjörn-Egil Dahlberg2015-05-213-0/+208
| | | | | | | | | | | | A sets implementation based on maps.
| * | compiler: Scope uses gb_sets not gb_treesBjörn-Egil Dahlberg2015-05-211-1/+1
| | |
| * | beam_dict: Use Maps to map function name indicesBjörn-Egil Dahlberg2015-05-211-12/+10
| | |
| * | beam_dict: Use Maps to map line indicesBjörn-Egil Dahlberg2015-05-211-13/+11
| | |
| * | beam_dict: Use Maps to map atom indicesBjörn-Egil Dahlberg2015-05-211-18/+14
| | |
| * | v3_codegen: Use Maps to map local functionsBjörn-Egil Dahlberg2015-05-211-8/+6
| | |
| * | v3_life: Refactor variable dbBjörn-Egil Dahlberg2015-05-211-6/+11
| | |
| * | compiler: Use lc instead of map/1 in v3_codegenBjörn-Egil Dahlberg2015-05-211-21/+22
| | | | | | | | | | | | Small speed increase for large files.
| * | stdlib: Optimize erl_anno:is_string/1Björn-Egil Dahlberg2015-05-211-3/+1
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'hans/ssh/configurable_cipher/OTP-12029'Hans2015-05-2613-169/+426
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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'
| * | | ssh: Algorithms test case addedHans Nilsson2015-05-262-9/+65
| | | |
| * | | ssh: Undocumented option 'compression' replaced by 'preferred_algorithms'Hans Nilsson2015-05-269-6/+18
| | | | | | | | | | | | | | | | | | | | 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.
| * | | ssh: New option 'preferred_algorithms'Hans Nilsson2015-05-266-161/+352
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | ssh: Remove erroneous option 'role'Hans Nilsson2015-05-261-2/+0
|/ / / | | | | | | | | | This option is set internaly but there is no reason to set it when calling a function.
* | | Merge branch 'egil/cuddle-tests'Björn-Egil Dahlberg2015-05-268-130/+127
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | | erts: Relax monitor_SUITE:mixer/1Björn-Egil Dahlberg2015-05-251-2/+1
| | | |
| * | | erts: Refactor monitor_SUITE:mixer/1Björn-Egil Dahlberg2015-05-251-92/+81
| | | | | | | | | | | | | | | | Remove ?line macro.
| * | | stdlib: Minor change of unicode_SUITEBjörn-Egil Dahlberg2015-05-251-1/+2
| | | |
| * | | stdlib: Relax iterations in binary_module_SUITE:random_ref_sr_comp/1Björn-Egil Dahlberg2015-05-251-4/+7
| | | |
| * | | Remove ?line macro in binary_module_SUITE:random_ref_sr_comp/1Björn-Egil Dahlberg2015-05-251-6/+7
| | | |
| * | | stdlib: Relax iterations in binary_module_SUITE:random_ref_comp/1Björn-Egil Dahlberg2015-05-251-9/+13
| | | |
| * | | stdlib: Remove ?line macro in binary_module_SUITE:random_ref_comp/1Björn-Egil Dahlberg2015-05-251-15/+15
| | | |
| * | | stdlib: Relax filesize of io_proto_SUITE:unicode_options_gen/1Björn-Egil Dahlberg2015-05-251-1/+1
| | | |
| * | | stdlib: Relax rand_SUITE timeoutBjörn-Egil Dahlberg2015-05-251-1/+1
| | | |
| * | | debugger: Relax test map_SUITE:t_guard_receive_large/1Björn-Egil Dahlberg2015-05-251-2/+2
| | | | | | | | | | | | | | | | Would timeout on slow machines and was unnecessary large.
| * | | tools: Relax lcnt test timeBjörn-Egil Dahlberg2015-05-211-5/+5
| | | |
| * | | stdlib: ets_SUITE cuddlingBjörn-Egil Dahlberg2015-05-201-7/+7
| |/ / | | | | | | | | | Time measurement of ets-lookups, too fast for windows.
* | | Merge branch 'nybek/limit_leading_zeros_in_ipv6_addresses'Henrik Nord2015-05-262-18/+15
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * nybek/limit_leading_zeros_in_ipv6_addresses: Fix parsing of IPv6 addresses to limit leading zeros OTP-12773
| * | | Fix parsing of IPv6 addresses to limit leading zerosRory Byrne2015-05-222-18/+15
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'josevalim/jv-annotate-form'Henrik Nord2015-05-261-22/+41
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * josevalim/jv-annotate-form: Only annotate forms when linting in the compiler OTP-12772
| * | | Only annotate forms when linting in the compilerJosé Valim2015-05-221-22/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge branch 'jlouis/cocci-noderef-fixes'Henrik Nord2015-05-262-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jlouis/cocci-noderef-fixes: Correct usage of sizeof() for pointer types OTP-12771
| * | | | Correct usage of sizeof() for pointer typesJesper Louis Andersen2015-05-122-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge branch 'sverk/crypto/ec_key_generate/OTP-12733'Sverker Eriksson2015-05-252-5/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * sverk/crypto/ec_key_generate/OTP-12733: crypto: Change eliptic curve test from 'sect113r2' to 'secp112r2'
| * | | | | crypto: Change eliptic curve test from 'sect113r2' to 'secp112r2'Sverker Eriksson2015-05-222-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To not fail on openssl built with #define OPENSSL_NO_EC2M (Why does the test not verify all supported curve types?)