Age | Commit message (Collapse) | Author |
|
If internal seq-trace tuple is on old heap
an incorrect ref from old to new heap was made.
|
|
jhogberg/john/erts/seq-trace-on-spawn/OTP-15232/ERL-700
Propagate seq_trace tokens to spawned processes
|
|
The types named_curve/0 and sign_scheme/0 consist of many
options and may also change with time. Since they are not
exported, users must either repeat and maintain their specs,
or use a general type like any() if they want to refer
to them.
|
|
|
|
|
|
The types named_curve/0 consist of many
options and may also change with time. Since they are not
exported, users must either repeat and maintain their specs,
or use a general type like any() if they want to refer
to them.
|
|
If the log file name was given as a relative path, logger_std_h
erroneously tried to create a new file in a new location if the
current working directory of the node was changed. This is now
corrected.
|
|
|
|
Replaced the monitor (to the tc runner process) with
a link. The point is that if the test case "stalls",
the ts (ct) framework shall kill it (with the test case
process).
OTP-15764
|
|
The function used by "all" the agent test cases to
actually run the operations have been improved.
There was previously very little monitoring of the
result. Have added some (minor) checks, both before
trying to running the test case, and "during".
Such as, is the node we attempt to use actually alive.
Then, when we spawn the test case runner process on
the (remote) node, make it report back before trying
to run the actuall test case (so we know that the spawn
worked.
Also added a monitor of the process, so that we will
detect fatal errors.
OTP-15764
|
|
OTP-15764
|
|
|
|
|
|
A repeated test could be optimized away. Example:
bar(A) ->
if is_bitstring(A) ->
if is_binary(A) ->
binary;
true ->
bitstring
end;
true ->
other
end.
In the example, the `is_binary/1` test would be optimized away,
basically turning the example into:
bar(A) ->
if is_bitstring(A) ->
bitstring;
true ->
other
end.
Thanks user Marcus Kruse in the Elixir forum for noticing this bug.
|
|
|
|
The compiler could crash in the beam_ssa_dead pass while compiling
complex nested `case` expressions. See the added test case for an
example and explanation.
https://bugs.erlang.org/browse/ERL-956
|
|
Remove possibility to compile wx as a standalone package, outside of
OTP src tree.
|
|
|
|
|
|
* maint:
Fix loading of Core Erlang code for extracting a map element
Fix unsafe optimizations where guard tests could be removed
|
|
into maint
* bjorn/compiler/fix-unloadable-code-patch/ERL-955/OTP-15846:
Fix loading of Core Erlang code for extracting a map element
|
|
* bjorn/compiler/fix-beam_ssa_dead-patch/OTP-15845:
Fix unsafe optimizations where guard tests could be removed
|
|
* john/misc-fixes-and-additions:
beam_validator: Fail when trying to set the type of a dead value
beam_validator: Fix bad comment formatting/wording
erts: Assert that GC should not be disabled twice
|
|
* maint:
Fix compiler crash in beam_except
|
|
* bjorn/compiler/fix-beam_except/ERL-954/OTP-15839:
Fix compiler crash in beam_except
|
|
The compiler would crash in `beam_except` while compiling this
function:
bar(Req) ->
ok = case Req of
"POST" -> {error, <<"BAD METHOD ", Req/binary>>, Req};
_ -> ok
end.
https://bugs.erlang.org/browse/ERL-954
|
|
|
|
* ingela/public_key/ERL-915/OTP-15843:
public_key: Update dialyzer specs to better conform to accepted input
|
|
Move type-based optimizations from Core Erlang passes to SSA passes
|
|
* maint:
Fix unsafe negative type inference
|
|
* bjorn/compiler/fix-unsafe-type-inference/OTP-15838:
Fix unsafe negative type inference
|
|
|
|
The following Core Erlang code could not be loaded:
'f'/1 = fun (_1) ->
case <_1> of
<~{'foo':='foo'}~> when 'true' ->
_1
end
Loading would fail with the following message:
beam/beam_load.c(2314): Error loading function example:f/1: op i_get_map_element_hash p x a u x:
no specific operation found
https://bugs.erlang.org/browse/ERL-955
|
|
A repeated test could be optimized away. Example:
bar(A) ->
if is_bitstring(A) ->
if is_binary(A) ->
binary;
true ->
bitstring
end;
true ->
other
end.
In the example, the `is_binary/1` test would be optimized away,
basically turning the example into:
bar(A) ->
if is_bitstring(A) ->
bitstring;
true ->
other
end.
Thanks user Marcus Kruse in the Elixir forum for noticing this bug.
|
|
|
|
|
|
|
|
|
|
* maint:
ssl: Improve standards compliance document
ssl: Update standards compliance
ssl: Add openssl interop test for TLS 1.3 client
ssl: Improve interoperability with openssl
ssl: Implement hello_retry_request (client)
ssl: Generate only one key_share entry (client)
ssl: Remove calls to tls_connection:next_record/1
ssl: Implement peer verification
ssl: Validate selected cipher suite and key_share
ssl: Add tests for TLS 1.3 client
ssl: Implement basic TLS 1.3 client
|
|
Add basic TLS 1.3 client
|
|
The type optimizer pass (`beam_ssa_type`) could make unsafe
negative inferences. That is, incorrectly infer that a variable
could *not* have a particular type.
This bug was found when adding another optimization. It is not
clear how write a failing test case without that added optimization.
|
|
OTP-15431
|
|
|
|
|
|
Handle the NewSessionTicket post-handshake message that is sent
by openssl s_server after a successful handshake.
|
|
Simplify sys_core_fold by removing optimizations by removing the
optimizations that have been obsoleted by the preceding commits.
|
|
This commit makes it possible to see relative differences in the HTML
page that visualizes results from the ETS throughput benchmark that is
included in the test suite ets_SUITE. This change will make it easier
to compare different ETS table configurations and implementations.
|
|
Remove is_function/1,2 tests if that are known to never fail.
|
|
|
|
`=:=` is faster than `==`, so when they would return the same result,
we want to replace `==` with `=:=`. There is currently such an optimization
in sys_core_fold, but the optimimization will be more effective if
done in beam_ssa_type because beam_ssa_type has better type information.
|