aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-01-22Merge branch 'maint'Ingela Anderton Andin
2019-01-22Merge branch 'ingela/ssl/test-cuddle' into maintIngela Anderton Andin
* ingela/ssl/test-cuddle: ssl: Correct test input
2019-01-21[cover] Make uncovered lines searchable in html outputSiri Hansen
Prior to PR#1807, uncovered lines could be found by searching for " 0.." in the HTML page generated by cover:analyse_to_file/1,2. The pull request removed the two dots after the number of hits, which makes it much harder to find the uncovered lines. This commit introduces a sad face, :-( , instead of the single 0 character, which should make the search easier.
2019-01-21[cover] Right-align number of hits in html outputSiri Hansen
2019-01-21ssl: Correct test inputIngela Anderton Andin
2019-01-21Merge branch 'maint'Siri Hansen
2019-01-21[socket-nif] Add support for otp option fdMicael Karlberg
Add a way to *get* the file descriptor (fd) of a socket. Useful mostly for debugging. OTP-15528
2019-01-21Merge branch 'siri/logger/erts-and-remote-log-olp' into maintSiri Hansen
* siri/logger/erts-and-remote-log-olp: [logger] Update bench marks to report percent instead of 0.XX [logger] Minor fix in logger_olp_SUITE to avoid error in end_per_testcase [logger] Remove info and reset functions from handler modules [logger] Remove some unused variable warnings [logger] Store proxy config in logger ets table [logger] Log mode change and flushes in logger_proxy [logger] Move out overload protection macros from logger_h_common.hrl [logger] Allow logger_olp callbacks to return {stop,...} Add logger_stress_SUITE to benchmarks spec [logger] Add idle timer in logger_olp [logger] Use persistent_term for storing proxy reference Update preloaded Use system_time instead of monotonic_time in log events [logger] Add test for restart of logger proxy [logger] Add API function for configuring logger proxy [logger] Add logger_stress_SUITE [logger] Add tests for logger_proxy [logger] Overload protect logging from erts and remote nodes [logger] Split overload protection functionality to own module
2019-01-21beam_ssa_opt: Don't ruin arguments of bs_match/skipJohn Högberg
If the match instruction was already marked as a skip, we'd ruin its argument list.
2019-01-21Optimize the is_function/2 guard testBjörn Gustavsson
The is_function2 instruction is executed surprisingly frequently when running dialyzer or the compiler. It cannot hurt to optimize it a little.
2019-01-21Merge pull request #2048 from essen/cover-output-line-linksSiri Hansen
Add a link on the line number in cover output OTP-15541
2019-01-21Merge pull request #2030 from yakubovsky/patch-1Siri Hansen
Fix encrypt_config_file and decrypt_config_file OTP-15540
2019-01-21Merge branch 'raimo/stdlib/gen_statem-optimization/OTP-15452'Raimo Niskanen
* raimo/stdlib/gen_statem-optimization/OTP-15452: correct: Work around a compiler mis-optimization
2019-01-21correct: Work around a compiler mis-optimizationRaimo Niskanen
This was not a compiler optimization that misfired, rather that the code neede separate case clauses for when the timer was running and not, so to not call erlang:cancel_timer/1 nor maps:remove/2 in the case clause where only a map update was needed before recursion. See the comment in loop_timouts_cancel/13
2019-01-21Merge branch 'maint'Ingela Anderton Andin
2019-01-21Merge branch 'ingela/ssl/DES-EDE/OTP-15539' into maintIngela Anderton Andin
* ingela/ssl/DES-EDE/OTP-15539: ssl: Correct 3des_ede_cbc check
2019-01-21erts: Fix getting of poll events on linux >= 4.15.0Lukas Larsson
2019-01-21beam_ssa_type: Fix type subtraction in #b_switch{}John Högberg
A switch is equivalent to a series of '=:=', so we have to subtract each value individually from the type. Subtracting a join risks removing too much type information, and managed to narrow "number" into "float" in the attached test case.
2019-01-21beam_ssa_type: Remove wait_timeout instructions with a timeout of 0John Högberg
2019-01-21beam_validator: Validate types on local function callsJohn Högberg
2019-01-21beam_validator: Add a stable interface for type annotationsJohn Högberg
2019-01-21beam_validator: Handle aliased registers during type inferenceJohn Högberg
2019-01-19reltool: Add load_dot_erlang rel optionMichael Truog
This adds a rel tuple to the reltool release specific configuration format as {rel, Name, Vsn, RelApps, Opts} to support the use of {rel, Name, Vsn, RelApps, [{load_dot_erlang, false}]} for preventing the insertion of {apply,{c,erlangrc,[]}} into the release script file and the release boot file. This change makes it possible to prevent releases generated with reltool from attempting to load a ${HOME}/.erlang file which is desirable for production deployment of Erlang, to have greater control of what BEAM evaluates. The ${HOME}/.erlang file lacks visibility and its location on the filesystem separate from where the release lives means it can be misused in a way that lacks visibility.
2019-01-18Merge branch 'maint'Sverker Eriksson
2019-01-18Update version-check of forward merging scriptSverker Eriksson
2019-01-18erts: Use reduction based polling for starved poll-setLukas Larsson
When the schedulers never go to sleep (and thus never polls) it may be that the fds in schedulers poll-sets are never polled. Before this commit, this was solved by starting a timer when an overload was detected. This had issues as overloads were not always detected in time. So this commit reverts to the pre OTP-21 behaviour so keep a global counter makes that the poll is called when it should.
2019-01-18erts: Fix too early close of spawn driver fdLukas Larsson
2019-01-18Merge branch 'raimo/stdlib/gen_statem-optimization/OTP-15452'Raimo Niskanen
* raimo/stdlib/gen_statem-optimization/OTP-15452: Write some more comments in the engine loop Work around a compiler mis-optimization Move out helper functions to engine loop Handle #trans_opts{} fields in parse_actions() arguments Optimize gen_statem engine loop Modify generic_statem_transit benchmark
2019-01-18Merge branch 'bjorn/compiler/misc'Björn Gustavsson
* bjorn/compiler/misc: beam_ssa_type: Simplify is_singleton_type/1 beam_ssa_opt: Run ssa_opt_tuple_size early beam_ssa_codegen: Remove forgotten and unreachable clause beam_ssa_opt: Run the type optimization pass twice beam_ssa_type: Eliminate redundant 'succeeded' instructions
2019-01-18Merge branch 'bjorn/compiler/fix-inlined-funs'Björn Gustavsson
* bjorn/compiler/fix-inlined-funs: sys_core_inline: Kill *all* fun annotations when inlining
2019-01-18Merge branch 'bjorn/erts/fix-pt-dumping'Björn Gustavsson
* bjorn/erts/fix-pt-dumping: Fix incorrect dumping of some persistent terms
2019-01-18Merge branch 'bjorn/compiler/beam_validator/ERL-832'Björn Gustavsson
* bjorn/compiler/beam_validator/ERL-832: Make the beam_validator smarter (again)
2019-01-18Merge branch 'hasse/fix_calls_to_io_format'Hans Bolinder
* hasse/fix_calls_to_io_format: ssh: Adjust some calls to io:format() xmerl: Adjust a call to io:format() sasl: Adjust some calls to io:format() common_test: Adjust some calls to io:format()
2019-01-18Merge pull request #2055 from ↵Lukas Larsson
josevalim/jv-no-bin-alloc-on-empty-append/OTP-15535 Do not allocate new bitstring/binary on empty append
2019-01-18Merge pull request #2078 from mogorman/missing_cprof/OTP-15534Lukas Larsson
adds cprof to list of tools
2019-01-18beam_ssa_type: Simplify is_singleton_type/1Björn Gustavsson
2019-01-18beam_ssa_opt: Run ssa_opt_tuple_size earlyBjörn Gustavsson
Running ssa_opt_tuple_size early will give more opportunities for optimizations.
2019-01-18beam_ssa_codegen: Remove forgotten and unreachable clauseBjörn Gustavsson
fd682dd3b1dc corrected label generation for 'or', but forgot to remove the old incorrect clause (that can no longer be reached).
2019-01-18beam_ssa_opt: Run the type optimization pass twiceBjörn Gustavsson
The code will be significantly improved by running the type optimization pass twice. The ssa_opt_misc pass can be eliminated because everything it does is also done by the type optimization pass.
2019-01-17Make the beam_validator smarter (again)Björn Gustavsson
Needed because of the optimizations in 48f20bd589fa69. https://bugs.erlang.org/browse/ERL-832
2019-01-17Write some more comments in the engine loopRaimo Niskanen
2019-01-17Work around a compiler mis-optimizationRaimo Niskanen
The common subexpression optimization accidentally caused unnecessary spilling of live registers. A rather ugly workaround can be found in loop_timeouts_cancel.
2019-01-17Merge branch 'maint'Rickard Green
* maint: Updated OTP version Prepare release
2019-01-17Merge branch 'maint-20' into maintRickard Green
* maint-20: Updated OTP version Prepare release
2019-01-17sys_core_inline: Kill *all* fun annotations when inliningBjörn Gustavsson
sys_core_inline didn't kill fun annotations in variables, which could lead to duplicated wrapper functions for funs. That was basically harmless because the duplicated functions were eventually discarded.
2019-01-17beam_ssa_type: Eliminate redundant 'succeeded' instructionsBjörn Gustavsson
The beam_ssa_type pass would leave redundant 'succeeded' instructions, and depend on the live optimization pass to remove them. Update beam_ssa_type to remove redundant 'succeeded' instructions. This will not improve the generated code, but will improve compilation times since it eliminates instructions and variables.
2019-01-17Merge pull request #2097 from bjorng/bjorn/compiler/eliminate-beam_bsBjörn Gustavsson
Eliminate the beam_bs compiler pass
2019-01-17Fix incorrect dumping of some persistent termsBjörn Gustavsson
There seems to be an incorrect merge conflict resolution in abde22933f5a that merged maint to master. Dumping of references (and possibly other terms) were broken.
2019-01-17ssh: Adjust some calls to io:format()Hans Bolinder
2019-01-17xmerl: Adjust a call to io:format()Hans Bolinder