aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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-23Fix compatibility of remote sendAnders Svensson
By changing the definition of the request record, commit f489c0d5 broke sending an outgoing request over a peer connection terminated on a remote node running an older version of diameter. The modified fields aren't even used on the remote node, so simply reintroduce one of the fields so that the size of the tuple is unchanged.
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
2017-08-22Fix disksup:get_disksup_data() for High SierraBjörn Gustavsson
On macOS 10.13 (High Sierra), disksup cannot grab information for any disks that use the new APFS file system. The reason is that the invocation of /bin/df explicitly limits the type of file systems to show: /bin/df -i -k -t ufs,hfs Add 'apfs' to also look at disks with APFS: /bin/df -i -k -t ufs,hfs,apfs That also works on older versions of macOS. An alternative solution would be to use the -l flag to only show local file systems. However, that would mean that USB memory sticks would also show up, and it might not be desirable to monitor them. https://bugs.erlang.org/browse/ERL-461
2017-08-22Work around more common_test woeAnders Svensson
Testcase init functions are getting Config from groups and suites they're not in. Presumably related to the problems worked around in the parent commit.
2017-08-22beam_makeops: Remove unused subroutine save_c_codeBjörn Gustavsson
2017-08-22Add missing -no_next for badarg instructionBjörn Gustavsson
2017-08-22Merge remote-tracking branch 'upstream/maint'Dan Gudmundsson
* upstream/maint: Remove deprecation of non deprecated functions Update so that doxygen 1.8.11 can generate code
2017-08-22Merge branch 'dgud/wx/del-depr/OTP-14539' into maintDan Gudmundsson
* dgud/wx/del-depr/OTP-14539: Remove deprecation of non deprecated functions Update so that doxygen 1.8.11 can generate code
2017-08-21Fix ANSI support in the consoleGlauber Campinho
The ANSI support doesn't work properly with edlin, the issue can be noticed when you try to use the history of the shell and the prompt prefix has ANSI (https://github.com/elixir-lang/elixir/issues/6448). The problem is that when a `\e` character appears, it handles it like a new line, dropping the buffer before it. The solution is to always add the `\e` to the buffer like a regular character and handle it when writing the buffer instead.
2017-08-19Use loopback/any config in examples suiteAnders Svensson
2017-08-19Handle loopback/any as local address in diameter_tcp/sctpAnders Svensson
The support is implied by documentation, but wasn't handled in code. Be consistent in retrieving the address from the sock rather than the configuration, and in accepting both ip and ifaddr for a local address.