Age | Commit message (Collapse) | Author |
|
Attempt to make the system_info docs easier to navigate
by grouping items of similar themes together in the documentation.
|
|
* lukas/erts/ecio_arg_fix:
erts: Correctly ignore +secio true
|
|
This is a fix for a bug introduced in 22cde2bda
|
|
Fix typo in erl_tar:format_error/1 docs
|
|
* maint:
Add updated type-spec to Emacs skeletons of OTP behaviours
|
|
* pr/1620:
Add updated type-spec to Emacs skeletons of OTP behaviours
|
|
Fix beam_utils bugs that could cause problems in the future
|
|
* bjorn/compiler/try-catch-nesting:
Enhance beam_validator to check proper nesting of try/catch and catch
|
|
Make sure to kill all dependencies when a register is killed. For example,
in the following code, when the type information for {x,0} is killed in
the last instruction, there will still be type information for {x,1} referring
to {x,0}:
{get_tuple_element,{x,0},0,{x,1}}.
{test,is_eq_exact,{f,5},[{x,1},{atom,tag}]}.
{get_tuple_element,{x,0},1,{x,2}}.
{get_tuple_element,{x,0},2,{x,0}}.
This does not seems to have caused any problems in the past, but it may
cause problems in the future with a register allocator that reuses register
more aggressively.
|
|
|
|
The function tdb_update/2 is problematic. It does not distinguish
between assigning a register with a new value and updating information
about a register that is used a as source in a test instruction.
That was not a problem in practice when there were very few types,
but bugs started to be noticed as more types were added. (For example,
when a register was overwritten with a new value, the type for the
old value stored in the same register could linger in some cases.)
Introduce separate functions tdb_store/3 and tdb_meet/3 for assigning
a new value to a register and for updating type information for a
register referenced as as source, respectively. Also stricten
verification of the types that gets stored into the type database.
|
|
In the following code:
{get_tuple_element,{x,0},0,{x,1}}.
{put_tuple,2,{x,1}}.
{put,{atom,badmap}}.
{put,{x,0}}.
{move,{x,1},{x,0}}.
beam_block would move the get_tuple_element/3 instruction and eliminate the
move/2 instruction:
{put_tuple,2,{x,1}}.
{put,{atom,badmap}}.
{put,{x,0}}.
{get_tuple_element,{x,0},0,{x,0}}.
That is not correct, since the result of the tuple building in {x,1} is
now ignored.
|
|
|
|
|
|
|
|
|
|
|
|
* hans/ssh/execfix18/OTP-14881:
ssh: Fix cli
ssh: Test for disabled shell
|
|
The changes are based on the latest versions of following modules
and are also similar to gen_statem Emacs skeleton. Note that the
gen_fsm is not updated because it is deprecated.
application:
* add/update type-spec for all callbacks
* add start_phase/3 callback
* add prep_stop/1 callback
* add config_change/3 callback
supervisor:
* add/update type-spec for all callbacks
supervisor_bridge:
* add/update type-spec for all callbacks
gen_server:
* add/update type-spec for all callbacks
* add format_status/2 callback
gen_event:
* add/update type-spec for all callbacks
* add format_status/2 callback
|
|
* maint:
Updated OTP version
Prepare release
ssl: Prepare for release
ssl: Backport PR-1709
ssh: Fix cli
ssh: Test for disabled shell
|
|
* maint-19:
Updated OTP version
Prepare release
ssl: Prepare for release
ssl: Backport PR-1709
ssh: Fix cli
ssh: Test for disabled shell
Conflicts:
OTP_VERSION
lib/ssh/doc/src/notes.xml
lib/ssh/src/ssh.erl
lib/ssh/vsn.mk
lib/ssl/doc/src/notes.xml
lib/ssl/vsn.mk
otp_versions.table
|
|
|
|
* maint:
ssh: Extend ssh_basic_SUITE:packet_size_zero to ...:packet_size Also got rid of some EXIT messages due to ssh_connection:shell/2 being async and ssh:close came too soon
|
|
* hans/ssh/cuddle_tests:
ssh: Extend ssh_basic_SUITE:packet_size_zero to ...:packet_size Also got rid of some EXIT messages due to ssh_connection:shell/2 being async and ssh:close came too soon
|
|
* maint:
ssh: Disable exec for non-default shell
ssh: Test for disabled shell
|
|
* hans/ssh/execfix20/OTP-14881:
ssh: Disable exec for non-default shell
ssh: Test for disabled shell
|
|
|
|
* lukas/kernel/fix_os_cmd_max_size_win32/OTP-14940:
stdlib: Fix doc link in timer
kernel: Fix handling of os:cmd option max_size in win
|
|
* maint:
Derive `erlang-shell-mode` properly from `comint-mode`
|
|
|
|
|
|
Also got rid of some EXIT messages due to ssh_connection:shell/2 being async and ssh:close came too soon
|
|
|
|
* maint:
emacs: delimiter first in icr works
emacs: Indent delimiter first in term elements correctly
emacs: Indent tuple (and maps) elements as list elements
Add emacs indention testcase
|
|
* dgud/tools/emacs/indent-tests:
emacs: delimiter first in icr works
emacs: Indent delimiter first in term elements correctly
emacs: Indent tuple (and maps) elements as list elements
Add emacs indention testcase
OTP-14944
|
|
|
|
|
|
Avoid
From:
{
^^element1,
^^element2
}
To:
{
^element1,
^element2
}
|
|
Split the manual testcase and run them in daily tests instead.
Easy to run directly as well:
(cd ../test; cerl -eval "emacs_SUITE:indent([])")
|
|
* maint:
ERL-558 Add the missing function clause for string:prefix (#1702)
|
|
OTP-14942
|
|
live_opt_block/4 could overestimate the number of live
registers for a GC BIF and trigger an assertion. This does not
seem to be a problem when generating code using v3_codegen,
but only when using a new experimental code generator, therefore
there is no need include this correction in maint.
|
|
is_killed/3 and is_killed_at/3 could return 'true' even if the
register was referenced by an allocation instruction. Somehow, that
does not seem to have caused any problems yet.
|
|
Every catch or try/catch must use a lower Y register number than any
enclosing catch or try/catch. That will ensure that when the stack
is scanned when an exception occurs, the innermost try/catch tag is
found first.
|
|
|
|
* siri/cuddle:
[cdv] Fix test of size limit reached on crash dump, again
|
|
Inline more type test BIFs in HiPE
|
|
|
|
|
|
* maint:
ssh: Insert missing ssh:stop() etc in test suites
ssh: Fix acceptor sup testcase
ssh: Fix cli testcase
ssh: Misspelling in test suite
ssh: Clearify links in ssh_sftp:read_file_info/2
ssh: Put common user_dir setup in ssh_options_SUITE:init_per_testcases/2
|