Age | Commit message (Collapse) | Author |
|
|
|
* margnus1/hipe-call-elim-crash/PR-1253:
hipe_icode_call_elim: Fix cf elimination crash
hipe: Improve error message on internal crashes
|
|
again.
|
|
|
|
OTP-14051
* rickard/dirty-scheduling-fixes:
Update etp-commands for dirty schedulers
Fix scheduling of system tasks on processes executing dirty
Fix call time tracing with dirty schedulers
Fix send of exit signal to process executing dirty
Fix dirty scheduler process priority
Fix alloc-util hard-debug
Silence debug warning when no beam jump table is used with dirty schedulers
Conflicts:
erts/etc/unix/etp-commands.in
|
|
* rickard/nif-scheduling-fixes:
Fix check_process_code() when NifExport is in use - OTP-14048
Fix GC when NifExport is in use - OTP-14049
Fix saving of original arguments when rescheduling via NifExport - OTP-14050
|
|
|
|
* bjorn/compiler/fix-unwanted-warning/ERL-301/OTP-14040:
Suppress warnings from v3_kernel when inlining is turned on
|
|
* jimdigriz/kernel/rpc-doc/ERL-302/PR-1252:
document {yield/nb_yield}() limitation
|
|
* hasse/dialyzer/improve_messages/OTP-11403:
dialyzer: Substitute 'opacity' for 'opaqueness'
dialyzer: Improve a warning message
dialyzer: Improve a warning message
dialyzer: Correct a warnings message
|
|
* hasse/stdlib/correct_types:
stdlib: Correct types of the abstract format
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The types in erl_parse.yrl are more in harmony with the description in
The Abstract Format (in ERTS User's Guide).
|
|
|
|
|
|
* sverker/erts/crash-dump-limit:
erts: Add env variable ERL_CRASH_DUMP_BYTES
erts: Add ErtsStrToSint64
erts: Refactor crash dumping with cbprintf
erts: Add cbprintf for Callback Printing
erts: Remove unused erl_crash_dump()
|
|
to limit crash dump size
|
|
|
|
Suggested by Kostis.
|
|
Messages regarding guards with orelse/andalso could look
like "Clause guard cannot succeed. The variable A was matched
against the type any()". Now they look like as if or/and is
used: "Guard test is_integer(A::atom()) can never succeed".
|
|
Messages like "Invalid type specification for function
para3:exp_adt/0. The success typing is () -> 3" now look like
"The specification for para3:exp_adt/0 has an opaque subtype
para3_adt:exp1(para3_adt:exp2()) which is violated by the success
typing () -> 3".
The old message did not give any clue as to what invalidated the
contract, namely the opaque subtype.
|
|
Messages like "The attempt to match a term of type rec_api:f()
against the variable _ breaks the opaqueness of rec_adt:f()" now
look like "The attempt to match a term of type rec_adt:f()
against the record field 'f' with type rec_api:f() breaks the
opaqueness of the term".
|
|
hipe_icode_call_elim could in some cases replace an #icode_call{} with
control flow with a move instruction. This would break the control flow
graph invariants and cause a crash.
|
|
Print the MFA/module being compiled, and pretty-print the backtrace with
lib:format_stacktrace/4.
Additionally, make the error_msg/2 macro in hipe.hrl respect the
HIPE_LOGGING define, since messages produced by this macro just before
runtime shutdown were sometimes lost (since code_server:error_msg/2 is
asynchronous).
|
|
|
|
* bjorn/travis-dialyzer:
Travis: Reduce memory consumption for dialyzer
|
|
9e06884c3a7db started to run Dialyzer in Travis.
After that, Travis has crashed several times because of the memory
limit of 2Gb has been exceeded. Try to fix that by analyzing only
three or four applications at a time.
|
|
* kostis/travis-dialyzer:
Run dialyzer as part of the travis script
|
|
* bjorn/cuddle-with-tests:
Correct tar_SUITE:unicode/1
|
|
* ingela/httpc/keep-alive-https/OTP-14041:
inets: httpc - do not send absolute URIs over TLS tunnels
|
|
v3_kernel may produce unwanted and confusing warnings for code that
has been inlined with the new inliner (cerl_inline). Consider this
code:
-compile(inline).
compute1(X) ->
add(X, 0).
compute2(X, Y) ->
add(X, Y).
add(1, 0) ->
1;
add(1, Y) -> %% "this clause cannot match..."
1 + Y;
add(X, Y) ->
X + Y.
v3_kernel warns because add/2 has been inlined into compute1/1 and only
the first clause in add/2 will match. But the other clauses are needed
when add/2 is inlined into compute2/2, so the user cannot do anything
to eliminate the warning (short of manually inlining add/2, defeating the
purpose of the 'inline' option).
The warning would be reasonable if compute2/2 didn't exist, but it would
be too complicated for the compiler to figure whether a warning make
sense or not.
Therefore, suppress all warnings generated by v3_kernel if cerl_inline
has been run.
ERL-301
|
|
* ingela/odbc/mac:
odbc: Remove support for old MACs
|
|
Change configure to skip odbc for old MACs, the change in
PR-1227 is not backwards compatible with old MACs, and we do not
see a need to continue support for such old versions. However
it is still possible to make it work on such machines using
the --with-odbc configure option.
|
|
Build a dialyzer PLT and use it to analyze all OTP applications
that can currently be analyzed without warnings even when the
option -Wunmatched_returns is turned on. Note that the dialyzer
run does _not_ enable the option which allows for improper lists.
Applications to run dialyzer on are mentioned alphabetically.
As more applications are fixed to run cleanly even with unmatched
returns, they can be added to this list. However, there will come
a point when the warning pass of Dialyzer will run out of memory
on Travis and the process will be killed. This should be fixed in
dialyzer.
|
|
for simplify string to 64-bit integer parsing.
|
|
Instead of passing around a file descriptor
use a function pointer to facilitate more advanced
backend write logic such as size limitation or compression.
|
|
|
|
Make sure that we always test the "+fnu" option on all
systems. It seems that it was not tested in our daily
builds, since they are run non-interactively.
Make sure that we sort the list of names in do_unicode/1.
Otherwise the test would only work in "+fnl" mode because
the list would only contain one element.
|
|
|
|
|
|
* github/pr/1227:
Update configure to work better on Mac
|