aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-02-24Merge branch 'josevalim/jv-eval-guards/OTP-11747'Henrik Nord
* josevalim/jv-eval-guards/OTP-11747: Fix erl_eval bug when erlang:'=='/2 is used in guards
2014-02-24Merge branch 'rickard/erts_alloc_config/OTP-11662'Rickard Green
* rickard/erts_alloc_config/OTP-11662: Produce configs that better fit todays SMP VM
2014-02-24Merge branch 'rickard/configure-defaults/OTP-11723'Rickard Green
* rickard/configure-defaults/OTP-11723: Always default to disabled floating point exceptions on Linux
2014-02-24Always default to disabled floating point exceptions on LinuxRickard Green
This since there exist unresolved stability issues in the implementation for Linux.
2014-02-24Merge branch 'egil/maps/fix-cerl-inlining'Björn-Egil Dahlberg
* 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
2014-02-24Merge branch 'rickard/assumed-cacheline-size/OTP-11742'Rickard Green
* rickard/assumed-cacheline-size/OTP-11742: Introduce configure option --with-assumed-cache-line-size=SIZE
2014-02-24Merge branch 'bjorn/asn1/deprecations/OTP-11731'Björn Gustavsson
* bjorn/asn1/deprecations/OTP-11731: Eliminate warnings for deprecated funtions in test suites
2014-02-24Merge branch 'vinoski/ds2'Rickard Green
* vinoski/ds2: further enhancements for dirty schedulers allow optional whitespace in dirty scheduler erl options
2014-02-24further enhancements for dirty schedulersSteve Vinoski
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.
2014-02-24Eliminate warnings for deprecated funtions in test suitesBjörn Gustavsson
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.
2014-02-24Merge branch 'siri/master-cuddle-with-tests'Siri Hansen
* 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
2014-02-24Merge branch 'siri/upgrade_SUITE/OTP-11649'Siri Hansen
* 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
2014-02-24Include more applications in upgrade_SUITESiri Hansen
Many appup files are now corrected and the applications can be included in the upgrade suite.
2014-02-24Merge branch 'bjorn/asn1/deprecations/OTP-11731'Björn Gustavsson
* bjorn/asn1/deprecations/OTP-11731: Remove or de-emphasize references to the deprecated asn1rt module Deprecate asn1 functions
2014-02-24Merge branch 'ta/silent-rules/OTP-11746'Björn Gustavsson
* ta/silent-rules/OTP-11746: Use correct variable name for silent rule C++ compiler Default enable silent rules
2014-02-24Use correct variable name for silent rule C++ compilerTuncer Ayaz
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.
2014-02-24Default enable silent rulesTuncer Ayaz
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.
2014-02-24Start all non-core applications as temporary in upgrade_SUITESiri Hansen
2014-02-24Allow config to point out old releases in upgrade_SUITESiri Hansen
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.
2014-02-24In upgrade_SUITE stop node with init:stop instead of test_server:stop_nodeSiri Hansen
This is only for nodes not started with test_server:start_node.
2014-02-24Skip upgrade_SUITE when running cerlSiri Hansen
2014-02-24Use $INSTALL_SCRIPT instead of $INSTALL_DATA for start[_erl].srcSiri Hansen
To make the result executable as is the case for erl.src.
2014-02-24Add upgrade_SUITE to test upgrade of OTP releaseSiri Hansen
This test creates an OTP package of the previous major release and performs an upgrade to the current release.
2014-02-24Merge branch 'hb/dialyzer/fix_on_load/OTP-11743'Hans Bolinder
* hb/dialyzer/fix_on_load/OTP-11743: FIx handling of 'on_load' attribute
2014-02-24Remove or de-emphasize references to the deprecated asn1rt moduleBjörn Gustavsson
2014-02-24Merge branch 'hb/dialyzer/deprecate_types/OTP-10342'Hans Bolinder
* hb/dialyzer/deprecate_types/OTP-10342: Deprecate pre-defined built-in types
2014-02-24Merge branch 'schlagert/fix_basic_appups'Siri Hansen
* 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
2014-02-24Dynamically configure typer_SUITE according to environmentTobias Schlager
Disables the typer app_test when dependent applications are missing.
2014-02-24Disable hipe_SUITE when environment doesn't support itTobias Schlager
2014-02-24Make hipe non-upgradable by setting appup file emptyTobias Schlager
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.
2014-02-24Fix missing module on hipe app file templateTobias Schlager
2014-02-24Add test suites performing app and appup file checksTobias Schlager
Add the mentioned test suites for *all* library and touched non-library applications.
2014-02-24Introduce appup test utilityTobias Schlager
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.
2014-02-24Merge branch 'ia/ssl/cache-fix/OTP-11733'Ingela Anderton Andin
* 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.
2014-02-24FIx handling of 'on_load' attributeHans Bolinder
[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.
2014-02-23Introduce configure option --with-assumed-cache-line-size=SIZERickard Green
2014-02-23Deprecate pre-defined built-in typesHans Bolinder
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.
2014-02-23Merge branch 'hb/dialyzer/para_opaque/OTP-11625'Hans Bolinder
* hb/dialyzer/para_opaque/OTP-11625: Introduce parameterized opaque types Fix a bug concerning parameterized types Solve remote types in parameters
2014-02-22Introduce parameterized opaque typesHans Bolinder
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.
2014-02-22Fix a bug concerning parameterized typesHans Bolinder
This should fix a problem with variables in parameterized types. In particular it concerns parameterized opaque types and records.
2014-02-22Solve remote types in parametersHans Bolinder
2014-02-21compiler: Update map_SUITE to handle inliningBjörn-Egil Dahlberg
2014-02-21ssl: Add test that memory is not leekedIngela Anderton Andin
2014-02-21erts: Maps src instructions can't be literalsBjörn-Egil Dahlberg
Move src to a register if it is a literal.
2014-02-21Use default timetrap (30 min) for kernel, stdlib and sasl app testsSiri Hansen
These tests start new nodes, and they frequently timed out on some slow test hosts.
2014-02-21Unload 'deadlock' application in application_SUITE:shutdown_deadlockSiri Hansen
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.
2014-02-21compiler: Fix map inliningBjörn-Egil Dahlberg
Added coverage of operating map variable.
2014-02-21compiler: Add variable coverage of map in cerlBjörn-Egil Dahlberg
2014-02-21Merge branch 'bjorn/erts/restore-cmp-arguments'Björn Gustavsson
* bjorn/erts/restore-cmp-arguments: beam/utils.c: Change back cmp() to only take two arguments
2014-02-21Deprecate asn1 functionsBjörn Gustavsson
Those asn1 functions are no longer needed because they all have better alternatives.