Age | Commit message (Collapse) | Author |
|
If a type only has one clause and if the pattern is literal,
the matching can be done more efficiently by directly comparing
with the literal.
Example:
find(String, "") -> String;
find(String, <<>>) -> String;
find(String, SearchPattern) ->
.
.
.
Without this optimization, the relevant part of the code would look
this:
{test,bs_start_match2,{f,3},2,[{x,1},0],{x,2}}.
{test,bs_test_tail2,{f,4},[{x,2},0]}.
return.
{label,3}.
{test,is_nil,{f,4},[{x,1}]}.
return.
{label,4}.
.
.
.
That is, if {x,1} is a binary, a match context will be built to
test whether {x,1} is an empty binary.
With the optimization, the code will look this:
{test,is_eq_exact,{f,3},[{x,1},{literal,<<>>}]}.
return.
{label,3}.
{test,is_nil,{f,4},[{x,1}]}.
return.
{label,4}.
.
.
.
|
|
OTP-13764
Implement uniform floats with decreasing distance towards 0.0
|
|
|
|
|
|
|
|
|
|
|
|
* ingela/dtls/no-packet-upd/OTP-14664:
ssl: No support for packet option over unreliable transport
|
|
|
|
* ingela/ssl/extend-hostname-check/OTP-14632/OTP-14655:
ssl: Fix test cases to work on all test platforms
public_key: Fix dialyzer spec
ssl: Sessions must be registered with SNI if exists
ssl: Extend hostname check to fallback to checking IP-address
public_key, ssl: Handles keys so that APIs are preserved correctly
|
|
* siri/observer/multiple-ms-clauses/ERL-489:
Allow multiple clauses in match spec
|
|
* maint:
stdlib: Make ets:i/1 exit cleaner upon ^D (old Erlang shell)
|
|
* hasse/stdlib/fix_ets_i_1/OTP-14663:
stdlib: Make ets:i/1 exit cleaner upon ^D (old Erlang shell)
|
|
|
|
|
|
* lukas/jinterface/disable-travis:
jinterface: Skip tests when hostname cannot be resolved
|
|
* dgud/dot_erlang/OTP-14439:
fixup! Do not load .erlang from current dir
erlc: Do not load .erlang
escript: Do not load .erlang
dialyzer: Do not load .erlang
reltool: Add no_dot_erlang bootfiles
Enable usage of no_dot_erlang in bootstrap
Do not load .erlang from current dir
|
|
* dgud/kernel/get_chars_raw_echo_off:
Let io:get_chars/2 (echo off) fetch chars without eol
|
|
Check that the hostname can be resolved by the native resolver.
What normally has happened when it cannot is that gethostname()
returned a fqdn and `hostname -s` is not part of /etc/hosts.
This is solved on the erlang side by adding `hostname -s` to inet_db,
but java does not have a similar mechanism, so it fails when
it tries to connect to `hostname -s`.
This caused jinterface tests to fail when run in such an environment,
and travis-ci recently started doing this.
|
|
Conflicts:
lib/ssl/src/ssl_connection.erl
|
|
* ingela/ssl/funtion-name-macro:
ssl: Use ?FUNCTION_NAME
|
|
Use ?FUNCTION_NAME macro to enhance code as we will not back-port this
version of the ssl application to versions pre OTP 19.
|
|
|
|
|
|
|
|
|
|
Use hradcoded rsa keys as this will work on all legacy platforms.
In test case dns_name_reuse only do the relevant client check in the
final test.
|
|
|
|
* ingela/ssl/remove-deprcated-string:
ssl: Use new string functions
|
|
|
|
|
|
If no SNI is available and the hostname is an IP-address also check
for IP-address match. This check is not as good as a DNS hostname check
and certificates using IP-address are not recommended.
|
|
(Slightly) optimize catch and try/catch
OTP-14683
|
|
hipe: Extend the basic_SUITE with one more test
|
|
* rickard/null-chars/ERL-370/OTP-14543:
Don't allow null chars in various strings
Conflicts:
erts/emulator/beam/erl_alloc.types
erts/preloaded/ebin/erlang.beam
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* maint:
Revert "Merge branch 'rickard/null-char-filenames/ERL-370/OTP-14543' into maint"
|
|
This reverts commit 0717a2194e863f3a78595184ccc5637697f03353, reversing
changes made to 71a40658a0cef8b3e25df3a8e48a72d0563a89bf.
|
|
|
|
|
|
|
|
|
|
An IP address could in some circomstances be converted to a list and then to_lower was applied to it.
So {$A,1,1,1} was changed to {$a,1,1,1} which of course didn't match....
|
|
|
|
Timeout must be set in suite/0 or init_per_testcase not init_per_group
or init_per_suite
|