aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2012-01-11compile_SUITE: Add test of 'sys_pre_attributes'Björn Gustavsson
2012-01-05Correct syntax in compiler.coverBjörn Gustavsson
Modules would not get excluded. While at it, no longer exclude sys_pre_attributes since we will want to test it.
2012-01-04Cover v3_kernel:get_line/1Björn Gustavsson
2012-01-04core_SUITE: Cover the nomatch_shadow warning in v3_kernelBjörn Gustavsson
2012-01-04core_SUITE: Cover v3_kernel:build_match/2Björn Gustavsson
2012-01-04bs_match_SUITE: Add a test case to cover bsm_ensure_no_partition_2/5Björn Gustavsson
Also correct the comment in bsm_ensure_no_partition_2/5, and while at it correct typos in the comment for bsm_nonempty/2.
2012-01-04core_fold_SUITE: Cover sys_core_fold:is_safe_bool_expr_1/3Björn Gustavsson
2012-01-04core_SUITE: Cover sys_core_fold:eval_is_boolean/2Björn Gustavsson
2012-01-04core_SUITE: Cover sys_core_fold:make_effect_seq/2Björn Gustavsson
We need to write a test case in Core Erlang in order to cover make_effect_seq/2, since v3_core does not generate "deep" Core Erlang code.
2012-01-04beam_validator_SUITE:beam_files/1: Validate modules in parallelBjörn Gustavsson
2012-01-04compilation_SUITE: Compile compiler modules in parallelBjörn Gustavsson
On my Mac Pro with 8 cores, this change make self_compile/1 more than twice as fast, and self_compile_old_inliner/1 more than 4 times faster.
2012-01-04compilation_SUITE: Prevent cover from being run on slave nodesBjörn Gustavsson
In the self compilation test cases, the compiler compiles itself and runs the newly compiled version on a slave node. Having the cover server starting on the slave node defeats the purpose of the test, since it will load the SAME cover-compiled code on the slave node. (It will also be slower, but will not improve coverage since it compiles the same source files again.) Use a shielded node to prevent the cover server from getting started on the slave node.
2012-01-04test_lib:p_run/2: Be careful about how many parallel processes we useBjörn Gustavsson
We probably don't gain anything by using more processes than available schedulers. Also, if 'cover' is being run, using more than one process may make it slower, so we will be very conservative and use only one process in that case.
2012-01-04Remove part_eval_SUITEBjörn Gustavsson
This test suite has been superseded by other test suites (e.g. guard_SUITE). Removing it does not decrease the coverage.
2012-01-04Update primary bootstrapBjörn Gustavsson
2012-01-04Merge branch 'bjorn/compiler/match-fail/OTP-9842' into maintBjörn Gustavsson
* bjorn/compiler/match-fail/OTP-9842: Add the beam_except pass to optimize exceptions Eliminate the match_fail primop in v3_kernel and later passes
2012-01-04Add the beam_except pass to optimize exceptionsBjörn Gustavsson
In order to save space, rewrite suitable calls to erlang:error/{1,2} to special BEAM instructions. This code is probably longer than the code taken out of v3_life and v3_codegen in the previous commit, but it is much easier to understand and maintain since the BEAM assembler format is better understood than the v3_life format.
2012-01-04Eliminate the match_fail primop in v3_kernel and later passesBjörn Gustavsson
In the v3_life pass, it is assumed that a 'match_fail' primop only occur at the top-level and at the end of a function. But this code: do_split_cases(A) -> case A of x -> Z = dummy1; _ -> Z = dummy2, a=b end, Z. will be optimized by sys_core_fold to the following code: 'split_cases'/1 = fun (_cor0) -> let <_cor7,Z> = case _cor0 of <'x'> when 'true' -> < 'dummy1','dummy1' > <_cor6> when 'true' -> %% Here follows a 'match_fail' primop inside %% multiple return values: < primop 'match_fail'({'badmatch','b'}),'dummy2' > end in Z moving the 'match_fail' primop into a "values" construction. In the future, we would like to get rid of the v3_life pass (it is there for historical reasons), so in the mean-time we prefer to not add more code to it by generalizing the handling of 'match_fail'. Since the 'match_fail' primop can be simulated by erlang:error/{1,2}, the simplest solution is to translate 'match_fail' to a call to erlang:error/{1,2} in v3_kernel and remove the handling of 'match_fail' in v3_life and v3_codegen. It is tempting to get rid of 'match_fail' also in the Core Erlang format, but there are two issues: - Removing the support for 'match_fail' completely may break tools that generate Core Erlang code. We should not do that in a minor release. - There is no easy way to generate a 'function_clause' exception that will remain correct if it will be inlined into another function. (Calling "erlang:error(function_clause, Args)" is fine only if it is not inlined into another function.) A good solution probably involves introducing new instructions, which is better done in a major release. Noticed-by: Håkan Matsson Minimized-test-case-by: Erik Søe Sørensen
2012-01-04Merge branch 'lukas/docfixes/OTP-9850' into maintLukas Larsson
* lukas/docfixes/OTP-9850: Fix some broken links in documentation
2012-01-03Fix some broken links in documentationLukas Larsson
2011-12-30Merge branch 'maint-r15' into maintRickard Green
Conflicts: erts/vsn.mk
2011-12-27Prepare releaseErlang/OTP
2011-12-27Merge branch 'rickard/no-smp-dev-poll-bug/OTP-9844' into maint-r15Erlang/OTP
* rickard/no-smp-dev-poll-bug/OTP-9844: Include wakeup pipe in /dev/poll poll-set also on non-SMP
2011-12-27Merge branch 'rickard/lwsync/OTP-9843' into maint-r15Erlang/OTP
* rickard/lwsync/OTP-9843: Fix lwsync instruction feature test
2011-12-27Fix lwsync instruction feature testRickard Green
A feature test for the lwsync instruction performed on PowerPC hardware at runtime system startup got into an eternal loop if the instruction was not supported. This bug was introduced in erts-5.9/OTP-R15B.
2011-12-27Include wakeup pipe in /dev/poll poll-set also on non-SMPRickard Green
I/O events could potentially be delayed for ever when enabling kernel-poll on a non-SMP runtime system executing on Solaris. When also combined with async-threads the runtime system hung before completing the boot phase. This bug was introduced in erts-5.9/OTP-R15B.
2011-12-22Merge branch 'raimo/opu-fixes' into maintRaimo Niskanen
* raimo/opu-fixes: inet_res_SUITE: Go back to old way to kill test name server
2011-12-22Merge branch 'hb/erl_docgen/fix_links/OTP-9832' into maintHans Bolinder
* hb/erl_docgen/fix_links/OTP-9832: Generate links in C libraries correctly
2011-12-21Merge branch 'siri/sasl/check-config-in-tar/OTP-9539' into maintSiri Hansen
* siri/sasl/check-config-in-tar/OTP-9539: Check that sys.config and relup have valid content when added to tar
2011-12-21Merge branch 'siri/sasl/require-kernel-start/OTP-9652' into maintSiri Hansen
* siri/sasl/require-kernel-start/OTP-9652: Reject systools:make_script if kernel and stdlib are not permanent in .rel
2011-12-21Merge branch 'siri/stdlib/delete-temp-childspec-on-ignore/OTP-9782' into maintSiri Hansen
* siri/stdlib/delete-temp-childspec-on-ignore/OTP-9782: Don't save child spec for temporary child if child's start func returns ignore
2011-12-20Check that sys.config and relup have valid content when added to tarSiri Hansen
systools:make_tar now does a minor check of the content of sys.config and relup before adding them to the tar file. If the content is not readable or in expected format, the function fails.
2011-12-20Reject systools:make_script if kernel and stdlib are not permanent in .relSiri Hansen
It should not be possible to create a .boot file unless kernel and stdlib are stated as permanent applications in the .rel file. Note that 'permanent' is the default start type, so not specifying a start type for kernel and stdlib is, as always, ok.
2011-12-20Don't save child spec for temporary child if child's start func returns ignoreSiri Hansen
Supervisor should never keep child specs for dead temporary children.
2011-12-20Merge branch 'anders/diameter/testsuites/OTP-9829' into maintAnders Svensson
* anders/diameter/testsuites/OTP-9829: (21 commits) Install example dictionaries Move example code to examples/code Move example dictionaries to examples/dict Set name/prefix at compilation, not in dictionaries Add RFC 4004 (MIP) dictionary Add RFC 4740 (SIP) dictionary Add RFC 4072 (EAP) dictionary Add RFC 4006 (CC) dictionary Add RFC 4005 (NAS) dictionary Add standards testcase to compiler suite Remove {init,end}_per_group workaround Use new syntax for specifying ct group properties Increase timetrap in compiler suite Minor capx suite tweaks Minor makefile tweak Remove trailing whitespace Update skip condition in gen_sctp suite Reintroduce gen_sctp suite Remove delay from connect in transport suite Add codec testcase for decode of unknown AVPs ...
2011-12-20Merge branch 'anders/diameter/compilation_options/OTP-9826' into maintAnders Svensson
* anders/diameter/compilation_options/OTP-9826: Allow module name mapping at dictionary compilation Fix blunder that broke name/prefix compilation options
2011-12-20Merge branch 'anders/diameter/missed_events/OTP-9824' into maintAnders Svensson
* anders/diameter/missed_events/OTP-9824: Update watchdog suite Ensure capabilities exchange can't fail too early
2011-12-20Remove bad assertRickard Green
It is possible also in non-SMP case: 1. The process receives an exit signal and is set in status exiting and inserted into the run queue. 2. The distribution port exits before the process has been selected for execution and cannot remove the link half on the process since it is in status exiting. 3. Process is selected for execution and when removing this link half the distribution channel is gone!
2011-12-19Generate links in C libraries correctlyHans Bolinder
2011-12-16Install example dictionariesAnders Svensson
2011-12-16Move example code to examples/codeAnders Svensson
2011-12-16Move example dictionaries to examples/dictAnders Svensson
2011-12-16Set name/prefix at compilation, not in dictionariesAnders Svensson
To avoid inappropriate defaults if the dictionaries are reused.
2011-12-16Add RFC 4004 (MIP) dictionaryAnders Svensson
2011-12-16Add RFC 4740 (SIP) dictionaryAnders Svensson
2011-12-16Add RFC 4072 (EAP) dictionaryAnders Svensson
2011-12-16Add RFC 4006 (CC) dictionaryAnders Svensson
2011-12-16Add RFC 4005 (NAS) dictionaryAnders Svensson
2011-12-16Add standards testcase to compiler suiteAnders Svensson
To test compilation of example dictionaries from various standards.
2011-12-16Remove {init,end}_per_group workaroundAnders Svensson
This undoes commit 162c0d3ee30790ec5a75e20b0e2e8bc61ed92375.