Age | Commit message (Collapse) | Author |
|
* bjorn/compiler/coverage:
beam_utils: Refactor combine_alloc_lists() to cover more lines
map_SUITE: Cover beam_utils:bif_to_test/3
beam_disasm: Remove support for obsolete instructions
guard_SUITE: Test is_bitstring/1 and is_map/1 on literals
|
|
* maint:
Updated OTP version
Prepare release
ssh: Special treatment of OpenSSH clients >= 7.2 rsa-sha2-* public keys
Conflicts:
OTP_VERSION
|
|
* maint-20:
Updated OTP version
Prepare release
ssh: Special treatment of OpenSSH clients >= 7.2 rsa-sha2-* public keys
|
|
|
|
* ingela/inets/http-benchmarks:
inets: Add comparable benchmark tests
inets: Create httpd benchmark framwork
|
|
|
|
|
|
|
|
|
|
maint-20
* hans/ssh/openssh_client_pubkey_sha2/ERL-531/OTP-14827:
ssh: Special treatment of OpenSSH clients >= 7.2 rsa-sha2-* public keys
|
|
Thoose clients signs with sha instead of sha2-*. Try first to verify with the correct one, and if that fails, retry with sha1.
|
|
|
|
* ingela/dtls/fallback-SCSV/OTP-14828:
ssl: Align (with DTLS) and correct TLS_FALLBACK_SCSV handling
|
|
|
|
Add -MMD option to erlc
OTP-14830
|
|
digraph: Document a bad_edge error
|
|
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.
|
|
|
|
=== OTP-20.1.7.1 ===
Changed Applications:
- kernel-5.4.0.1
Unchanged Applications:
- asn1-5.0.3
- common_test-1.15.2
- compiler-7.1.3
- cosEvent-2.2.1
- cosEventDomain-1.2.1
- cosFileTransfer-1.2.1
- cosNotification-1.2.2
- cosProperty-1.2.2
- cosTime-1.2.2
- cosTransactions-1.3.2
- crypto-4.1
- debugger-4.2.3
- dialyzer-3.2.2
- diameter-2.1.2
- edoc-0.9.1
- eldap-1.2.2
- erl_docgen-0.7.1
- erl_interface-3.10
- erts-9.1.5
- et-1.6.1
- eunit-2.3.4
- hipe-3.16.1
- ic-4.4.2
- inets-6.4.4
- jinterface-1.8
- megaco-3.18.2
- mnesia-4.15.1
- observer-2.5
- odbc-2.12
- orber-3.8.3
- os_mon-2.4.3
- otp_mibs-1.1.1
- parsetools-2.1.5
- public_key-1.5.1
- reltool-0.7.5
- runtime_tools-1.12.2
- sasl-3.1
- snmp-5.2.8
- ssh-4.6.2
- ssl-8.2.2
- stdlib-3.4.2
- syntax_tools-2.1.3
- tools-2.11
- wx-1.8.2
- xmerl-1.3.15
Conflicts:
OTP_VERSION
lib/kernel/doc/src/notes.xml
lib/kernel/doc/src/os.xml
lib/kernel/src/os.erl
lib/kernel/vsn.mk
otp_versions.table
|
|
* bjorn/compiler/use-stacktrace-syntax:
Use the new syntax for retrieving stack traces
|
|
Slightly optimize reading of cooked files in list mode
|
|
|
|
|
|
* lukas/kernel/os_cmd_max_size/OTP-14823:
kernel: Add os:cmd/2 with max_size option
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* lars/ssl/update-runtime-dependencies:
[ssl] Update runtime dependencies
|
|
* maint:
ssh: Update runtime dependencies of ssh
|
|
* hans/ssh/update_runtime_dep:
ssh: Update runtime dependencies of ssh
|
|
Add syntax in try/catch to retrieve the stacktrace directly
|
|
* 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
|
|
|
|
|
|
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.
|
|
* 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
|
|
|
|
* anders/diameter/typo/OTP-14805:
vsn -> 2.1.3
Update appup for 20.2
Fix doc typo
|
|
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{}.
|
|
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.
|
|
|
|
Put guard_cg_list/6 directly after guard_cg/5.
|
|
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.
|