aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2017-12-14ssl: Align (with DTLS) and correct TLS_FALLBACK_SCSV handlingIngela Anderton Andin
2017-12-14mnesia: Read schema user properties directlyDan Gudmundsson
Doing a proper transaction handling of user properties (in current implmenentation) caused schema_transactions to be quadratic which caused huge startup times for nodes with many tables since the merge schema is a schema_transaction. Do a direct read instead, cheap but implies that the plugin changes will not be visible until the changes are commited and cannot be used later in same transaction, which was possible before if undocumented functions where used.
2017-12-14Merge pull request #1653 from tonyrog/makedep_side_effectBjörn Gustavsson
Add -MMD option to erlc OTP-14830
2017-12-14Merge pull request #1650 from jabarszcz/doc_digraph_errorHans Bolinder
digraph: Document a bad_edge error
2017-12-14beam_utils: Refactor combine_alloc_lists() to cover more linesBjörn Gustavsson
There are four uncovered lines in combine_heap_needs/2 and combine_alloc_lists/2. There is no way to reach starting from Erlang source code using the standard compiler. However, they can be reached starting from BEAM assembly code, so we don't want to remove them. We could add a test case that covers the lines using assembly code, but an easier solution is to rewrite the code in a more generic way using sofs so that the code can be covered with existing test cases.
2017-12-13map_SUITE: Cover beam_utils:bif_to_test/3Björn Gustavsson
2017-12-13Merge branch 'bjorn/compiler/use-stacktrace-syntax'Björn Gustavsson
* bjorn/compiler/use-stacktrace-syntax: Use the new syntax for retrieving stack traces
2017-12-13Merge pull request #1654 from bjorng/bjorn/kernel/file_io_serverBjörn Gustavsson
Slightly optimize reading of cooked files in list mode
2017-12-13beam_util: Fix bug in is_not_used/3Björn Gustavsson
01835845579e9 fixed some problems, but introduced a bug where is_not_used/3 would report that a register was not used when it in fact was.
2017-12-13Merge branch 'maint'Henrik Nord
2017-12-12kernel: Try fix/skip prim_file_SUITE:large_write for valgrindSverker Eriksson
by limiting the memory usage. Our valgrind test machine (pharazon) seems to get totally swamped by this test case.
2017-12-12jinterface: add package name for Java 9Vlad Dumitrescu
The Java 9 module system requires a module name to be defined. If none is provided, a default one is used derived from the JAR name, but that one is not very unique and can create problems. The recommended module name is the longest common package name for the source code included.
2017-12-12Skip ssl_bench_SUITE, normallyRaimo Niskanen
2017-12-11Merge branch 'maint'Lars Thorsen
2017-12-09v3_codegen: Eliminate unused function argumentsBjörn Gustavsson
758712d6294 changed the need_heap/2 function so that it stopped using its second argument. Remove the second argument from need_heap(), and update all callers to similarly remove unused arguments.
2017-12-08beam_disasm: Remove support for obsolete instructionsBjörn Gustavsson
2017-12-08guard_SUITE: Test is_bitstring/1 and is_map/1 on literalsBjörn Gustavsson
2017-12-08Use the new syntax for retrieving stack tracesBjörn Gustavsson
2017-12-08Update release notesErlang/OTP
2017-12-08Update version numbersErlang/OTP
2017-12-08Merge branch 'lars/ssl/update-runtime-dependencies' into maintLars Thorsen
* lars/ssl/update-runtime-dependencies: [ssl] Update runtime dependencies
2017-12-08Merge branch 'maint'Hans Nilsson
* maint: ssh: Update runtime dependencies of ssh
2017-12-08Merge pull request #1634 from bjorng/bjorn/get_stacktrace-syntax/OTP-14692Björn Gustavsson
Add syntax in try/catch to retrieve the stacktrace directly
2017-12-08Merge branch 'bjorn/compiler/cover-v3_codegen'Björn Gustavsson
* bjorn/compiler/cover-v3_codegen: v3_codegen: Simplify #k_guard_break{} v3_codegen: Remove uncovered clause in bs_rename_ctx/4 Cover handling of #k_call{} in v3_codegen:bsm_rename_ctx/4 v3_codegen: Move guard_cg_list/6 to a more logical place v3_codegen: Remove unnecessary clause for handling #cg_block{} v3_codegen: Remove unnecessary adding of variable to set
2017-12-08[ssl] Update runtime dependenciesLars Thorsen
2017-12-08ssh: Update runtime dependencies of sshHans Nilsson
2017-12-08Slightly optimize reading of cooked files in list modeBjörn Gustavsson
In general, the new NIF-based file routines are faster than the old efile driver. However, on some computers, building the entire OTP system is somewhat slower. It turns out that it is because 'erlc' cheated by turning off the IO thread pool (using '+A0') to avoid context switches between scheduler threads and threads in the IO thread pool. The new file routines perform IO on dirty IO threads, and there is (by intent) no way to force the operations to occur on scheduler threads to avoid the context switches What we can do to is to use a small (4Kb) read-ahead buffer for files opened for reading (only) in list mode (which is how the compiler opens its input files). The buffering reduces the number of context switches between scheduler threads and dirty IO threads. On my computer that seems to slightly speed up building of the entire OTP system. The buffer should do no harm. The only potential for harm I can think of is random access to a file opened in read mode, where the read-ahead buffer could slightly decrease performance. That does not seems to be a likely use case in practice, though.
2017-12-07Merge branch 'hasse/stdlib/base64/OTP-14624'Hans Bolinder
* hasse/stdlib/base64/OTP-14624: stdlib: Add base64 benchmarks stdlib: Do not check base64 input more than needed stdlib: Minor optimization of base64 stdlib: Use binary_to_list in base64 when it is faster stdlib: Optimize base64 functions
2017-12-07Merge branch 'maint'Anders Svensson
2017-12-07Merge branch 'anders/diameter/typo/OTP-14805' into maintAnders Svensson
* anders/diameter/typo/OTP-14805: vsn -> 2.1.3 Update appup for 20.2 Fix doc typo
2017-12-07v3_codegen: Simplify #k_guard_break{}Björn Gustavsson
It turns out that we don't need to keep track of locked variables, because the locked variables are always the same variables that will be alive after a #k_guard_break{}.
2017-12-07v3_codegen: Remove uncovered clause in bs_rename_ctx/4Björn Gustavsson
Remove handling of #k_match{} in bsm_rename_ctx/4. It can never be reached because bsm_rename_ctx/4 will never recurse into a block that is not in the scope of a #k_protected{}, and in a #k_protected{}, #k_match{} is not allowed.
2017-12-07Cover handling of #k_call{} in v3_codegen:bsm_rename_ctx/4Björn Gustavsson
2017-12-07v3_codegen: Move guard_cg_list/6 to a more logical placeBjörn Gustavsson
Put guard_cg_list/6 directly after guard_cg/5.
2017-12-07v3_codegen: Remove unnecessary clause for handling #cg_block{}Björn Gustavsson
The function guard_cg/5 handles constructs found within the records #k_guard_clause{] and #k_protected{}. Since #k_guard_clause{} can only contain a #k_protected{}, and #k_protected{} in turn cannot contain a #cg_block{}, the clause for handling #cg_block{} in guard_cg/5 is never executed and can be removed.
2017-12-07v3_codegen: Remove unnecessary adding of variable to setBjörn Gustavsson
The variable being added will already be there (added by v3_kernel).
2017-12-07Merge pull request #1652 from ↵Björn Gustavsson
bjorng/bjorn/compiler/fix-excessive-allocations/ERL-514 Avoid excessive stack frame allocation OTP-14808
2017-12-06digraph: Document a bad_edge errorJean-Alexandre Barszcz
2017-12-06Add a test case for ERL-514Björn Gustavsson
2017-12-06beam_dead: Improve creation of select_val from is_eq_exactBjörn Gustavsson
When converting a comparison BIF (such as '=:=') to a test instruction, run the other optimizations on the result. When trying to combine is_eq_exact tests, handle the case that is_eq_exact is followed by a jump instead of a label to handle a test that has been newly converted from a BIF. Taken together, those changes will coalesce more is_eq_exact instructions into select_val instructions.
2017-12-06v3_codegen: Avoid excessive stack frame allocationBjörn Gustavsson
A 'case' or 'if' that does not occur last in a function clause will always force a stack frame. The reasoning behind this is that in most uses of 'case' there will be a function call from within the 'case'. When there is a function call, the stack frame is needed both to save the continuation pointer and to save any X registers that will need to survive the call. When there is no function call from a 'case', the resulting stack frame is annoying. There will be register shuffling, and the existence of the stack frame may thwart many optimizations (for example, in beam_dead). Therefore, add an extra pass to v3_codegen to avoid creating a stack frame when not needed. https://bugs.erlang.org/browse/ERL-514
2017-12-06Add -MMD option to erlcTony Rogvall
The compile option makedep_side_effect, erlc -MMD, instructs the compiler to emit dependencies and continue to compile as normal.
2017-12-05Merge branch 'maint'Ingela Anderton Andin
Conflicts: lib/ssl/src/ssl_cipher.erl lib/ssl/src/ssl_handshake.erl
2017-12-05Merge branch 'ingela/ssl/cipher-suites/OTP-14749' into maintIngela Anderton Andin
* ingela/ssl/cipher-suites/OTP-14749: ssl: Use maps for cipher suites internally
2017-12-05ssl: Use maps for cipher suites internallyIngela Anderton Andin
This is a preparation for improvements to come in option handling and support for TLS-1.3
2017-12-04Merge branch 'maint'Peter Andersson
2017-12-04Merge branch 'peppe/common_test/auto_cleanup/OTP-13832' into maintPeter Andersson
* peppe/common_test/auto_cleanup/OTP-13832: Add tests and doc for the new remaining_test_procs function Implement function that finds disposable test processes Tag Common Test system processes using process dictionary Add app name tag in process dictionary OTP-13832
2017-12-04Add tests and doc for the new remaining_test_procs functionPeter Andersson
2017-12-04Merge branch 'raimo/ssl-dist-bench/OTP-14657'Raimo Niskanen
* origin/raimo/ssl-dist-bench/OTP-14657: Write SSL distribution benchmarks Polish SSL distribution Handle whitebox test message Correct distribution doc Use SNI when connecting Use -ssl_dist_optfile options Read in -ssl_dist_optfile to ETS Facilitate test certs with common root Stop checking DNS name for SNI
2017-12-04Merge branch 'raimo/ssl-dist-optfile-backport/OTP-14657' into maintRaimo Niskanen
* raimo/ssl-dist-optfile-backport/OTP-14657: Use SNI when connecting Use -ssl_dist_optfile options Read in -ssl_dist_optfile to ETS Facilitate test certs with common root Stop checking DNS name for SNI