Age | Commit message (Collapse) | Author |
|
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-'.
|
|
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.
|
|
|
|
OTP 23 will start using the new index instead of the old index
when comparing funs. Update the translator to icode accordingly.
|
|
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.
|
|
|
|
|
|
* 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
|
|
* ingela/ssl/handshake-handling/ERL-968/OTP-15879:
ssl: Correct handshake handling
|
|
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.
|
|
* maint:
ssl: Fix run_client_error/1 in ssl_test_lib
|
|
* peterdmv/ssl/fix-testcases:
ssl: Fix run_client_error/1 in ssl_test_lib
|
|
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
|
|
* maint-22:
Updated OTP version
Prepare release
# Conflicts:
# make/otp_version_tickets
|
|
[trivial] specs_gen script fix error message
|
|
|
|
* maint:
Fix some documentation typos
Fix duplicated word "to" on Common Caveats doc
|
|
cerl: Fix spelling error in a case of ctype()
|
|
Fix duplicated word "to" on Common Caveats doc
|
|
Fix some documentation typos
|
|
|
|
* raimo/incomplete-socket-close/ERIERL-353/OTP-15370:
Copy linger zero flag from listen socket
Test linger zero flag from listen socket
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
into maint
* raimo/correct-spec-for-gen_sctp-connect/ERL-947/OTP-15344:
Correct type spec for gen_sctp:connect/4,5
|
|
Fix run_client_error/1 to properly propagate errors from the
test client.
|
|
* maint:
ssl: Fix ssl_packet_SUITE
|
|
* peterdmv/ssl/dtls-test-fix:
ssl: Fix ssl_packet_SUITE
|
|
|
|
|
|
* peterdmv/ssl/dtls-test-fix:
ssl: Fix ssl_packet_SUITE
|
|
* 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
|
|
'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"
|
|
* sverker/erts/break-p-segv/ERL-965/OTP-15873:
erts: Fix SEGV crash on shell break (p)roc info
|
|
* john/compiler/fix-bad-bitstring-type-opt/OTP-15872:
beam_ssa_type: Fix incorrect bitstring unit determination
|
|
into maint-22
* john/erts/fix-bad-get_tuple_element-opt/OTP-15871/ERIERL-374:
erts: Fix bad loader optimization of get_tuple_element
|
|
* ingela/ssl/dtls-multiplxor/ERL-962/OTP-15864:
ssl: Add missing gen_server return value in DTLS packet demux process
|
|
* ingela/ssl/ret-ext/ERL-951/OTP-15862:
ssl: Fix broken return value
|
|
* hasse/dialyzer/fix_string_split/OTP-15861/ERL-953:
dialyzer: Correct indentation of field warnings
|
|
* ingela/ssl/22/alert-strings/OTP-15844:
ssl: Returned "alert error string" should be same as logged alert string
|
|
Unset internal_active_n when cleaning FT environment.
|
|
* maint:
stdlib: Fix a bug concerning io_lib option 'chars_limit'
|
|
|
|
* hasse/stdlib/chars_limit_bug/OTP-15875/ERL-967:
stdlib: Fix a bug concerning io_lib option 'chars_limit'
|
|
Fix SSL cb_info missing underscore in default
OTP-15887
|
|
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.
|