aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
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-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-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-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-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-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
2015-04-22Update release notesErlang/OTP
2015-04-22Merge branch 'hans/ssh/banner_grabbing/OTP-12659' into maint-17Erlang/OTP
* hans/ssh/banner_grabbing/OTP-12659: ssh: added id_string option for server and client
2015-04-22sys_pre_expand: Remove unused fields in #expand{} recordBjörn Gustavsson
The compile, bitdefault, and bittypes records are not really used in the #expand{} record.
2015-04-22Merge branch 'bjorn/compiler/eprof'Björn Gustavsson
* bjorn/compiler/eprof: v3_life: Optimize updating of the variable data base beam_jump: Replace use of lists:dropwhile/2 with a custom function beam_asm: Eliminate unnecessary use of iolist_to_binary/1 beam_bsm: Optimize btb_index() beam_type: Eliminate redundant calls to checkerror_1/2 erl_expand_records: Simplify handling of call_ext instructions beam_utils: Optimize index_labels_1/2 beam_block: Optimize matching of binary literals Move rewriting of bs_match from beam_clean to beam_z v3_codegen: Reduce cost for fixing up bs_match_string instructions v3_codegen: Optimize "turning" of y registers v3_kernel: Optimize subst_vsub/3 orddict: Eliminate unnecessary consing in store/3 and others compile: Add the {eprof,Pass} option for easy eprof running compile: Eliminate unnecessary wrappers for compiler passes Add z_SUITE to validate loaded code test suite: Always place .core files in data directories test suites: Unload modules compiled from .core or .S compilation_SUITE: Unload tested modules using the code server
2015-04-22v3_life: Optimize updating of the variable data baseBjörn Gustavsson
Updating of the variable data base takes most of the time.
2015-04-22beam_jump: Replace use of lists:dropwhile/2 with a custom functionBjörn Gustavsson
The use of lists:dropwhile/2 is noticeable in the eprof results.
2015-04-22beam_asm: Eliminate unnecessary use of iolist_to_binary/1Björn Gustavsson
2015-04-22beam_bsm: Optimize btb_index()Björn Gustavsson
lists:dropwhile/2 and the fun in btb_index_1/2 shows up in the top 10 list of eprof. Replace dropwhile with a special-purpose function for a tiny increase in speed.
2015-04-22beam_type: Eliminate redundant calls to checkerror_1/2Björn Gustavsson
Profiling shows that the excution time for checkerror_1/2 could be be near the top even for modules without any floating point operations. It turns out that the complexity of simplify_float_1/4 is quadratic. checkerror/1 is called with the growing accumulator for each iteration. checkerror/1 will traverse the entire accumulated list *unless* some floating point operations are used. We can avoid this situation if we only call checkerror/1 when there are live floating point registers. We can also avoid calling flush/3 if there are no live floating point registers.
2015-04-22erl_expand_records: Simplify handling of call_ext instructionsBjörn Gustavsson
The erl_expand_records module have inherited code from sys_pre_expand. We can simplify the code for handling the call_ext instruction to make the code clearer and a smidge faster.
2015-04-22beam_utils: Optimize index_labels_1/2Björn Gustavsson
The execution time for beam_utils:index_labels_1/2 is among the longest in the beam_bool, beam_bsm, beam_receive, and beam_trim compiler passes. Therefore it is worthwhile to do the minor optimization of replacing a call to lists:dropwhile/2 with a special-purpose drop_labels function.
2015-04-22beam_block: Optimize matching of binary literalsBjörn Gustavsson
When matching a binary literal as in: <<"abc">> = Bin the compiler will produce a sequence of three instructions (some details in the instructions removed for simplicity): bs_start_match2 Fail BinReg CtxtReg bs_match_string Fail CtxtReg "abc" bs_test_tail2 Fail CtxtReg 0 The sequence can be replaced with: is_eq_exact Fail BinReg "abc"