Age | Commit message (Collapse) | Author |
|
* bjorn/cleanup:
beam_validator: Don't allow an 'undefined' entry label in a function
beam_validator: Remove obsolete DEBUG support
v3_kernel: Speed up compilation of modules with many funs
beam_dict: Speed up storage of funs
beam_asm: Speed up assembly for modules with many exports
sys_core_dsetel: Use a map instead of a dict
sys_pre_expand: Cover coerce_to_float/2
Cover code for callbacks in sys_pre_expand
Cover sys_pre_expand:pattern/2
sys_pre_expand: Remove uncovered clause in pat_bit_size/2
sys_pre_expand: Clean up data structures
sys_pre_expand: Remove vestiges of variable usage tracking
sys_pre_expand: Remove imports of ordsets functions
sys_pre_expand: Remove unnecessary inclusion of erl_bits.hrl
io: Make a fast code path for i/o requests
|
|
Before 912fea0b beam_validator could validate disassembled files.
That's probably why the entry label was allowed to be 'undefined'.
|
|
No one has used the debug support in many years. Also, the debug
support is not free. There are calls to lists:foreach/2 that will be
executed even when debug support is turned off.
|
|
|
|
* deadok22/jinterface-input-stream-read-any-etf-113:
OtpInputStream: external fun terms in read_any()
OTP-13106
|
|
* legoscia/erl-make-exit-code:
Make erl -make return non-zero exit code on failure
OTP-13107
|
|
* kanatohodets/ssh-subsystem-typo:
Fix spelling of ssh 'subsystem'
OTP-13108
|
|
* lucafavatella/dialyzer-remote-type:
Delete remote types-related dead code in erl_types
OTP-13104
|
|
|
|
* zandra/snmp-appup:
add a soft upgrade instruction to the snmp appup
|
|
|
|
* zhird/johnheizenberg/snmp_config_check_imask_bugfix:
fix snmp_conf check imask bug
OTP-13101
|
|
Conflicts:
OTP_VERSION
|
|
|
|
|
|
* maint:
ssh: add better error handling in ssh_file
|
|
* hans/ssh/knownhost_loss/OTP-12699:
ssh: add better error handling in ssh_file
|
|
|
|
|
|
* scrapinghub/not_streamed_once:
inets: fix {self, once} for not streamed request
inets: send correct nonstreamed response with streaming
OTP-13093
|
|
ssl:start/[1,2] is a shell convenience function and should not be called
by other applications.
inet_db:start is an internal function that we should not have to call.
This was done for legacy reasons and is no longer needed.
|
|
Remove point less instructions looking for return values, that
in most cases no long exist, of which the result would anyhow be ignored
|
|
Was already possible for HTTPS. Also remove use of legacy option
inet6fb4. IPv6 standard moved away from beeing able to fallback to IPv4
so this option makes little sense, will use inet (Ipv4) as default instead of
inet6fb4.
|
|
|
|
The chunked length header should be checked as well as
headers present in the chunk trailer part, ignored extensions are counted
as header bytes. Also the decode trailer function will stop as soon
as the header size is exceed, when that happens.
|
|
|
|
Also use integer_to_list/2 and list_to_integer/2 instead of reimplementing it.
|
|
ssh_file:lookup_user_key_fd and ssh_file:lookup_host_key
|
|
Using a map to store the number of free variables for funs instead of
an orddict will speed up the v3_kernel pass for modules with a huge
number of funs (such as NBAP-PDU-Contents in the asn1 test suite).
|
|
For huge modules with many funs (such as NBAP-PDU-Contents in the asn1
test suite), the call to length/1 in beam_dict:lambda/3 will dominate
the running time of the beam_asm pass.
|
|
Eliminate searching in the list of exported functions in favor of
using a map. For modules with a huge number of exported functions
(such as NBAP-PDU-Contents in the asn1 test suite), that will mean a
significant speed-up.
|
|
* maint:
public_key: update vsn.mk
|
|
|
|
For large modules, a map is significantly faster than a dict.
|
|
|
|
|
|
|
|
The atom 'all' can never occur in a size field before sys_pre_expand
has been run.
|
|
The handling of non-remote calls is messy, with several lookups
to determine whether the call is local or to some imported module.
We can simplify the code if we keep a map that immediately gives
us the answer. Here is an example of what the map entries look
like:
{f,1} => local
{foldl,3} => {imported,lists}
That is, there should be a local call to f/1 and a remote call
to lists:foldl/3.
Note that there is no longer any need to keep the set of all defined
functions in the state record.
|
|
Before the Core Erlang passes were introduced a long time ago,
sys_pre_expand used to track used and new variables in order to
do lambda lifting (i.e. transform funs into ordinary Erlang
functions). Lambda lifting is now done in v3_kernel.
Remove the few remaining vestiges of variable tracking in the
comments and the code.
|
|
* maint:
ssh: use crypto for ecdh point validation
|
|
* hans/ssh/compressed_ec_points/OTP-13067:
ssh: use crypto for ecdh point validation
|
|
Importing from_list/1 and union/2 from the 'ordsets', while at
the same time making calls explicit calls to the functions with
same name in the 'gb_sets' module is confusing. Make all calls
to 'ordsets' explicit.
|
|
|
|
* kostis/hipe-bs-match-huge-bin:
Fix matching with huge binaries
Compile without errors for exported variables
OTP-13092
|
|
|
|
* margnus1/cerl_trees_label_fix:
Fix cerl_trees:label/2 bug with map K/V swap
OTP-13091
|
|
|
|
Unicode support was introduced in R13. The backward compatible code
path in 'io' is unlikely to be used in practice. Therefore, make sure
that the common case of an i/o server supporting unicode requests is
as fast as possible, making sure to get rid of the mathing and
re-building of tuples in the current code. Make the backward
compatible code path work with a minimum of code.
|
|
|