aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2015-04-29sys_core_fold: Suppress warnings betterBjörn Gustavsson
86fbd6d76d strengthened type optimization in lets. As a result of the stronger optimizations, special care had to be taken to suppress false warnings. It turns out that false warnings can still slip through. Slapping on a 'compiler_generated' annotation at the top-level of a complex term such as #c_tuple{} may not suppress all warnings. We will need to go deeper into the term to eliminate all warnings.
2015-04-29beam_utils: Teach check_liveness/3 to understand get_map_elementsBjörn Gustavsson
Understanding get_map_elements improves the stack trimming done by beam_trim.
2015-04-29Teach beam_trim to handle map instructionsBjörn Gustavsson
2015-04-29beam_utils: Be less conservative about liveness for exit instructionsBjörn Gustavsson
beam_utils used to be overly conservative about liveness for exit instructions such as: call_ext erlang:exit/1 beam_utils would consider all y registers to be used, to avoid overwriting a catch or try tag. That does not seem to be a real risk. However, we miss opportunities for stack trimming if we consider y registers used by an exit instruction.
2015-04-29beam_validator: Stop validating the 'aligned' flag for binariesBjörn Gustavsson
The run-time system stopped paying attention the 'aligned' flag in bit syntax construction and matching when bitstrings were introduced in language. The beam_asm compiler pass will crash if the 'aligned' flag is given in bit syntax instructions. beam_validator still validates the 'aligned' flag. Before 912fea0b712a (which removed the possibility to validate existing BEAM files), the 'aligned' flag could actually be encountered when validating a BEAM file. Since the validation of 'aligned' no longer serves any useful purpose, remove the validation code.
2015-04-29beam_validator: Clean up updating of types for y registerBjörn Gustavsson
set_type_y/3 is far too complicated. Note that we don't need to check the #st.numy field, because we will detect the error anyway because the information for the y register will be missing in the #st.y gb_tree. There is also a clause that would never match because of a spelling error (the first "n" was missing in "uninitialized"). That clause is not needed because the default clause will do fine. Furthermore, we can break out the special case for handling catch_end and similar instructions into a new function.
2015-04-28Merge branch 'egil/opt-instructions/OTP-12690'Björn-Egil Dahlberg
* egil/opt-instructions/OTP-12690: erts: Specialize minus and plus instruction erts: Add move2 specialization for common move patterns erts: Specialize rem instruction for common case erts: Specialize band instruction for common case erts: Batch loads and stores for move_window erts: Fix loader increment from minus instruction erts: Add move window instruction erts: Add instruction move3 for xy and xx erts: Specialize compare instructions kernel: Add instruction_count helper to erts_debug
2015-04-28snmp: Remove deprecated warning for erlang:now in snmpcErland Schönbeck
2015-04-28Merge branch 'erland/OTP18/snmp/OTP-12452'Erland Schönbeck
* erland/OTP18/snmp/OTP-12452: snmp: Remove deprecated warning for erlang:now in snmp_verbority snmp: Change to random use crypto. Remove use of erlang:now
2015-04-28inets: Remove dialyzer warning for inets_libErland Schönbeck
2015-04-27Merge branch 'x0id/jinterface_transport_factory'Zandra Hird
* x0id/jinterface_transport_factory: jinterface: transport factory implementation fix typo error from recent merge OTP-12686
2015-04-27Merge branch 'hans/ssh/improve_docs'Hans Nilsson
* hans/ssh/improve_docs: ssh: broken doc links to file functions fixed
2015-04-27ssh: broken doc links to file functions fixedHans Nilsson
2015-04-27Merge branch 'derek121/gen_server_doc_grammar'Zandra Hird
* derek121/gen_server_doc_grammar: Fix grammar in docs for multi_call/*
2015-04-27test_server: Fix install_hookBjörn-Egil Dahlberg
We cannot use erlang:unique_integer([positive]) here since this code in run on older test releases as well.
2015-04-27Merge branch 'bjorn/use-monotonic-time'Björn Gustavsson
* bjorn/use-monotonic-time: supervisor: Correct restart handling test_server: Use erlang:monotonic_time/0 compile: Teach 'time' option to show three significant decimals timer: Use monotonic_time/0 in tc/1,2,3
2015-04-27snmp: Remove deprecated warning for erlang:now in snmp_verborityErland Schönbeck
2015-04-27dialyzer: Add new option 'unknown'Hans Bolinder
Replace the undocumented option 'no_unknown' with the documented option 'unknown'.
2015-04-27dialyzer: Add new option 'no_missing_calls'Hans Bolinder
2015-04-27stdlib: Substitute set() for gb_sets:set() in gb_setsHans Bolinder
2015-04-24Merge branch 'egil/eprof-totality/OTP-12681'Björn-Egil Dahlberg
* egil/eprof-totality/OTP-12681: tools: Add printout of total number of calls and time in eprof
2015-04-24Merge branch 'egil/core-on-heart-tmo/OTP-12613'Björn-Egil Dahlberg
* egil/core-on-heart-tmo/OTP-12613: kernel: Document heart environment HEART_KILL_SIGNAL erts: Enable different abort signal from heart
2015-04-24snmp: Change to random use crypto. Remove use of erlang:nowErland Schönbeck
2015-04-24Merge branch 'hans/ssh/improve_docs'Hans Nilsson
2015-04-24Merge branch 'ia/ssh/improve_docs'Ingela Anderton Andin
* ia/ssh/improve_docs: ssh: Move code example to Users Guide ssh: Keep dependency info in only one place ssh: Add links ssh: Align to alphabetic order ssh: Change wording to become accurate ssh: Remove extra whitespace ssh: Corrected information about error and event logging ssh: Remove legacy statement ssh: Technically correct description Editorial updates
2015-04-23Fix ssh_sftp wait_for_version_negotiation timeoutSimon Cornish
This patch fixes a bug that causes an SFTP connection to always fail when {timeout, Timeout} option is used with ssh_sftp:start_channel. The bug is that the version negotiation timer is not cancelled upon reception of SSH_FXP_VERSION.
2015-04-23Declare webtool and test_server as obsoletePeter Andersson
2015-04-23Use port 0 with {fd,Fd}, use snmpm_fd in managerRaimo Niskanen
2015-04-23ssh: Timeout unit and default added to some missing placesHans Nilsson
2015-04-23kernel: Add instruction_count helper to erts_debugBjörn-Egil Dahlberg
2015-04-23ssh: Formatting adjustmentsHans Nilsson
Some examples had encountered the space eater.
2015-04-23Set TCP option {nodelay,true} as default for telnet connectionsPeter Andersson
2015-04-23ssh: Add line about supported kex algorithm(s)Hans Nilsson
2015-04-23ssh: Removed missplaced empty paranthesisHans Nilsson
2015-04-23beam_validator: Remove support for removed BIF fault/1,2Björn Gustavsson
The fault/1,2 BIF was removed a long time ago.
2015-04-23beam_validator: Correct merging of statesBjörn Gustavsson
When merging two states, the following fields should be merged between the states: #st.x, #st.y, #st.numy, #st.ct. Everything else should be set to the default values in a new state.
2015-04-23beam_validator: Correct merging of y registersBjörn Gustavsson
When merging y registers, only the y registers that are found in both states should be retained.
2015-04-23Increase speed of keep_alive (NOP) pollsPeter Andersson
2015-04-23Merge branch 'maint'Zandra Hird
Conflicts: OTP_VERSION
2015-04-22ssh: Move code example to Users GuideIngela Anderton Andin
2015-04-22ssh: Keep dependency info in only one placeIngela Anderton Andin
2015-04-22ssh: Add linksIngela Anderton Andin
2015-04-22ssh: Align to alphabetic orderIngela Anderton Andin
2015-04-22ssh: Change wording to become accurateIngela Anderton Andin
2015-04-22ssh: Remove extra whitespaceIngela Anderton Andin
2015-04-22ssh: Corrected information about error and event loggingIngela Anderton Andin
Also added some links
2015-04-22ssh: Remove legacy statementIngela Anderton Andin
2015-04-22ssh: Technically correct descriptionIngela Anderton Andin
2015-04-22Editorial updatestmanevik
SSH application
2015-04-22supervisor: Correct restart handlingBjörn Gustavsson
fbaa0bec replaced the use of now/0 with erlang:monotonic_time/1 but at the same time introduced a bug in inPeriod/3 so that it would always return 'true' (the subtraction Time - Now would always result in a non-positive number that would always be less than Period). The symptoms of the bug is that when a child has been restarted the maximum number of times allowed, the supervisor will terminate, regardless of how much time that elapses between the restarts. There was no test case that detected this problem. Add the missing test case to ensure that this bug stays killed. Reported-by: Rafał Studnicki