aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-08-24Merge branch 'maint'Ingela Anderton Andin
2017-08-24Merge branch 'ingela/ssl/dtls-alert-handling/OTP-14078' into maintIngela Anderton Andin
* ingela/ssl/dtls-alert-handling/OTP-14078: dtls: Customize alert handling for DTLS over UDP
2017-08-24Merge branch 'maint'Ingela Anderton Andin
2017-08-24Merge branch 'ingela/ssl/tls-vs-dtls-version' into maintIngela Anderton Andin
* 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
2017-08-24Merge branch 'bjorn/erts/improve-beam-ops'Björn Gustavsson
* 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
2017-08-24ssl: DTLS packet supportIngela Anderton Andin
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.
2017-08-24Merge branch 'maint'Raimo Niskanen
Conflicts: OTP_VERSION
2017-08-24Merge branch 'maint-20' into maintRaimo Niskanen
* 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
2017-08-23arith_instrs.tab: Clean up bsl/bsrBjörn Gustavsson
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.
2017-08-23Merge branch 'maint'Rickard Green
* maint: Unicode support for erlang:display_string/1
2017-08-23Merge branch 'rickard/unicode-display_string/OTP-14545' into maintRickard Green
* rickard/unicode-display_string/OTP-14545: Unicode support for erlang:display_string/1
2017-08-23Unicode support for erlang:display_string/1Rickard Green
2017-08-23Merge branch 'maint'Sverker Eriksson
2017-08-23Merge branch 'lukas/erts/fix_dirty_trace_message_flush/OTP-14538'Lukas Larsson
* lukas/erts/fix_dirty_trace_message_flush/OTP-14538: erts: Fix incorrect merge of dirty_trace_message_flush fix to master
2017-08-23Merge branch 'sverker/halt-unicode-slogan/OTP-14553' into maintSverker Eriksson
* 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
2017-08-23erts: Fix incorrect merge of dirty_trace_message_flush fix to masterLukas Larsson
2017-08-23beam_makeops: Stop using the Arg() macroBjörn Gustavsson
Generated code uses 'I' explicitly in other places, so it can as well use 'I' when accessing the operands for instructions.
2017-08-23Eliminate the beam_instrs.h fileBjörn Gustavsson
The beam_instrs.h file serves no useful purpose. Put the instructions in beam_hot.h instead.
2017-08-23Add the 'S' type for a register sourceBjörn Gustavsson
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.
2017-08-23erts: Allow any unicode string as crash dump sloganSverker Eriksson
i.e the first argument to erlang:halt
2017-08-23ssl: Enable dtls testsIngela Anderton Andin
Also run this suit on all TLS versions
2017-08-23Merge pull request #1533 from hamidreza-s/fix-sftp-file-accessHans Nilsson
Fix file owner access permission in ssh_sftp module OTP-14550
2017-08-23Updated OTP versionOTP-20.0.3Erlang/OTP
2017-08-23Prepare releaseErlang/OTP
2017-08-23Merge branch 'hans/ssh/non_binary_socket_options/ERIERL-63/OTP-14541' into ↵Erlang/OTP
maint-20 * hans/ssh/non_binary_socket_options/ERIERL-63/OTP-14541: Accept non-binary options as socket-options
2017-08-23Merge branch 'bjorn/asn1/broken-default-in-ext/ERIERL-60/OTP-13011' into ↵Erlang/OTP
maint-20 * bjorn/asn1/broken-default-in-ext/ERIERL-60/OTP-13011: Bump version Fix broken handling of default values in extensions for PER
2017-08-23Merge branch 'john/erts/fix-binary-append-syslimit/OTP-14524' into maint-20Erlang/OTP
* 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
2017-08-23Merge branch ↵Erlang/OTP
'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
2017-08-23ssl: Adjust ALPN and next protocol to work with DTLSIngela Anderton Andin
2017-08-23ssl: Enable more DTLS testsIngela Anderton Andin
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
2017-08-23ssl: negotiated_hashsign/4 expects TLS version to function correctlyIngela Anderton Andin
Only DTLS specific code deals with DTLS version, when common code is used the DTLS version should be converted to the corresponding TLS version.
2017-08-23Merge branch 'maint'Dan Gudmundsson
* maint: Fix ANSI support in the console
2017-08-23Merge pull request #1536 from ggcampinho/fix-ansi-bufferDan Gudmundsson
Fix ANSI support in the console OTP-14549
2017-08-23Introduce more packable typesBjörn Gustavsson
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.
2017-08-23Pack cold instructions tooBjörn Gustavsson
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.
2017-08-23Pack instructions using 'q', 'c', and 's'Björn Gustavsson
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.
2017-08-23beam_makeops: Rewrite the packer, fixing several bugsBjörn Gustavsson
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.
2017-08-23Make map update instruction functions indepedent of instruction formatBjörn Gustavsson
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.
2017-08-23beam_makeops: Introduce the new type 'W' (machine word)Björn Gustavsson
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.
2017-08-23Use the wait_timeout_{un}locked_int instructionsBjörn Gustavsson
The transformations were incorrect.
2017-08-23beam_makeops: Remove the unused aliases 'N' and 'U'Björn Gustavsson
I don't remember what they were used for, but they are certainly no longer used.
2017-08-23beam_makeops: Add an additional sanity checkBjörn Gustavsson
If a type has a size in %arg_size, it should also have a defined pattern in %bit_type.
2017-08-23beam_makeops: Prevent truncation when packing 'I' valuesBjörn Gustavsson
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.)
2017-08-23Improve performance for bsl/bsrBjörn Gustavsson
Eliminate the variable used for holding which BIF (bsl or bsr). It seems to improve performance slightly.
2017-08-23arith_instrs.tab: Eliminate warning for uninitialized valueBjörn Gustavsson
Make it clear to GCC that shift_left_count is initialized.
2017-08-23beam_emu: Remove unused macrosBjörn Gustavsson
2017-08-22Merge pull request #1518 from RoadRunnr/R20/ssl_anon_certsIngela Andin
RFC: ecdhe_psk cipher suites OTP-14547
2017-08-22Merge branch 'maint'Lukas Larsson
2017-08-22Merge branch ↵Lukas Larsson
'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
2017-08-22Merge branch 'lukas/erts/HRelease-assert'Lukas Larsson
* lukas/erts/HRelease-assert: erts: Add HRelease endp assert