aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-05-26Merge branch 'margnus1/hipe/maps-is_key-opts/PR-1069/OTP-13625'Björn-Egil Dahlberg
* margnus1/hipe/maps-is_key-opts/PR-1069/OTP-13625: hipe: Add test suite for verifying optimisations Added elimination of maps:is_key/2 calls to HiPE
2016-05-26Merge branch 'egil/update-efficiency-guide'Björn-Egil Dahlberg
* egil/update-efficiency-guide: doc: Update version of erts and otp release doc: Update process memory initial size doc: Update efficiency guide with Maps memory info
2016-05-25doc: Update version of erts and otp releaseBjörn-Egil Dahlberg
2016-05-25Merge branch ↵Raimo Niskanen
'dcsommer/kernel/inet-gethostbyname-res-option-inet6/PR-1065/OTP-13622' * dcsommer/kernel/inet-gethostbyname-res-option-inet6/PR-1065/OTP-13622: Make inet:gethostbyname respect resolver option `inet6`
2016-05-25Merge branch 'hans/eldap/new_test_file_style/OTP-13566'Hans Nilsson
* hans/eldap/new_test_file_style/OTP-13566: eldap: ts-macros replaced
2016-05-25Merge branch 'hans/ssh/decode_error'Hans Nilsson
* hans/ssh/decode_error: ssh: handle ssh_message binary decode errors
2016-05-25Merge branch 'hans/ssh/benchmark_crash'Hans Nilsson
* hans/ssh/benchmark_crash: ssh: Benchmark suite timeouts were to short
2016-05-25Merge branch 'hans/ssh/cuddle_tests'Hans Nilsson
* hans/ssh/cuddle_tests: ssh: Longer timeout for ssh client tests ssh: tc renaming ssh: New 'prepare' function in ssh_sftp_SUITE ssh: split result line in test ssh: No erlang port in ssh_algorithms_SUITE ssh: New test for utf8 in ssh_sftp_SUITE ssh: polish test log (ssh_algorithms_SUITE) ssh: monitor os:cmd to avoid hanging on baal
2016-05-25Merge branch 'kostis/compiler/v3_kernel/eta-conversion'Björn Gustavsson
* kostis/compiler/v3_kernel/eta-conversion: v3_kernel: Fix typo in comment
2016-05-25Merge branch 'rickard/emd2exml-fix/OTP-13621'Rickard Green
* rickard/emd2exml-fix/OTP-13621: Adjust generated XML so it respects current DTD
2016-05-25Adjust generated XML so it respects current DTDRickard Green
2016-05-25Merge branch 'josevalim/supervisor-try-again-restart/PR-1001/OTP-13618'Siri Hansen
* josevalim/supervisor-try-again-restart/PR-1001/OTP-13618: Avoid potential timer bottleneck on supervisor restart
2016-05-25Merge branch 'ingela/inets/tests-enhancement'Ingela Anderton Andin
* ingela/inets/tests-enhancement: inets: Use test_server app tests and remove legacy test_server code
2016-05-25Merge branch 'dgud/mnesia/fix-index-match-spec'Dan Gudmundsson
* dgud/mnesia/fix-index-match-spec: mnesia: Fix index match return patterns
2016-05-24mnesia: Fix index match return patternsDan Gudmundsson
When building match result patterns the tuples they must qouted with { }, which causes a problem with variable patterns. Use element(1, Match) instead of trying to build the two tuple.
2016-05-24eldap: ts-macros replacedHans Nilsson
2016-05-24ssh: Longer timeout for ssh client testsHans Nilsson
2016-05-24Merge branch 'egil/erts/lttng-configure-help'Björn-Egil Dahlberg
* egil/erts/lttng-configure-help: erts: Print valid version of lttng-ust in configure help
2016-05-24Merge branch 'egil/erts/fix-purge_code-literals'Björn-Egil Dahlberg
* egil/erts/fix-purge_code-literals: erts: Refactor ERTS_MSG_COMBINED_HFRAG to heap fragment erts: Copy literals in messages on module purge erts: Add testcase for purge of literals
2016-05-24Merge branch 'dgud/tools/emacs/improve-tags-def-function'Dan Gudmundsson
* dgud/tools/emacs/improve-tags-def-function: emacs: Improve default tag search
2016-05-23inets: Use test_server app tests and remove legacy test_server codeIngela Anderton Andin
FTP tests needed some refactoring as some tests where lost to the ftp_suite_lib module that was not run.
2016-05-23hipe: Add test suite for verifying optimisationsErik Norgren
* Added a suite opt_verify_SUITE.erl to HiPE that tests for the results of optimisations, with a single testcase that checks that the icode_call_elim optimisation pass does remove calls to maps:is_key/2 where sound and not otherwise. * Made hipe_testsuite_driver only create explicitly listed suites.
2016-05-23Added elimination of maps:is_key/2 calls to HiPEMagnus Lång
* Implemented removal of maps:is_key/2 calls of which the result is known in a new pass during the typed phase, called hipe_icode_call_elim. * Added the option icode_call_elim that enables the hipe_icode_call_elim pass, and made it default for o2.
2016-05-23doc: Update process memory initial sizeBjörn-Egil Dahlberg
2016-05-23v3_kernel: Fix typo in commentKostis Sagonas
2016-05-23emacs: Improve default tag searchDan Gudmundsson
Add current module to non external functions calls. Also improves finding record and macro definitions.
2016-05-23erts: Print valid version of lttng-ust in configure helpBjörn-Egil Dahlberg
2016-05-23Merge branch 'egil/erts/cuddle-lttng-tests'Björn-Egil Dahlberg
* egil/erts/cuddle-lttng-tests: erts: Check for carrier capability specifically in test
2016-05-23Merge branch 'egil/xmerl/modernize-tests'Björn-Egil Dahlberg
* egil/xmerl/modernize-tests: Eliminate use of doc and suite clauses Eliminate use of the ?t macro Eliminate use of ?config() macro Modernize timetraps Remove ?line macros
2016-05-23Merge branch 'dgud/tools/emacs/tag-search-order/PR-1067'Dan Gudmundsson
* dgud/tools/emacs/tag-search-order/PR-1067: Let find-tag visit definitions in right order
2016-05-23Let find-tag visit definitions in right orderJohan Claesson
The right order is defined by find-tag-tag-order which is a list of predicate functions. Tags matched by the first function shall be visited first. After that tags matched by the seconds function shall be visited and so on. Previous behavior was to visit tags that match any of the functions in the order they appear in the TAGS file. Reported by Dan Gudmundsson.
2016-05-23Merge branch 'ingela/ssl-httpc/ERL-144'Ingela Anderton Andin
* ingela/ssl-httpc/ERL-144: ssl: Send correct close message
2016-05-23Merge branch 'ingela/ssl/test-enhancment'Ingela Anderton Andin
* ingela/ssl/test-enhancment: ssl: Increase timeout ssl: Remove use of test_server config macro ssl: Disable DTLS test for now ssl: move TLS/DTLS version logging into helper ssl: tests for DTLS
2016-05-23Update primary bootstrapBjörn Gustavsson
2016-05-23Merge branch 'bjorn/compiler/misc'Björn Gustavsson
* bjorn/compiler/misc: beam_bool_SUITE: Cover one more line beam_utils_SUITE: Cover more lines in beam_utils beam_reorder: Don't confuse beam_validator beam_bool: Reject potentially unsafe optimization v3_core: Don't depend on sys_core_fold for cleaning up beam_type: Eliminate crash beam_type: Correct handling of setelement/3 beam_validator: Handle cons literals better beam_validator: Keep better track of tuple literals
2016-05-23Merge branch 'richcarl/eunit/debug-val-depth/PR-1061/OTP-13612'Björn Gustavsson
* richcarl/eunit/debug-val-depth/PR-1061/OTP-13612: Replace suggested debugValAll/1 macro with debugVal/2
2016-05-23beam_bool_SUITE: Cover one more lineBjörn Gustavsson
2016-05-23beam_utils_SUITE: Cover more lines in beam_utilsBjörn Gustavsson
By first adding a call to error/1 to each uncovered line, QuickCheck could find test cases that would cover the lines.
2016-05-23beam_reorder: Don't confuse beam_validatorBjörn Gustavsson
Make sure we don't optimize code such as: is_tuple Fail Src test_arity Fail Src Arity get_tuple_element Src Pos Dst is_map Fail Src If we would reorder the instructions like this: is_tuple Fail Src test_arity Fail Src Arity is_map Fail Src get_tuple_element Src Pos Dst beam_validator would complain that the type for Src is a map instead of a tuple. Since the code has problems to begin with, there is no need to do the optimization.
2016-05-23beam_bool: Reject potentially unsafe optimizationBjörn Gustavsson
When calculating the sets of registers that must be killed or unused, registers set in a {protected,_,_,_} block were not considered. That could result in a crash in the assertion in beam_utils:live_opt_block/4.
2016-05-23v3_core: Don't depend on sys_core_fold for cleaning upBjörn Gustavsson
a3ec2644f5 attempted to teach v3_core not to generate code with unbound variables. The approach taken in that commit is to discard all expressions following a badmatch. That does not work if the badmatch is nested: {[V] = [] = foo,V}, V That would be rewritten to: {error({badmatch,foo})}, V where V is unbound. If we were to follow the same approach, the tuple construction code would have to look out for a badmatch. As would list construction, begin...end, and so on. Therefore, as it is impractical to discard all expressions that follow a badmatch, the only other solution is to ensure that the variables that the pattern binds will somehow be bound. That can be arranged by rewriting the pattern to a pattern that binds the same variables. Thus: error({badmatch,foo}), E = foo, case E of {[V],[]} -> V; Other -> error({badmatch,Other} end
2016-05-23beam_type: Eliminate crashBjörn Gustavsson
The following code: simple() -> case try 0 after [] end of 0 -> college; 1 -> 0 end. would crash the compiler like this: crash reason: {case_clause, {'EXIT', {function_clause, [{beam_type,simplify_select_val_int, [{select,select_val, {x,0}, {f,7}, [{integer,1},{f,9},{integer,0},{f,8}]}, 0], [{file,"beam_type.erl"},{line,169}]}, {beam_type,simplify_basic_1,3, [{file,"beam_type.erl"},{line,155}]}, {beam_type,opt,3,[{file,"beam_type.erl"},{line,57}]}, {beam_type,function,1,[{file,"beam_type.erl"},{line,36}]}, {beam_type,'-module/2-lc$^0/1-0-',1, [{file,"beam_type.erl"},{line,30}]}, {beam_type,module,2,[{file,"beam_type.erl"},{line,30}]}, {compile,'-select_passes/2-anonymous-2-',2, [{file,"compile.erl"},{line,521}]}, {compile,'-internal_comp/4-anonymous-1-',2, [{file,"compile.erl"},{line,306}]}]}}} The root cause is that the type representation is not well-defined. Integers could be represented in three different ways: integer {integer,{1,10}} {integer,0} However, only the first two forms were handled. To avoid similar problems in the future: * Make the type representation stricter. Make sure that integers are only represented as 'integer' or {integer,{Min,Max}}. * Call verify_type/1 whenever a new type is added (not only when merging types) to ensure that only the supported types are added to the type database). (ERL-150)
2016-05-20Make inet:gethostbyname respect resolver option `inet6`Daniel Sommermann
This makes the implementation text of inet:gethostbyname/1 identical to that of inet_res:gethostbyname/1. I also copied over the doc note about this resolver option.
2016-05-20Eliminate use of doc and suite clausesBjörn-Egil Dahlberg
Those clause are obsolete and never used by common_test.
2016-05-20Eliminate use of the ?t macroBjörn-Egil Dahlberg
2016-05-20Eliminate use of ?config() macroBjörn-Egil Dahlberg
2016-05-20Modernize timetrapsBjörn-Egil Dahlberg
2016-05-20erts: Refactor ERTS_MSG_COMBINED_HFRAG to heap fragmentBjörn-Egil Dahlberg
2016-05-20Merge branch 'sverker/os_mon/FreeBSD-EXIT_WITH'Sverker Eriksson
2016-05-20erts: Copy literals in messages on module purgeBjörn-Egil Dahlberg
During check process code, explicitly copy all referenced literals in a message (in the private queue) to a heap fragment and attach it to the message reference. Not all types of message communication does an explicit copy of a literal and this needs to be taken care of before a module is purged.