Age | Commit message (Collapse) | Author |
|
|
|
* josevalim/large-binary-strings/PR-1131/OTP-13794:
Move expansion of strings in binaries to v3_core
|
|
Conflicts:
OTP_VERSION
|
|
Conflicts:
lib/ssl/src/ssl.appup.src
|
|
|
|
|
|
* lukas/kernel/fix_os_cmd_background_compat/OTP-13741:
kernel: Use ^D as eot for os:cmd on unix platforms
|
|
* raimo/ssl/version-selection/maint-19/OTP-13753:
Improve version selection
|
|
* ingela/inets/mod_esi-handle-PUT-DELETE/OTP-13688:
inets: Prepare for release
inets: Fix typo in doc
inets: Add mod_esi test for PUT
inets: Unify mod_esi "PUT" callback input
inets: Add mod_esi support for PUT AND DELETE
|
|
This is needed as doing only an 'exit' will only exit the
program, but any children started in the program that have
stdout/stderr still open will keep the port open until they
terminate. i.e.
os:cmd("while true; do echo sleep 1; sleep 1; done&").
would block os:cmd forever because the while loop keeps its copies
of stdout/stderr open forever.
It could be argued that this is correct behaviour, and it is
the way it works on windows, but changing this breaks backwards
compatability for os:cmd which is not acceptable.
|
|
|
|
|
|
|
|
Change it to { Input :: string() | undefined, Body :: string() }
|
|
|
|
|
|
into maint
* duncaen/crypto/fix-algo_cipher-array-size/PR-1140/OTP-13789:
Fix segfault in crypto by increasing algo_cipher array
|
|
|
|
Conflicts:
OTP_VERSION
lib/ssh/doc/src/notes.xml
lib/ssh/test/ssh_sup_SUITE.erl
lib/ssh/vsn.mk
otp_versions.table
|
|
* maint:
Update primary bootstrap
beam_block: Fix potentially unsafe optimization in move_allocates/1
|
|
|
|
* bjorn/compiler/not_live/ERL-202/OTP-13780:
beam_block: Fix potentially unsafe optimization in move_allocates/1
|
|
beam_block has an optimization that only is safe when it is applied
immediately after code generation. That is pointed out in a comment:
NOTE: Moving allocation instructions is only safe because it is done
immediately after code generation so that we KNOW that if {x,X} is
initialized, all x registers with lower numbers are also initialized.
That assumption may not be true after other optimizations, such as
the beam_utils:live_opt/1 optimization.
The new beam_reorder pass added in OTP 19 runs before beam_block.
Therefore, the optimization is potentially unsafe. The optimization
is also unsafe if compilation is started from assembly code in a
.S file.
Rewrite the optimization to make it safe. See the newly added comment
for details.
ERL-202
|
|
* maint:
Improve format_warning/1 spec
|
|
* elbrujohalcon/dialyzer/fix-spec/PR-1134/OTP-13786:
Improve format_warning/1 spec
|
|
|
|
|
|
* hans/ssh/sup_fix_ssh_supc_type/OTP-13782:
ssh: update test suite for supervisors
ssh: sshc_sup to use worker for ssh_con_handler
ssh: update version number
|
|
|
|
|
|
|
|
|
|
maint
* ellbee/odbc/configure-OS-X-El-Capitan/PR-1137/OTP-13781:
Make ODBC configure handle OS X El Capitan
|
|
This speeds up the compilation of binary literals
with string values in them. For example, compiling
a file with a ~340kB binary would yield the following
times by the compiler:
Compiling "foo"
parse_module : 0.130 s 5327.6 kB
transform_module : 0.000 s 5327.6 kB
lint_module : 0.011 s 5327.8 kB
expand_module : 0.508 s 71881.2 kB
v3_core : 0.463 s 11.5 kB
Notice the increase in memory and processing time
in expand_module and v3_core. This happened because
expand_module would expand the string in binaries
into chars. For example, the binary <<"foo">>, which
is represented as
{bin, 1, [
{bin_element, 1, {string, 1, "foo"}, default, default}
]}
would be converted to
{bin, 1, [
{bin_element, 1, {char, 1, $f}, default, default},
{bin_element, 1, {char, 1, $o}, default, default},
{bin_element, 1, {char, 1, $o}, default, default}
]}
However, v3_core would then traverse all of those
characters and convert it into an actual binary, as it
is a literal value.
This patch addresses this issue by moving the expansion
of string into chars to v3_core and only if a literal
value cannot not be built. This reduces the compilation
time of the file mentioned above to the values below:
Compiling "bar"
parse_module : 0.134 s 5327.6 kB
transform_module : 0.000 s 5327.6 kB
lint_module : 0.005 s 5327.8 kB
expand_module : 0.000 s 5328.7 kB
v3_core : 0.013 s 11.2 kB
|
|
|
|
|
|
maint
* efine/inets/validate-inet6fb4/ERL-200/PR-1132/OTP-13776:
Test inet6fb4 in basic suite
Actually verify result of testcase
Fix inets_sup_SUITE for local tests
Add test for inet6fb4 validation
Fix httpd_conf:validate_properties/1 for ipfamily
|
|
|
|
* comtihon/fprof/fix-gc-tags/PR-1136/OTP-13778:
fix gc_start\end bug
|
|
|
|
maint
* raimo/erts/prim_inet-unknown-address-families/OTP-13775:
Handle AF_UNSPEC and AF_UNDEFINED correctly
|
|
* raimo/SCTP-socket-stats/ERL-102/OTP-13773:
Fix SCTP send stats in inet_drv
Test inet:getstat/1 dead for SCTP send
Fix test suite compilation warnings
|
|
* egil/erts/dont-copy-literals/OTP-13529:
erts: Refactor literal purge area arguments
erts: No need to literal opt message token
erts: Don't copy literals in enif_send
erts: Fix literal size calculation in check_process_code
erts: Remove the need for copying of literals
|
|
|
|
|
|
|
|
We want to know the total size of literals of all heap fragmens.
|
|
* Literals are not copied between processes for messages or spawn
Increases performance of message sent and processes spawned when
literals are involved in messages or arguments.
|
|
|
|
Change ODBC configure.in script to recognize OS X El Capitan (Darwin v15.x)
|