aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-02-11beam_jump: Improve elimination of redundant movesBjörn Gustavsson
2019-02-11compiler tests: Restrict cover to run on the local nodeBjörn Gustavsson
This change saves about about a minute when running the cover-compiled compiler tests.
2019-02-11Check empty_out_q at close also for lingerRaimo Niskanen
2019-02-11common_test: Add support for running cover:local_only/0Björn Gustavsson
2019-02-11Use the counters module to speed up coverBjörn Gustavsson
Use `counters:add/3` instead of `ets:update_counter/3` for counting the number of times a line is executed. By default, the reference to the counter array for each module will be stored in a persistent term and retrieved every time a counter is updated. This makes the compiler test suite with coverage enabled run *almost* twice as fast (on my computer, in about 6 minutes down from more than 11 minutes). To get even more speed, the new `cover:local_only/0` function can be called to put cover into a mode where the cover-compiled code can only be run on the local node. In this mode, the cover-compiled modules in a more efficient way by compiling the counter reference into the code. This shaves off about one more minute, making the compiler test suite with coverage enabled run *more than* twice as fast (in about 5 minutes on my computer).
2019-02-11ssl: Test TLS 1.3 connectivityPéter Dimitrov
Test TLS 1.3 connectivity between ssl server and openssl s_client. Change-Id: I926229d6bc9e6670ebe0190b491257876845b570
2019-02-11Merge branch 'maint'Sverker Eriksson
2019-02-11Merge branch 'sverker/enif_select-faulty-assert' into maintSverker Eriksson
* sverker/enif_select-faulty-assert: erts: Fix faulty debug assert in enif_select
2019-02-11Merge branch 'sverker/map-from-ks-vs-bug/OTP-15567' into maintSverker Eriksson
* sverker/map-from-ks-vs-bug/OTP-15567: erts: Add test for bug in enif_make_maps_from_arrays erts: Fix bug in erts_map_from_ks_and_vs
2019-02-11Merge branch 'siri/ct_netconfc/edit-config-list/OTP-15298' into maintSiri Hansen
* siri/ct_netconfc/edit-config-list/OTP-15298: [ct] Allow ct_netconfc:edit_config/3,4,5 to take a list of XML elements
2019-02-11Merge branch 'siri/ct_telnet/div-improvements/OTP-15229' into maintSiri Hansen
* siri/ct_telnet/div-improvements/OTP-15229: [ct] Add option {newline,string()} to ct_telnet:cmd and ct_telnet:send [ct] Improve error handling of bad regular expressions to ct_telnet
2019-02-11Merge pull request #2067 from okeuday/reltool_rel_optionsSiri Hansen
reltool: Add load_dot_erlang rel option OTP-15571
2019-02-11Merge branch 'hans/crypto/disable_blake2_libressl/OTP-15564'Hans Nilsson
* hans/crypto/disable_blake2_libressl/OTP-15564: crypto: Disable blake2 in LibreSSL (not supported)
2019-02-11diameter: Update to use exported typesIngela Anderton Andin
2019-02-11Update primary bootstrapBjörn Gustavsson
2019-02-11Merge branch 'maint'Hans Bolinder
* maint: dialyzer: Fix a bug affecting keyfind/keysearch/keymember
2019-02-11Merge branch 'dialyzer/hasse/fix_bug_erl_bif_types/OTP-15570' into maintHans Bolinder
* dialyzer/hasse/fix_bug_erl_bif_types/OTP-15570: dialyzer: Fix a bug affecting keyfind/keysearch/keymember
2019-02-11Merge pull request #2134 from bjorng/bjorn/compiler/propagate-noneBjörn Gustavsson
beam_ssa_type: Propagate the 'none' type from calls
2019-02-11beam_ssa_type: Propagate the 'none' type from callsBjörn Gustavsson
Consider this pseudo code: f(...) -> Val = case Expr of ... -> ... ; ... -> ... ; ... -> my_abort(something_went_wrong) end, %% Here follows code that uses Val. . . . my_abort(Reason) -> throw({error,Reason}). The first two clauses in the case will probably provide some information about the type of the variable `Var`, information that would be useful for optimizing the code that follows the case. However, the third clause would ruin everything. The call to `my_abort/1` could return anything, and thus `Val` could also have any type. 294d66a295f6 introduced module-level type analysis, which will in general keep track of the return type of a local function call. However, it does not improve the optimization for this specific function. When a function never returns, that is, when its type is `none`, it does not propagate the `none` type, but instead pretends that the return type is `any`. This commit extends the handling of functions that don't return to properly handle the `none` type. Any instructions that directly follows the function that does not return will be discarded, and the call will be rewritten to a tail-recursive call. For this specific example, it means that the type for `Val` deduced from the first two clauses will be retained and can be used for optimizing the code after the case.
2019-02-09gen_udp: Update open/1-2 and recv/3 specsWojtek Mach
* `open/1-2` can return `{error, system_limit}` * `recv/3` can return `{error, timeout}`
2019-02-09gen_tcp: Update connect/3, accept/1, and recv/3 specsWojtek Mach
* `connect/3` can return `{error, timeout}` * `accept/1` cannot return `{error, timeout}` * `recv/3` can return `{error, timeout}`
2019-02-08ssl: Move and rename diffie_hellman_keys and srp_keys to kex_keysIngela Anderton Andin
2019-02-08ssl: Move key_algorithm to handshake_envIngela Anderton Andin
2019-02-08stdlib: Add ETS docs about partially bound key traversalSverker Eriksson
2019-02-08ssl: srpIngela Anderton Andin
2019-02-08ssl: RenameIngela Anderton Andin
2019-02-08beam_validator: type_test in BIFs that only fail on invalid typesJohn Högberg
2019-02-08beam_validator: Simplify complex branchesJohn Högberg
Branches where the state is altered on both success and failure are hard to follow and require juggling the current state, so this commit adds a helper function to make it easier.
2019-02-08beam_validator: Explain why verify_get_map wipes dst registersJohn Högberg
2019-02-08beam_validator: fconv means we have a numberJohn Högberg
2019-02-08beam_validator: Simplify update_ne/eq_typesJohn Högberg
2019-02-08beam_validator: Remove pointless fragility propagationJohn Högberg
set_aliased_type already preserves fragility when updating the type of a fragile register.
2019-02-08beam_validator: Misc cosmetic refactoringJohn Högberg
2019-02-08Fix nocatch on incoming answer with faulty Experimental-Result-CodeAnders Svensson
Failure to decode the Grouped AVP results in a throw from module diameter_gen, which is caught in the normal message decode, but wasn't when only the AVP is decoded from diameter_traffic (for error checking and counter increment). The result was no handle_answer/error callback, and an error return from diameter:call/4 when the detach option was not specified.
2019-02-08dialyzer: Fix a bug affecting keyfind/keysearch/keymemberHans Bolinder
2019-02-08ssl: Fix crash when sending AlertsPéter Dimitrov
Change-Id: Ia84c71214b5379baec3455f0e416a9ea73584750
2019-02-08ssl: Fix dialyzer warningPéter Dimitrov
Change-Id: I87f2111cd557a0000cfd8ab4d50f4e58787bf104
2019-02-08ssl: Improve TLS 1.3 statemPéter Dimitrov
- Store FinishedKey in cipher_state. - Implement state 'wait_finished'. - Calculate traffic secrets in 'wait_finished' after Finished received from client and go to state 'Connection'. - Drop 'change_cipher_spec' messages (middlebox compatibility mode). - Extend tests of 1-RTT. Change-Id: Id69619ec5da053ffaaef75378678a27afeef6916
2019-02-08ssl: Move diffie_hellman_params to handshake_envIngela Anderton Andin
2019-02-08ssl: Move and rename psk_identity state record fieldIngela Anderton Andin
2019-02-08ssl: Move premaster_secret to handshake_envIngela Anderton Andin
2019-02-08ssl: Make flight_state DTLS specificIngela Anderton Andin
flight_state is used to handle retransmission timers for DTLS over udp
2019-02-08ssl: Add private_key to connection_envIngela Anderton Andin
2019-02-08ssl: Remove unused record fieldIngela Anderton Andin
2019-02-08ssl: Add erl_dist_handle to connection_envIngela Anderton Andin
2019-02-08ssl: Add negotiated_version to connection_envIngela Anderton Andin
2019-02-08ssl: Add key exchange items to handshake_envIngela Anderton Andin
2019-02-08ssl: Add hashsign_algorithm and cert_hashsign_algorithm to handshake_envIngela Anderton Andin
2019-02-08ssl: Add downgrade handling to connection_envIngela Anderton Andin
Remove duplicate handsake history handling form ssl_config function. Later we might refactor to avoid duplication in TLS and DTLS code, but handshake history does not belong in ssl_config function.
2019-02-08ssl: Create connection_envIngela Anderton Andin