aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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-04erts: Use re instead of regexp in testsuiteBjörn-Egil Dahlberg
2012-01-04Merge branch 'egil/system_profile-profiler-fix/OTP-9849' into maintBjörn-Egil Dahlberg
* egil/system_profile-profiler-fix/OTP-9849: erts: Do not profile system profiler pid test: system_profile profiler pid is not profiled Remove line macros in system_profile_SUITE
2012-01-04erts: Remove unused code in testsuitesBjörn-Egil Dahlberg
2012-01-04orber: Use modern list guard in testsuiteBjörn-Egil Dahlberg
2012-01-04orber: Ignore unused variable in orber_tb.erlBjörn-Egil Dahlberg
2012-01-04xmerl: Ignore unused variable in xmerl_uri.erlBjörn-Egil Dahlberg
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-03syntax_tool: Add missing type informationBjörn-Egil Dahlberg
2012-01-03hipe: Suppress warnings for unused variablesBjörn-Egil Dahlberg
2012-01-03hipe: Add type information to cfg_info recordBjörn-Egil Dahlberg
Type information was missing from cfg_info record. * Add any() to 'params' * Add list() to 'info' The 'params' field should be constrained to a narrower type.
2012-01-03tools: Use literal formatting in erl_memory.cBjörn-Egil Dahlberg
* Removes -Wformat-security problems
2012-01-03Fix some broken links in documentationLukas Larsson
2012-01-03asn1: Remove unused variable in asn1_erl_nif.cBjörn-Egil Dahlberg
2012-01-03ei: Remove unused variable in ei_format.cBjörn-Egil Dahlberg
2012-01-03erts: Add missing prototype to DRIVER_INITBjörn-Egil Dahlberg
* The DRIVER_INIT macro will now produce an prototype for the driver_init() function in addition to previous behaviour.
2012-01-03runtime_tools: Fix signedness in trace_ip_drv.cBjörn-Egil Dahlberg
* Multiple functions had conflicting signedness in their prototypes for some arguments.
2012-01-03Change the name of generated pdf file for documentation consistencyHenrik Nord
2012-01-03to_erl: Remove compiler warningsBjörn-Egil Dahlberg
2012-01-03heart: Suppress compiler warningsBjörn-Egil Dahlberg
2012-01-03erts: Remove compiler warnings in inet_gethost.cBjörn-Egil Dahlberg
* Added a goto fail in worker loop if write() fails. The 'fail' label used to be win32 only but is now used across platforms.
2012-01-03erts: Remove dead code in inet_gethost.cBjörn-Egil Dahlberg
2012-01-03erts: Remove dead codeBjörn-Egil Dahlberg
2012-01-03[inets] Add proper release notes for OTP-9847Micael Karlberg
2012-01-03[inets/httpc] Fix the selection of session for keep-alive modeMicael Karlberg
When selecting a session, the "state" of the session (specifically if the server has responded) was not taken into account. Attempting to fix this, a "state" field (actually available) has been added to the session record. OTP-9847
2012-01-03erts: Do not profile system profiler pidBjörn-Egil Dahlberg
2012-01-03test: system_profile profiler pid is not profiledBjörn-Egil Dahlberg
2012-01-03Remove line macros in system_profile_SUITEBjörn-Egil Dahlberg
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-22Handle nowarn_unused_function like the compiler doesHans Bolinder
2011-12-21[snmp] Updated doc and fixed wrequest create macrosMicael Karlberg
Release notes updated, together with documentation of the new config option. Also fixed the wrequest create macros (forgot end parantesis). OTP-9700
2011-12-21prim_file_SUITE: large_file success depends on wordsizeRaimo Niskanen
Check VM wordsize to see if a driver command with data larger than 32-bit size is supposed to succeed. On wordsize 4 machines (32-bit) {error,einval} is expected since the total size passed to a driver can not exceed sizeof(ErlDrvSizeT).
2011-12-21[snmp] Be more verbose in the worker procsMicael Karlberg
Add a verbosity printout for results of the requests sent to it). Also fixed handling sent_trap and appup. OTP-9700
2011-12-21[snmp] Add a more informative return value when the trap sending failsMicael Karlberg
OTP-9700
2011-12-21[snmp] Fixed the mt_trap test-caseMicael Karlberg
It has long been broken, but this fact was hidden by the faulty expect functions. OTP-9700
2011-12-21[snmp] Maximum number of varbinds in a Get-BULK responseMicael Karlberg
As a means to prevent DoS, maximum number of varbinds in a Get-BULK response has been limited. Also, made some changes to the worker process "API". OTP-9700.