Age | Commit message (Collapse) | Author |
|
A 'case' expression will force a stack frame (essentially in the same
way as a function call), unless it is at the end of a function.
In sys_core_fold there is an optimization that can optimize one-armed
cases such as:
case Expr of
Pat1 ->
DoSomething;
Pat2 ->
erlang:error(bad)
end,
MoreCode.
Because only one arm of the 'case' can succeed, the code after the
case can be move into the successful arm:
case Expr of
Pat1 ->
DoSomething,
MoreCode;
Pat2 ->
erlang:error(bad)
end.
Thus, the 'case' is at the end of the function and it will no longer
need a stack frame.
However, the optimization in sys_core_fold would not be applied if
there were more than one failing clause such as in this code:
case Expr of
Pat1 ->
DoSomething,
MoreCode;
Pat2 ->
erlang:error(bad);
_ ->
erlang:error(case_clause)
end.
Generalize the optimization to handle any number of failing
clauses at the end of the case.
Reported-by: bugs.erlang.org/browse/ERL-452
|
|
Fix a proliferated typo in ssl
|
|
|
|
array: fix spec typo
|
|
* maint:
Updated OTP version
Update release notes
Update version numbers
Fix doc for the 'quiet' option; it defaults to false
asn1: Fix missing quotes of external encoding call
Add a dedicated close function for TCP ports to prevent issues like ERL-430/448
Close TCP ports properly on send timeout
erts: Add missing release note
|
|
* maint-20:
Updated OTP version
Update release notes
Update version numbers
Fix doc for the 'quiet' option; it defaults to false
asn1: Fix missing quotes of external encoding call
Add a dedicated close function for TCP ports to prevent issues like ERL-430/448
Close TCP ports properly on send timeout
erts: Add missing release note
|
|
|
|
|
|
* sverker/asn1/missing-quotes/OTP-14519:
asn1: Fix missing quotes of external encoding call
|
|
* john/kernel/fix-disk-log-docs/OTP-14498:
Fix doc for the 'quiet' option; it defaults to false
|
|
|
|
|
|
|
|
|
|
Fix typo in httpc.xml: http -> httpc
|
|
|
|
* raimo/kernel/fix-spec-for-inet-get_rc-0/ERL-454:
Improve spec and doc for inet:get_rc/0
|
|
|
|
into maint
* raimo/stdlib/stop-deprecated-warn-crypto-rand_bytes-1/ERL-459:
Change crypto:rand_bytes/1 deprecated -> removed
|
|
|
|
introduced by 8e4a9864385242b962ce7446f7daa4f58cfecca5.
|
|
|
|
|
|
|
|
Fix typo doc of init in gen_statem
|
|
|
|
introduced in 03f3ec41f5468413235e3923a542a11cfd631089
|
|
|
|
Fixes ERL-343 parsing 'df' output by os_mon:disksup on POSIX and SUSv3 systems
|
|
|
|
|
|
|
|
* ingela/public_key/ssl/CRL-error-propagation/OTP-14236:
ssl: Try to make asn1 decode errors of certificates as specific as possible
ssl,public_key: Provide details for CRL check failiures when revokation state can not be determined
ssl: Enhance error logging
|
|
|
|
Log actual http status code of response.
OTP-14510
|
|
Add stacktrace entries to BIF calls from emulator
|
|
|
|
state can not be determined
|
|
|
|
|
|
|
|
In OpenSSL version >= 1.0.1 the hash algos sha, sha224, sha256, sha384 and sha512 are supported.
In 1.0.0 sha, sha224 and sha256 are supported
In 0.9.8 sha is supported
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Same comment as previous commit applies.
|
|
The function pkey_verify_nif handles pk signing with a general approach that is enabled by EVP api in OpenSSL 1.0.0
The rejected PR838 introduced that function and lots of other stuff so far neglected. It also made some different rsa padding methods possible (included).
Since the crypto code base has changed significantly, it was an overhelming work to try a git merge. Therefore this commit is a manual move of the source code from the PR into current maint.
This commit concentrates to use the new function compatible with the old functions. This includes some #if:s for different versions, compatibility code for 0.9.8.
Lacking: test cases, exporting the more general erlang api, documentation...
|