Age | Commit message (Collapse) | Author |
|
|
|
* bjorn/code-loading:
code: Clean up loading of code_server prerequisites
beam_load.c: Add init_iff_file() for verifying the IFF header
beam_code.c: Don't reinvent state initialization and deallocation
beam_load.c: Optimize code:get_chunk/2
beam_load.c: Eliminate memory leak in code:make_stub_module/3
|
|
* ia/ssl/test-cases-maint:
Changed typo in test case (a once that should have been true).
|
|
|
|
|
|
Reported by Uwe Dauernheim.
|
|
|
|
* bjorn/fix-failing-tests:
erlc_SUITE:arg_overflow/1: Lower number of options for MacOS X Lion
tar_SUITE: Don't do symlink tests on Windows
erlc_SUITE: Fix failing compile_mib/1 test case
|
|
* bjorn/hipe/remove-single-func-comp/OTP-9751:
hipe: Remove single function compilation
|
|
Compiling single functions (as opposed to whole modules) to native
code complicates code management in HiPE. It would also vastly
complicate whole-module optimizations, such as returning multiple
return values instead of tuples within a module.
As a first step, remove the external interface for the single
compilation feature. In the future, there are many things that
could be restructured and simplified.
|
|
|
|
evaluating ssl:recv could be left hanging for ever.
|
|
|
|
|
|
* bjorn/major-release-cleanups:
observer tests: Test compatibility with R13, not R12
emulator tests: Test compatibility with R13, not R12
Teach the compiler the 'r14' option
erl_lint: The types introduced in R12B-5 are no longer "newly introduced"
otp_internal: Stop warning for functions removed in R12 or earlier
Conflicts:
lib/stdlib/src/otp_internal.erl
|
|
* ia/ssl/tcp-error-handling/OTP-9734:
Send ssl_closed notification to active ssl user when a tcp error occurs
|
|
|
|
* ia/ssl/rizzoduong_beast_countermeasure/OTP-9757:
Implementation of 1/n-1 splitting countermeasure Rizzo/Duong-Beast
|
|
|
|
Reorganize in a systematic way the code that loads the modules needed
by the code_server process. While at it, remove the useless
hipe_unified_loader:load_hipe_modules/0 function.
|
|
Add init_iff_file() for verifying the IFF header. Also let it handle
compressed BEAM files so that it will be done in one place. That means
that code:get_chunk/2 and code:module_md5/1 will now support compressed
BEAM files.
|
|
|
|
The undocumented code:get_chunk/2 BIF is supposed to be a fast way
to extract a chunk from a BEAM file when loading native code. In
practice, it might not have been faster because it happened to
calculate an MD5 checksum for the chunk it extracted because it
shared the scan_iff_file() function with the erlang:load_module/2
BIF.
Split scan_iff_file() into scan_iff_file() and verify_chunks(),
so that the unnecessary MD5 calculation can be avoided.
|
|
code:make_stub_module/3 leaked memory if given either a corrupt
BEAM file, or a compressed BEAM file and an error occurred, or
a binary not aligned on byte boundaries.
|
|
On my Mac, the highest successful value was 7673. The new value
provides some safety margin.
|
|
* bjorn/external-funs/OTP-9643:
sys_expand_pmod: Handle external funs in parameterized modules
|
|
* siri/sasl/no-warn-missing-sasl/OTP-9738:
Add +no_warn_sasl flag when compiling start_clean.rel
Add option no_warn_sasl to systools:make_script
|
|
* siri/sasl/xxgrade_app-with-restart/OTP-9735:
Fix release_handler:upgrade_app and downgrade_app when upgrading emulator
|
|
* siri/sasl/dialyzer/OTP-9719:
Fix dialyzer warnings in release_handler
|
|
This suppresses the 'missing_sasl' warning from systools.
|
|
|
|
* bjorn/remove-regexp-module/OTP-9737:
stdlib: Remove the deprecated regexp module
|
|
|
|
|
|
|
|
When a new built-in type is introduced, type definitions with the
same name will still be allowed for "a while".
|
|
When a deprecated function has been removed, the compiler will
issue a warning if it sees a call to it, even for functions that
were removed as far back as the R9 release.
Since the otp_internal module grows when new deprecated functions
are added, let's reduce its size somewhat by removing information
about functions that were removed in the R12 release or earlier.
|
|
Starting in ff432e262e65243cbc983fcb002527f8fae8c78b, sys_pre_expand
passes external funs through to the downstream passes. It used to
translate external funs to a call to erlang:make_fun/3. Therefore, we
will now need to handle external funs in sys_expand_pmod.
Noticed-by: Stavros Aronis
|
|
The code is refactored and improved to make it easier to insert the
1/n-1 splitting countermeasure Rizzo/Duong-Beast that is really done
in one function clause in ssl:record_split_bin/3
|
|
|
|
This option will suppress the 'missing-sasl' warning which otherwise
is issued when compiling a .rel file which does not include the sasl
application.
|
|
The MIB compiler has changed how it reports syntax errors.
|
|
* ia/ssl/renegotiation-dos-attack/OTP-9739:
Mitigate Computational DoS attack
|
|
|
|
On my Linux computer, building the entire Erlang/OTP system
with hipe disabled took about 8 minutes. With hipe enabled,
but without any native code, the build took about 23 minutes,
i.e. more than 3 times slower. (The computer has 4 cores, and
I used 'make -j6'.)
On my eight-core Mac (running 'make -j10') there was only a slight
slowdown when hipe was enabled.
The culprit is hipe_unified_loader:post_beam_load/1, which will be
called every time a module is loaded (even if the module contains no
native code). If post_beam_load/1 is called in a hipe-enabled
emulator, it will block multi-scheduling, even if no work needs to be
done. Apparently the cost for blocking multi-scheduling can vary
greatly, depending on the operating system and system load.
As a quick and conservative fix, don't call post_beam_load/1 unless
some native code has been previously loaded.
|
|
Changes to the mechanism for upgrading the emulator in OTP R15 was
erronously not handled in release_handler:upgrade_app, downgrade_app,
upgrade_script and downgrade_script. This has been corrected,
including test and documentation.
|
|
|
|
This reverts commit e21ff9b0b69219ab3853be7e80813156113152b7.
|
|
|
|
|