Age | Commit message (Collapse) | Author |
|
* josevalim/jv-eval-guards/OTP-11747:
Fix erl_eval bug when erlang:'=='/2 is used in guards
|
|
* rickard/erts_alloc_config/OTP-11662:
Produce configs that better fit todays SMP VM
|
|
* rickard/configure-defaults/OTP-11723:
Always default to disabled floating point exceptions on Linux
|
|
This since there exist unresolved stability issues in the implementation
for Linux.
|
|
* egil/maps/fix-cerl-inlining:
compiler: Update map_SUITE to handle inlining
erts: Maps src instructions can't be literals
compiler: Fix map inlining
compiler: Add variable coverage of map in cerl
|
|
* rickard/assumed-cacheline-size/OTP-11742:
Introduce configure option --with-assumed-cache-line-size=SIZE
|
|
* bjorn/asn1/deprecations/OTP-11731:
Eliminate warnings for deprecated funtions in test suites
|
|
* vinoski/ds2:
further enhancements for dirty schedulers
allow optional whitespace in dirty scheduler erl options
|
|
Add support for setting the number of dirty CPU schedulers online via
erlang:system_flag/2. Assuming the emulator is built with dirty schedulers
enabled, the number of dirty CPU schedulers online may not be less than 1,
nor greater than the number of dirty CPU schedulers available, nor greater
than the number of normal schedulers online. Dirty CPU scheduler threads
that are taken offline via system_flag/2 are suspended. The number of dirty
CPU schedulers online may be adjusted independently of the number of normal
schedulers online, but if system_flag/2 is used to set the number of normal
schedulers online to a value less than the current number of normal
schedulers online, the number of dirty CPU schedulers online is decreased
proportionally. Likewise, if the number of normal schedulers online is
increased, the number of dirty CPU schedulers online is increased
proportionally. For example, if 8 normal schedulers and 4 dirty CPU
schedulers are online, and system_flag/2 is called to set the number of
normal schedulers online to 4, the number of dirty CPU schedulers online is
also decreased by half, to 2. Subsequently setting the number of normal
schedulers online back to 8 also sets the number of dirty CPU schedulers
online back to 4. Augment the system_flag/2 documentation in the erlang man
page to explain this relationship between schedulers_online and
dirty_cpu_schedulers_online.
Also ensure that all dirty CPU and I/O schedulers are suspended when
multi-scheduling is blocked via system_flag/2, and brought back online when
multi-scheduling is unblocked.
Add Rickard Green's rewritten check_enqueue_in_prio_queue() function that
inspects process state more thoroughly to determine if to enqueue it and if
so on what queue, including dirty queues when appropriate.
Make sure dirty NIF jobs do not trigger erlang:system_monitor long_schedule
messages.
Add more dirty scheduler testing to the scheduler test suite.
Remove the erts_no_dirty_cpu_schedulers_online global variable, since it's
no longer needed.
Execute dirty NIFs on a normal scheduler thread while multi-scheduling
blocking is in effect. Evacuate any dirty jobs residing in the dirty run
queues over to a normal run queue when multi-scheduling is blocked.
Allow dirty schedulers to execute aux work.
Set the dirty run queues halt_in_progress flag when halting the normal
schedulers.
Change dirty scheduler numbers to a structure including both scheduler
number and type, either dirty CPU or dirty I/O. Add some assertions to
ensure that dirty CPU schedulers operate only on dirty CPU scheduler
process flags, and the same for dirty I/O schedulers.
|
|
Commit e5c71b7 deprecated several all functions in the asn1rt
module. As a result, calls to those functions from test suites
caused warnings, and as the warnings_as_errors option was active,
two test files failed to compile.
|
|
* siri/master-cuddle-with-tests:
Use default timetrap (30 min) for kernel, stdlib and sasl app tests
Unload 'deadlock' application in application_SUITE:shutdown_deadlock
|
|
* siri/upgrade_SUITE/OTP-11649:
Include more applications in upgrade_SUITE
Start all non-core applications as temporary in upgrade_SUITE
Allow config to point out old releases in upgrade_SUITE
In upgrade_SUITE stop node with init:stop instead of test_server:stop_node
Skip upgrade_SUITE when running cerl
Use $INSTALL_SCRIPT instead of $INSTALL_DATA for start[_erl].src
Add upgrade_SUITE to test upgrade of OTP release
|
|
Many appup files are now corrected and the applications can be
included in the upgrade suite.
|
|
* bjorn/asn1/deprecations/OTP-11731:
Remove or de-emphasize references to the deprecated asn1rt module
Deprecate asn1 functions
|
|
* ta/silent-rules/OTP-11746:
Use correct variable name for silent rule C++ compiler
Default enable silent rules
|
|
Using CPP as the variable name for the C++ compiler makes no sense, as CPP
usually refers to the C/C++ preprocessor. That's why we have CXXFLAGS for C++
and CPPFLAGS for the C/C++ preprocessor.
|
|
It's much easier to spot new warnings with silent rules enabled,
and I don't know of a good reason to keep it opt-in.
|
|
|
|
This suite was earlier only possible to run on linux hosts in the OTP
test lab. Now a ct config file can be used to point out the two last
major releases, e.g. like this:
{otp_releases,[{r16,"/path/to/r16/bin/erl"},
{'17',"/path/to/17/bin/erl"}]}.
Until OTP 17.0 is really released, the entry named '17' may well be
left out, causing the test case upgrade_SUITE:minor to be skipped.
|
|
This is only for nodes not started with test_server:start_node.
|
|
|
|
To make the result executable as is the case for erl.src.
|
|
This test creates an OTP package of the previous major release and
performs an upgrade to the current release.
|
|
* hb/dialyzer/fix_on_load/OTP-11743:
FIx handling of 'on_load' attribute
|
|
|
|
* hb/dialyzer/deprecate_types/OTP-10342:
Deprecate pre-defined built-in types
|
|
* schlagert/fix_basic_appups:
Dynamically configure typer_SUITE according to environment
Disable hipe_SUITE when environment doesn't support it
Make hipe non-upgradable by setting appup file empty
Fix missing module on hipe app file template
Add test suites performing app and appup file checks
Introduce appup test utility
Fix library application appup files
Fix non-library appup files according to issue #240
OTP-11744
|
|
Disables the typer app_test when dependent applications are missing.
|
|
|
|
The reason for this is that if you are running a system with native
compiled code, then you will have major problems with soft upgrade
and the only reasonable way to go is to restart your emulator.
Currently there is no instruction that will force ONLY a restart of
the emulator, so the solution would be to hand write a relup with
only a restart_emulator instruction. By letting hipe.appup be empty,
systools will complain and not generate a relup - which should
indicate that you might have to write your relup by hand.
|
|
|
|
Add the mentioned test suites for *all* library and touched
non-library applications.
|
|
This adds a test function similar to the app file test function
existing in test_server. The code is mostly taken from the asn1,
snmp and inets test suites. Low-level upgrade instruction checking
is stripped. Library application's appup files get specialized
treatment, since their content is almost static.
|
|
* ia/ssl/cache-fix/OTP-11733:
ssl: Add test that memory is not leeked
ssl: Correct clean up of certificate database when certs are inputed in pure DER format.
|
|
[pull request from Kostis Sagonas]
The handling of functions appearing in an 'on_load' attribute was wrong.
Instead of considering the functions specified in these attributes as
escaping from the module and performing a full analysis starting from
them, the code just bypassed this analysis and only suppressed unused
warning messages for these functions. This worked for most of the cases
but resulted in functions (directly or indirectly) called by 'on_load'
functions being reported as not called by the module.
Such a case existed in the code of the 'crypto' application.
To solve these issues the initialization code for functions escaping
from the module was changed and the test for the on_load functionality
was appropriately extended.
|
|
|
|
The types array(), dict(), digraph(), gb_set(), gb_tree(), queue(),
set(), and tid() have been deprecated. They will be removed in OTP 18.0.
Instead the types array:array(), dict:dict(), digraph:graph(),
gb_set:set(), gb_tree:tree(), queue:queue(), sets:set(), and ets:tid()
can be used. (Note: it has always been necessary to use ets:tid().)
It is allowed in OTP 17.0 to locally re-define the types array(), dict(),
and so on.
New types array:array/1, dict:dict/2, gb_sets:set/1, gb_trees:tree/2,
queue:queue/1, and sets:set/1 have been added.
|
|
* hb/dialyzer/para_opaque/OTP-11625:
Introduce parameterized opaque types
Fix a bug concerning parameterized types
Solve remote types in parameters
|
|
Handle immediate opaque types as aliases:
A declaration of dict/0
-opaque dict() :: dict(_, _).
-opaque dict(Key, Value) :: ...
is handled as an alias, that is, when using dict() it is immediately
replaced by dict(_, _).
This is a means to avoid having to handle equivalent opaque types
later. To be changed if it doesn't work well.
|
|
This should fix a problem with variables in parameterized types.
In particular it concerns parameterized opaque types and records.
|
|
|
|
|
|
|
|
Move src to a register if it is a literal.
|
|
These tests start new nodes, and they frequently timed out on some
slow test hosts.
|
|
This is just to clean up properly after the test case. If not,
code_SUITE:bit_boot_embedded might fail since it tries to include the
'deadlock' application in the boot file and fails when running
systools:make_script.
|
|
Added coverage of operating map variable.
|
|
|
|
* bjorn/erts/restore-cmp-arguments:
beam/utils.c: Change back cmp() to only take two arguments
|
|
Those asn1 functions are no longer needed because they all have
better alternatives.
|