aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-03-10beam_block: Eliminate unsafe optimizationBjörn Gustavsson
Consider this code: %% Start of block get_tuple_element Tuple 0 Element get_map_elements Fail Map [Key => Dest] . . . move Element UltimateDest %% End of block Fail: %% Code that uses Element. beam_block (more precisely, otp_tuple_element/1) would incorrectly transform the code to this: %% Start of block get_map_elements Fail Map [Key => Dest] . . . get_tuple_element Tuple 0 UltimateDest %% End of block Fail: %% Code that uses Element. That is, the code at label Fail would use register Element, which is either uninitalized or contains the wrong value. We could fix this problem by always keeping label information at hand when optimizing blocks so that we could check the code at the failure label for get_map_elements. That would require changes to beam_block and beam_utils. We might consider doing that in the future if it turns out be worth it. For now, I have decided that I want to keep the simplicity of blocks (allowing them to be optimized without keeping label information). That could be achieved by not including get_map_elements in blocks. Another way, which I have chosen, is to only allow get_map_elements as the first instruction in the block. For background on the bug: c288ab8 introduced the beam_reorder pass and 5f431276 introduced opt_tuple_element() in beam_block.
2016-03-10Merge branch 'bjorn/multiple-load/OTP-13111'Björn Gustavsson
* bjorn/multiple-load/OTP-13111: erl_prim_loader_SUITE: Add debug printout Skip erl_prim_loader_SUITE:get_modules/1 when cover-compiled multi_load_SUITE: Clarify failure reasons multi_load_SUITE: Don't fail on non-HiPE systems
2016-03-10Merge branch 'bjorn/stdlib/modernize-tests'Björn Gustavsson
* bjorn/stdlib/modernize-tests: Eliminate use of ?config() macro Remove ?line macros Replace "%" with "%%" at the beginning of a line Eliminate 'suite' and 'doc' clauses gen_server_SUITE: Eliminate use of test_server:timecall/3 Use 'test_server' instead of ?t macro Eliminate use of test_server:messages_get/0 sys_SUITE: Replace test_server:capture*/0 with ct:capture*/0 sys_SUITE: Mend test cases that didn't test what they should Replace calls to test_server:sleep/1 with ct:sleep/1 or timer:sleep/1 Eliminate use of test_server:do_times() Replace use of test_server:format/2 with io:format/2 Eliminate use of test_server:fail/0,1 Modernize use of timetraps
2016-03-09Merge branch 'maint'Sverker Eriksson
2016-03-09erts: Fix wobbling tests in nif_SUITESverker Eriksson
No point in checking tmp_alloc instance 0 as any non-scheduler thread could race us.
2016-03-09Eliminate use of ?config() macroBjörn Gustavsson
2016-03-09Remove ?line macrosBjörn Gustavsson
While we are it, also re-ident the files.
2016-03-09Replace "%" with "%%" at the beginning of a lineBjörn Gustavsson
We want to re-ident the source files after having taken out all ?line macros. When re-indenting using Emacs, it's important that comments that should be at the beginning of a line (or follow the indentation of statements around it) must start with "%%".
2016-03-09Eliminate 'suite' and 'doc' clausesBjörn Gustavsson
2016-03-09gen_server_SUITE: Eliminate use of test_server:timecall/3Björn Gustavsson
2016-03-09Use 'test_server' instead of ?t macroBjörn Gustavsson
2016-03-09Eliminate use of test_server:messages_get/0Björn Gustavsson
2016-03-09sys_SUITE: Replace test_server:capture*/0 with ct:capture*/0Björn Gustavsson
2016-03-09sys_SUITE: Mend test cases that didn't test what they shouldBjörn Gustavsson
The return values for lists:prefix/2 and lists:member/2 were ignored.
2016-03-09Replace calls to test_server:sleep/1 with ct:sleep/1 or timer:sleep/1Björn Gustavsson
Note that the sleeping time in ct:sleep/1 will be scaled if the test is run with (for example) cover. When it is important that the sleep time is not adjusted, use timer:sleep/1.
2016-03-09Eliminate use of test_server:do_times()Björn Gustavsson
2016-03-09Replace use of test_server:format/2 with io:format/2Björn Gustavsson
There is no practial difference.
2016-03-09Eliminate use of test_server:fail/0,1Björn Gustavsson
2016-03-09Modernize use of timetrapsBjörn Gustavsson
Either rely on the default 30 minutes timetrap, or set the timeout using the supported methods in common_test.
2016-03-09Merge branch 'maint'Siri Hansen
Conflicts: lib/common_test/test/Makefile
2016-03-09Merge branch 'siri/test-ct_release_test/OTP-13390' into maintSiri Hansen
* siri/test-ct_release_test/OTP-13390: Remove upgrade tests from stdlib_SUITE Add test of ct_release_test
2016-03-09Remove upgrade tests from stdlib_SUITESiri Hansen
The test cases minor_upgrade and major_upgrade used ct_release_test. The point of the tests in stdlib was mainly to test ct_release_test. ct_release_test produces a 'from-release' based on an old version of the application under test (in this case stdlib) and new versions of all other applications. But since it is not always a good idea to load an old version of stdlib into a new emulator (e.g. in the OTP-19.0 emulator), these tests are removed. Instead new tests are added for ct_release_test in common_test.
2016-03-09Add test of ct_release_testSiri Hansen
The ct_release_test module provides support for testing upgrade/code_change of one or more applications within the Erlang/OTP product. This commit adds tests to the common_test/test directory.
2016-03-09Merge branch 'maint'Peter Andersson
2016-03-09Merge branch 'peppe/common_test/html_improvements' into maintPeter Andersson
* peppe/common_test/html_improvements: Fix problems with formatted test_server printouts Make sure special characters are escaped in e.g. pal and log printouts Conflicts: lib/test_server/src/test_server.erl
2016-03-09Merge branch 'maint'Björn Gustavsson
* maint: io_SUITE: Don't fail on fast computers with rough timers Fix code_SUITE after test_server change Set default value for crash_dump_dir
2016-03-09Merge branch 'bjorn/cuddle-with-tests' into maintBjörn Gustavsson
* bjorn/cuddle-with-tests: io_SUITE: Don't fail on fast computers with rough timers
2016-03-09Merge branch 'siri/crashdump-dir/OTP-13388' into maintSiri Hansen
* siri/crashdump-dir/OTP-13388: Fix code_SUITE after test_server change Set default value for crash_dump_dir
2016-03-09Merge branch 'maint'Anders Svensson
2016-03-09Merge branch 'anders/diameter/18/dialyzer/OTP-13400' into maintAnders Svensson
* anders/diameter/18/dialyzer/OTP-13400: Fix dialyzer warnings
2016-03-08Merge branch 'sverk/literal-alloc-polish'Sverker Eriksson
* sverk/literal-alloc-polish: erts: Add emulator flag +MIscs for literal super carrier size erts: Refactor init of erts_literal_mmapper erts: Make literal_alloc documented and configurable
2016-03-08Merge branch 'sverk/Werror-implicit'Sverker Eriksson
* sverk/Werror-implicit: otp: Add gcc option -Werror=implicit
2016-03-08Merge branch 'maint'Sverker Eriksson
2016-03-08erts: Fix alloc_SUITE:rbtree and migration for win64Sverker Eriksson
One little (unsigned long) left behind.
2016-03-08Merge branch 'maint'Anders Svensson
2016-03-08Merge branch 'anders/diameter/18.3/OTP-13322' into maintAnders Svensson
* anders/diameter/18.3/OTP-13322: vsn -> 1.11.2 Update appup for 18.3
2016-03-08Merge branch 'maint'Peter Andersson
2016-03-08Merge branch 'peppe/common_test/cth_improvements' into maintPeter Andersson
* peppe/common_test/cth_improvements: Add missing internal hook functions Fix remaining issues Update ct_hooks test suites Introduce new CT hook functions OTP-13242
2016-03-08Merge branch 'peppe/common_test/rm_unwanted_tests' into maintPeter Andersson
* peppe/common_test/rm_unwanted_tests: Fix remaining issues Enable execution of multiple test cases or groups from a test spec term OTP-13241
2016-03-08Merge branch 'maint'Henrik Nord
2016-03-08Merge branch 'henrik/doc-fixes' into maintHenrik Nord
* henrik/doc-fixes: Fix typo in INSTALL.md Update README.md Fix typo in 'app' documentation s/is/are
2016-03-08Merge branch 'maint'Sverker Eriksson
2016-03-08Merge branch 'sverk/bad_printable_range' into maintSverker Eriksson
* sverk/bad_printable_range: stdlib: Fix io_SUITE:bad_printable_range for windows
2016-03-08Fix problems with formatted test_server printoutsPeter Andersson
2016-03-08Make sure special characters are escaped in e.g. pal and log printoutsPeter Andersson
2016-03-08Merge remote-tracking branch 'origin/dgud/wx/bugs' into maintDan Gudmundsson
* origin/dgud/wx/bugs: wx: Use wrapper classes where possible wx: Wait before throwing away early callbacks to wx_objects wx: Add wxWindow:SetTransparent and CanSetTransperant wx: Add wxWindow SetDoubleBuffered and IsDoubleBuffered from wxWidgets 3.0 wx: Remove http_util usage wx: Tiny optimization wx: Fix a crash with sending two binaries to command queue
2016-03-08Merge branch 'dgud/test-cuddle' into maintDan Gudmundsson
* dgud/test-cuddle: Test windows registry in places we are allowed to write test: do not divide by zero
2016-03-08Test windows registry in places we are allowed to writeDan Gudmundsson
Since Windows 8 we are not allowed (in non elevated mode) to write to hklm.
2016-03-08test: do not divide by zeroDan Gudmundsson
2016-03-07Fix dialyzer warningsAnders Svensson
Whether making record declarations unreadable to compensate for dialyzer's ignorance of match specs is worth it is truly debatable.