Age | Commit message (Collapse) | Author |
|
|
|
* ingela/ssl/dtls-alert-handling/OTP-14078:
dtls: Customize alert handling for DTLS over UDP
|
|
|
|
* ingela/ssl/tls-vs-dtls-version:
ssl: DTLS packet support
ssl: Enable dtls tests
ssl: Adjust ALPN and next protocol to work with DTLS
ssl: Enable more DTLS tests
ssl: negotiated_hashsign/4 expects TLS version to function correctly
|
|
* bjorn/erts/improve-beam-ops:
arith_instrs.tab: Clean up bsl/bsr
beam_makeops: Stop using the Arg() macro
Eliminate the beam_instrs.h file
Add the 'S' type for a register source
Introduce more packable types
Pack cold instructions too
Pack instructions using 'q', 'c', and 's'
beam_makeops: Rewrite the packer, fixing several bugs
Make map update instruction functions indepedent of instruction format
beam_makeops: Introduce the new type 'W' (machine word)
Use the wait_timeout_{un}locked_int instructions
beam_makeops: Remove the unused aliases 'N' and 'U'
beam_makeops: Add an additional sanity check
beam_makeops: Prevent truncation when packing 'I' values
Improve performance for bsl/bsr
arith_instrs.tab: Eliminate warning for uninitialized value
beam_emu: Remove unused macros
beam_makeops: Remove unused subroutine save_c_code
Add missing -no_next for badarg instruction
|
|
Test that DTLS handles "high" level packet types as http-packet types.
Low level packet type as {packet, 2} we will consider later if they
should be relevant to support or not.
|
|
Conflicts:
OTP_VERSION
|
|
* maint-20:
Updated OTP version
Prepare release
Accept non-binary options as socket-options
Bump version
Fix broken handling of default values in extensions for PER
compiler: Fix live regs update on allocate in validator
Take fail labels into account when determining liveness in block ops
Check for overflow when appending binaries, and error out with system_limit
|
|
Eliminate the all-purpose variable 'ires'. Replace it with several
variables used that are used for their specific purpose. Narrow
the scope of the variables.
Do this to improve readability. It is not expected that it should
any impact on performance.
|
|
* maint:
Unicode support for erlang:display_string/1
|
|
* rickard/unicode-display_string/OTP-14545:
Unicode support for erlang:display_string/1
|
|
|
|
|
|
* lukas/erts/fix_dirty_trace_message_flush/OTP-14538:
erts: Fix incorrect merge of dirty_trace_message_flush fix to master
|
|
* sverker/halt-unicode-slogan/OTP-14553:
erts: Allow any unicode string as crash dump slogan
erts: Generate crash_dump slogan string as UTF8
erts: Refactor erts_unicode_list_to_buf
|
|
|
|
Generated code uses 'I' explicitly in other places, so it
can as well use 'I' when accessing the operands for instructions.
|
|
The beam_instrs.h file serves no useful purpose. Put the
instructions in beam_hot.h instead.
|
|
The type 'd' could be used both for destination registers and
source register.
Restrict the 'd' type to only be used for destinations, and
introduce the new 'S' type to be used when a source must be
a register.
|
|
i.e the first argument to erlang:halt
|
|
Also run this suit on all TLS versions
|
|
Fix file owner access permission in ssh_sftp module
OTP-14550
|
|
|
|
|
|
maint-20
* hans/ssh/non_binary_socket_options/ERIERL-63/OTP-14541:
Accept non-binary options as socket-options
|
|
maint-20
* bjorn/asn1/broken-default-in-ext/ERIERL-60/OTP-13011:
Bump version
Fix broken handling of default values in extensions for PER
|
|
* john/erts/fix-binary-append-syslimit/OTP-14524:
Check for overflow when appending binaries, and error out with system_limit
# Conflicts:
# erts/emulator/test/bs_construct_SUITE.erl
|
|
'john/compiler/fail-labels-in-blocks-otp-19/ERIERL-48/OTP-14522' into maint-20
* john/compiler/fail-labels-in-blocks-otp-19/ERIERL-48/OTP-14522:
compiler: Fix live regs update on allocate in validator
Take fail labels into account when determining liveness in block ops
|
|
|
|
Problems with failure of ssl_certificate_verify_SUITE when enabling DTLS-1
tests in ssl_basic_SUITE was a combination of the bug fixed by the
previous commit and missing clean up code for dtls_protocol_versions
application environment variable
|
|
Only DTLS specific code deals with DTLS version, when common code
is used the DTLS version should be converted to the corresponding TLS version.
|
|
* maint:
Fix ANSI support in the console
|
|
Fix ANSI support in the console
OTP-14549
|
|
The 'I' type can be replaced with 't' if we know that the value
will fit in 16 bits. The 'P' type can be replaced with 'Q' if
it is used for deallocating a stack frame.
|
|
Cold instructions used to be cooler (less frequently executed),
so it did not seem worthwhile to pack their operands. Now bit
syntax instructions are included among the cold instructions,
and they are frequently used.
|
|
Update the pack engine to safely push literal operands to the pack
stack and to safely pop them back to another code address. That
will allow packing of more instructions.
|
|
The packer had several bugs and limitations. For instance, on
a 32-bit Erlang virtual machine it would gladly pack three
't' values into one word even though it would be not safe.
The rewritten version will be more careful how much it packs
into each word. It will also be able to do packing for more
instructions.
|
|
Having the helper functions for map update knowing all the details
of operands for the instruction will make it difficult to make
improvements such as better packing.
|
|
As a preparation for potentially improving packing in the future,
we will need to make sure that packable types have a defined maximum
size.
The packer algorithm assumes that two 'I' operands can be packed
into one 64-bit word, but there are instructions that use an 'I'
operand to store a pointer. It only works because those instructions
are not packed for other reasons.
Introduce the 'W' type and use it for operands that don't fit in
32 bits.
|
|
The transformations were incorrect.
|
|
I don't remember what they were used for, but they are certainly
no longer used.
|
|
If a type has a size in %arg_size, it should also have
a defined pattern in %bit_type.
|
|
BEAM_WIDE_MASK covered the 16 right-most bits, instead of the 32
right-most bits. This bug will bite us when we'll do more packing in
the future.
This bug has been harmless in the past. It has been used in
test_heap and allocate instructions for the number of heap words
needed. It would be theoretically possible to construct a program
that would need 65536 or more heap words, but it is hard to imagine
a practical use for such a program. (The program would have to build
a tuple or list with at least one variable and the rest of the elements
being literals.)
|
|
Eliminate the variable used for holding which BIF (bsl or bsr).
It seems to improve performance slightly.
|
|
Make it clear to GCC that shift_left_count is initialized.
|
|
|
|
RFC: ecdhe_psk cipher suites
OTP-14547
|
|
|
|
'john/compiler/fail-labels-in-blocks-otp-18/ERIERL-48/OTP-14522' into maint
* john/compiler/fail-labels-in-blocks-otp-18/ERIERL-48/OTP-14522:
compiler: Fix live regs update on allocate in validator
Take fail labels into account when determining liveness in block ops
Conflicts:
lib/compiler/src/beam_utils.erl
|
|
* lukas/erts/HRelease-assert:
erts: Add HRelease endp assert
|