Age | Commit message (Collapse) | Author |
|
The remaining call (in module mnesia_lib) is taken care
of in the following commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eliminate get_list/3 internally in the compiler
|
|
Fix incorrect handling of floating point instructions
|
|
* maint:
Fix incorrect type interference of integer ranges
Conflicts:
lib/compiler/src/beam_type.erl
|
|
* bjorn/compiler/fix-beam_type-bug/OTP-14898:
Fix incorrect type interference of integer ranges
|
|
|
|
1a029efd1ad47f started to run the beam_block pass a second time.
Since it is run after introduction of the optimized floating point
instructions, it must handle those instructions correctly.
In particular, it must be careful when hoisting allocation
instructions. For example, the following code:
{test_heap,{alloc,[{words,0},{floats,1}]},5}.
.
.
.
{fmove,{fr,2},{x,0}}.
{allocate_zero,1,4}.
must not be rewritten to:
{test_heap,{alloc,[{words,0},{floats,1}]},5}.
.
.
.
{allocate_zero,1,4}.
{fmove,{fr,2},{x,0}}.
because beam_validator will not consider it safe. (The code may
actually be safe depending on what the code between the two allocation
instructions do.)
https://bugs.erlang.org/browse/ERL-555
|
|
runtime_tools: Add scheduler module
|
|
|
|
Currently HiPE amd64 assumes the runtime system code is loaded into
the low 2G of the address space. However, this is not the case when
PIE is enabled, it is loaded into a random location. So trampolines
are required to call BIFs, and also we have first to load the address
of sse2_fnegate_mask to a regisiter before xorpd in fchs.
|
|
|
|
|
|
Make hipe compile option verify_gcsafe the default
|
|
* bjorn/compiler/integer-encoding:
Speed up misc_SUITE:integer_encoding/1
beam_asm: Encode big numbers as literals
|
|
|
|
* maint:
ssh: Disable test failing if docker command exists
ssh: Skeleton of build scripts for DropBear image
ssh: Can use DropBear SSH dockers
ssh: Remove duplicate test cases from ssh_to_openssh_SUITE
ssh: Add more tests
ssh: Change the default list of ssh and ssl version images
ssh: Enable building openssh 0.9.8[a-l]
ssh: Add LibreSSL to compat tests
|
|
* hans/ssh/docker_compat_tests/OTP-14194:
ssh: Disable test failing if docker command exists
ssh: Skeleton of build scripts for DropBear image
ssh: Can use DropBear SSH dockers
ssh: Remove duplicate test cases from ssh_to_openssh_SUITE
ssh: Add more tests
ssh: Change the default list of ssh and ssl version images
ssh: Enable building openssh 0.9.8[a-l]
ssh: Add LibreSSL to compat tests
|
|
Instructions that produce more than one result complicate
optimizations. get_list/3 is one of two instructions that
produce multiple results (get_map_elements/3 is the other).
Introduce the get_hd/2 and get_tl/2 instructions
that return the head and tail of a cons cell, respectively,
and use it internally in all optimization passes.
For efficiency, we still want to use get_list/3 if both
head and tail are used, so we will translate matching pairs
of get_hd and get_tl back to get_list instructions.
|
|
|
|
* ingela/ssl/no-dsa-libressl:
ssl: Check OpenSSL version for DSS (DSA) support
|
|
This test is just to get a marking in test result listings where a docker system is installed
|
|
|
|
|
|
misc_SUITE:integer_encoding/1 was written to make sure
that big integers were encoding correctly in a reasonable
amount of time. Now that beam_asm will encode big integers
as literals, we can reduce the scope of integer_encode/1.
That will make it significantly faster, especially when
cover is running.
|
|
|
|
|
|
Numbers that clearly are not smalls can be encoded as
literals. Conservatively, we assume that integers whose
absolute value is greater than 1 bsl 128 are bignums and
that they can be encoded as literals.
Literals are slightly easier for the loader to handle than
huge integers.
|
|
Do local common sub expression elimination (CSE)
|
|
Do some minor optimizations of binary matching
|
|
|
|
|
|
|
|
|
|
|
|
* ingela/DTLS-supported:
ssl: Fix typo
dtls: Add DTLS handling to utility functions
ssl: Document enhancment
ssl: Document DTLS
|
|
|
|
LibreSSL-2.6.3 dropped DSS (DSA) support
|
|
* dgud/wx/fix-driver-usage:
wx: open_port doesn't allow 0 terminated strings anymore
|
|
Optimize away unnecessary test_unit instructions that verify that
binaries are byte-aligned. In a tight loop, eliminating an
instruction can have a small but measurable improvement of the
execution time.
|
|
Separate the simplification of instructions from updating of the
type data base.
|
|
Conflicts:
lib/stdlib/src/gen_statem.erl
|
|
* raimo/stdlib/optimize-gen_statem:
Optimize plain call response time
Correct typo in design principles for gen_statem
|