Age | Commit message (Collapse) | Author |
|
Fixes in erl_parse:abstract_type/0 type
|
|
* maint:
Fix sorting in lists.xml
|
|
This is the result of going through all .xml files
with "clause_i" attributes and make sure
their "since" versions are correct.
|
|
Correction of type abstract_expr -> abstract_expr() in erl_parse
|
|
`search/2` was sorted incorrectly.
|
|
|
|
* Use synchronolus cancel_timer since that is more efficient
than asynchronous when a process cancels its own timer
* Restructure the state to have fewer fields by breaking
out practically constant fields into a separate
loop argument record #params{}, group state and data
into one field and dito for timer fields
* Optimize engine loop arguments for staying in the loop so
the detour to sys:handle_system_message/6 will require
packing/unpacking of the sys: state, and of the argument Parent
* Avoid double reverse of event queue in many cases
* Restructure the state transition to not have duplicate
tracks for sys_debug and non-sys_debug cases
* Shortcut the empty list case where possible
* Loop unroll reversal of up to 2-element lists to avoid calling
lists:reverse/2 since an external call spills all live
registers to the stack
* Bring out the callback mode check to the engine loop
|
|
Instead of just changing states; also start a state_timeout
that gets cancelled by the state change.
I think it is important to have efficient timer handling.
|
|
* maint:
[xmerl] Fix detect charset crash
[cdv] Check only own persistent terms in crashdump_viewer test
Fix remote-call error in ms_transform
Conflicts:
lib/observer/test/crashdump_helper.erl
|
|
Fix remote-call error in ms_transform
|
|
Add missing list wrapper.
|
|
`af_function_type()` already contains the `{'type', anno(), 'fun', ...}`
tuple so it does not have to be wrapped again.
|
|
This is allowed since 19.3 (commit 6d238032) and documented since commit
744fb920.
|
|
|
|
Before OTP 22, the option `{nowarn_deprecated_function,MFAs}` was only
recognized when given in the file with the attribute
`-compile()`. (The option `{nowarn_unused_function,FAs}`
was incorrectly documented to only work in a file, but it also
worked when given in the option list.) Starting from OTP 22, all
options that can be given in the file can also be given in the option
list.
|
|
* raimo/stdlib/sys-log-of-gen-in-terminate-report/OTP-15381:
sys:log timeout 0 events
Filter gen_server State in crash sys:log
Fix statement duplication
Document system_events better
Adjust sys:log(N, get) to documentation
Unify system_events in gen_*
Log code change
Use from/1 type check
Limit more error_logger terms
Add client stacktrace
Print sys:log in error report
Optimize sys:handle_debug/4
Optimize sys:log
Fix sys:log functionality
Conflicts:
lib/stdlib/doc/src/sys.xml
|
|
|
|
|
|
|
|
Currently, a user of gen_statem cannot use gen_statem types
related to naming & starting in their behaviour implementations
As an example, we cannot do:
-spec start_link(Options) -> gen_statem:start_ret() when
Options :: some_complex_thing().
start_link(Options) ->
gen_statem:start_link(?MODULE, [Opts], []).
As dialyzer, if configured to complain about unknown types, will
warn that the type gen_statem:start_ret() is unknown.
Likewise, for the same reason, we cannot do:
-spec do_call_to_gen_statem(ServerRef) -> Reply when
ServerRef :: gen_statem:server_ref(),
Reply :: term().
do_call_to_gen_statem(ServerRef) ->
gen_statem:call(ServerRef, do_thing).
This fixes that by exporting the appropriate types
|
|
|
|
introduced after OTP_R13B03.
|
|
* maint:
Updated OTP version
Prepare release
|
|
|
|
The example should not show the iterator as that is
an internal value and if changed can confuse the reader
of the documentation. See ERL-796
|
|
* maint:
unicode_util did not handle binary input data correctly
|
|
* dgud/stdlib/unicode-binary-bug/ERL-777/OTP-15428:
unicode_util did not handle binary input data correctly
|
|
* maint:
stdlib: Let calendar:system_time_to_rfc3339() keep fractions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RFC3339 mentions in paragraph 5.1 that if certain conditions are
fulfilled, then sorting date and time strings results in a
time-ordered sequence. One of the conditions is that the strings must
have the same number of fractional second digits. This commits makes
sure this is indeed the case.
|
|
* lukas/ssl/dist_benchmarks:
stdlib: Adjust binary bench to be faster
ssl: Add scheduler utilization benchmark of plain/tls dist
ssl: Link to tstsrvr to group_leader in test
ssl: Add some benchmarks to test
|
|
When benchmarking releases before OTP-22 the
binary:match function is very slow so it takes
a long time to run the benchmarks. This commit
makes the benchmark run for a shorter time which
will make the results a bit less stable, but it
will cut 1 hour from the benchmark regression so
we will have to live with that.
|
|
|
|
|
|
* maint:
Fix inadvertently suppressed warning for unused variable
|
|
An external fun could inadvertently suppress warnings for
unused variables, such as in this example:
bug() ->
BugVar = foo(),
if true ->
fun m:f/1
end.
There would be no warning that `BugVar` was unused.
The bug was introduced in ff432e262e652, which was the commit
that extended external funs to allow variables.
https://bugs.erlang.org/browse/ERL-762
|
|
|
|
Did fail on really slow unlucky machines.
|
|
gc_zwj sent binaries recursivly to gc_extend/3 which didn't handle
can't handle them.
ERL-777
|
|
Before this patch the following call resulted in the below error
```
1> dbg:fun2ms(fun(_) -> m:f() end).
Error: Unknown error code {122,m,f}
```
Now it is properly formatted as
```
1> dbg:fun2ms(fun(_) -> m:f() end).
Error: fun containing the remote function call 'm:f/0' (called in body) cannot be translated into match_spec
```
|
|
Also fix erts_debug:get_internal_status(node_and_dist_references)
for catree to also search route node keys for offheap stuff.
|
|
|
|
|