aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-06-17Create a shared wrapper function for all occurrences of 'fun F/A'Björn Gustavsson
If the `fun F/A` syntax is used multiple times with the same `F/A`, (for examle, `fun foo/2`), there would a wrapper function and fun entry generated for each occurrence. Using the new support in the OTP 23 runtime system, generate a single wrapper function and fun entry for each `F/A`. Since there is only one wrapper function, it can be named based on the name of the function it calls to faciliate debugging, not based on the function that defines the fun. For example, the wrapper function for `fun foo/0` will now be named `-fun.foo/0-'.
2019-06-14Support sharing of fun entries in the runtime systemBjörn Gustavsson
Before OTP 23, there had to be a one-to-one correspodence between `make_fun2` instructions and fun entries. In the OTP 23 runtime system, start keying the fun entries with the explicit ("new") index included in the fun entry. That will allow multiple `make_fun2` instructions to refer to the same entry in the fun table. This change is safe for code compiled by OTP R15B or later, because the old and new indices are identical. The loader will refuse to load code where the old and new indices are not equal unless the code is known to be compiled with an OTP 23 compiler.
2019-06-14erl_fun.c: Remove unused struct definitionBjörn Gustavsson
2019-06-14hipe: Use the new index when translating funsBjörn Gustavsson
OTP 23 will start using the new index instead of the old index when comparing funs. Update the translator to icode accordingly.
2019-06-14Stop supporting decoding of old funs in the external term formatBjörn Gustavsson
The new external format for funs (NEW_FUN_EXT) was introduced in OTP R8 along with the `make_fun2` instruction. Therefore, it should be safe to stop decoding the old FUN_EXT tag.
2019-06-13genop.tab: Insert an "OTP 23" comment for clarityBjörn Gustavsson
2019-06-13Merge branch 'maint'Ingela Anderton Andin
2019-06-13Merge branch 'john/compiler/common-type-representation/OTP-15792'John Högberg
* john/compiler/common-type-representation/OTP-15792: beam_validator: Replace old type representation with beam_types beam_validator: Subtract types when inferring type test BIFs beam_call_types: Improve type handling of lists:zip/2 and friends compiler: Move "known functions" to beam_types compiler: Break out SSA/beam type definitions into a separate module beam_ssa_type: Fix meet/join inconsistency beam_ssa_type: Fix 'band' type determination beam_validator: Reduce literals to their types beam_validator: Refactor local call validation beam_validator: Simplify the match context type beam_validator: Use integers as tuple element keys
2019-06-13Merge branch 'ingela/ssl/handshake-handling/ERL-968/OTP-15879' into maintIngela Anderton Andin
* ingela/ssl/handshake-handling/ERL-968/OTP-15879: ssl: Correct handshake handling
2019-06-13ssl: Correct handshake handlingIngela Anderton Andin
Solves ERL-968, a refactoring bug could cause part of a server key exchange message to be appended, to an incorrectly duplicated, certificate handshake message. In the end causing an ASN1 decoding error. That in turn did not end up the correct error handling branch.
2019-06-13Merge branch 'maint'Péter Dimitrov
* maint: ssl: Fix run_client_error/1 in ssl_test_lib
2019-06-13Merge branch 'peterdmv/ssl/fix-testcases' into maintPéter Dimitrov
* peterdmv/ssl/fix-testcases: ssl: Fix run_client_error/1 in ssl_test_lib
2019-06-13Merge branch 'maint'John Högberg
* maint: Updated OTP version Prepare release # Conflicts: # OTP_VERSION
2019-06-13Merge branch 'maint-22' into maintJohn Högberg
* maint-22: Updated OTP version Prepare release # Conflicts: # make/otp_version_tickets
2019-06-13Merge pull request #2279 from lyrra/specs_genHans Bolinder
[trivial] specs_gen script fix error message
2019-06-12beam_validator: Replace old type representation with beam_typesJohn Högberg
2019-06-12Merge branch 'maint'Björn Gustavsson
* maint: Fix some documentation typos Fix duplicated word "to" on Common Caveats doc
2019-06-12Merge pull request #2274 from kostis/cerl-fix-ctypeBjörn Gustavsson
cerl: Fix spelling error in a case of ctype()
2019-06-12Merge pull request #2281 from leandrocp/doc/fix-typo-commoncaveatsBjörn Gustavsson
Fix duplicated word "to" on Common Caveats doc
2019-06-12Merge pull request #2282 from legoscia/doc-typosBjörn Gustavsson
Fix some documentation typos
2019-06-12Merge branch 'maint'Raimo Niskanen
2019-06-12Merge branch 'raimo/incomplete-socket-close/ERIERL-353/OTP-15370' into maintRaimo Niskanen
* raimo/incomplete-socket-close/ERIERL-353/OTP-15370: Copy linger zero flag from listen socket Test linger zero flag from listen socket
2019-06-12beam_validator: Subtract types when inferring type test BIFsJohn Högberg
This is a temporary solution for basic type tests. We'll need to handle more-or-less arbitrary values once we introduce union types, as we need to be able to subtract on tuple_arity tests as well. Without this, nearly all "no_opt" test suites will fail to compile after the validator is migrated to 'beam_types' as a result of atom subtraction producing 'none' when all alternatives have been exhausted.
2019-06-12beam_call_types: Improve type handling of lists:zip/2 and friendsJohn Högberg
2019-06-12compiler: Move "known functions" to beam_typesJohn Högberg
2019-06-12compiler: Break out SSA/beam type definitions into a separate moduleJohn Högberg
2019-06-12Fix some documentation typosMagnus Henoch
2019-06-12Merge branch 'maint'Raimo Niskanen
2019-06-12Merge branch 'raimo/correct-spec-for-gen_sctp-connect/ERL-947/OTP-15344' ↵Raimo Niskanen
into maint * raimo/correct-spec-for-gen_sctp-connect/ERL-947/OTP-15344: Correct type spec for gen_sctp:connect/4,5
2019-06-12ssl: Fix run_client_error/1 in ssl_test_libPéter Dimitrov
Fix run_client_error/1 to properly propagate errors from the test client.
2019-06-12Merge branch 'maint'Péter Dimitrov
* maint: ssl: Fix ssl_packet_SUITE
2019-06-12Merge branch 'peterdmv/ssl/dtls-test-fix' into maintPéter Dimitrov
* peterdmv/ssl/dtls-test-fix: ssl: Fix ssl_packet_SUITE
2019-06-12Updated OTP versionOTP-22.0.3Erlang/OTP
2019-06-12Prepare releaseErlang/OTP
2019-06-12Merge branch 'peterdmv/ssl/dtls-test-fix' into maint-22Erlang/OTP
* peterdmv/ssl/dtls-test-fix: ssl: Fix ssl_packet_SUITE
2019-06-12Merge branch 'hasse/stdlib/chars_limit_bug/OTP-15875/ERL-967' into maint-22Erlang/OTP
* hasse/stdlib/chars_limit_bug/OTP-15875/ERL-967: stdlib: Fix a bug concerning io_lib option 'chars_limit' # Conflicts: # lib/stdlib/test/io_SUITE.erl
2019-06-12Merge branch ↵Erlang/OTP
'sverker/erts/process-info-reductions-idle-proc/ERL-964/OTP-15865' into maint-22 * sverker/erts/process-info-reductions-idle-proc/ERL-964/OTP-15865: erts: Improve test of process_info(reductions) Revert "erts: Force process_info(reductions) as signal"
2019-06-12Merge branch 'sverker/erts/break-p-segv/ERL-965/OTP-15873' into maint-22Erlang/OTP
* sverker/erts/break-p-segv/ERL-965/OTP-15873: erts: Fix SEGV crash on shell break (p)roc info
2019-06-12Merge branch 'john/compiler/fix-bad-bitstring-type-opt/OTP-15872' into maint-22Erlang/OTP
* john/compiler/fix-bad-bitstring-type-opt/OTP-15872: beam_ssa_type: Fix incorrect bitstring unit determination
2019-06-12Merge branch 'john/erts/fix-bad-get_tuple_element-opt/OTP-15871/ERIERL-374' ↵Erlang/OTP
into maint-22 * john/erts/fix-bad-get_tuple_element-opt/OTP-15871/ERIERL-374: erts: Fix bad loader optimization of get_tuple_element
2019-06-12Merge branch 'ingela/ssl/dtls-multiplxor/ERL-962/OTP-15864' into maint-22Erlang/OTP
* ingela/ssl/dtls-multiplxor/ERL-962/OTP-15864: ssl: Add missing gen_server return value in DTLS packet demux process
2019-06-12Merge branch 'ingela/ssl/ret-ext/ERL-951/OTP-15862' into maint-22Erlang/OTP
* ingela/ssl/ret-ext/ERL-951/OTP-15862: ssl: Fix broken return value
2019-06-12Merge branch 'hasse/dialyzer/fix_string_split/OTP-15861/ERL-953' into maint-22Erlang/OTP
* hasse/dialyzer/fix_string_split/OTP-15861/ERL-953: dialyzer: Correct indentation of field warnings
2019-06-12Merge branch 'ingela/ssl/22/alert-strings/OTP-15844' into maint-22Erlang/OTP
* ingela/ssl/22/alert-strings/OTP-15844: ssl: Returned "alert error string" should be same as logged alert string
2019-06-12ssl: Fix ssl_packet_SUITEPéter Dimitrov
Unset internal_active_n when cleaning FT environment.
2019-06-12Merge branch 'maint'Hans Bolinder
* maint: stdlib: Fix a bug concerning io_lib option 'chars_limit'
2019-06-12Merge branch 'maint'Ingela Anderton Andin
2019-06-12Merge branch 'hasse/stdlib/chars_limit_bug/OTP-15875/ERL-967' into maintHans Bolinder
* hasse/stdlib/chars_limit_bug/OTP-15875/ERL-967: stdlib: Fix a bug concerning io_lib option 'chars_limit'
2019-06-11Merge pull request #2277 from mattludwigs/fix-ssl-passive-flag-defaultIngela Andin
Fix SSL cb_info missing underscore in default OTP-15887
2019-06-11beam_ssa_type: Fix meet/join inconsistencyJohn Högberg
meet/2 and join/2 were not entirely consistent with each other, and it was possible to meet integers that didn't overlap, producing a nonsense result. None of these can cause issues in the OTP 22 track as far as we can tell, so a patch doesn't feel necessary at this time.