aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-08-21beam_block: Improve the move optimizationsBjörn Gustavsson
Here is an example of a move instruction that could not be optimized away because the {x,2} register was not killed: get_tuple_element Reg Pos {x,2} . . . move {x,2} {y,0} put_list {x,2} nil Any We can do the optimization if we replace all occurrences of the {x,2} register as a source with {y,0}: get_tuple_element Reg Pos {y,0} . . . put_list {y,0} nil Dst
2015-08-21beam_block: Clean up optimization of move optimizationsBjörn Gustavsson
The 'move' optimization was relatively clean until GC BIFs were introduced. Instead of re-thinking the implementation, the existing code was fixed and patched. The current code unsuccessfully attempts to eliminate 'move' instructions across GC BIF and allocation instructions. We can simplify the code if we give up as soon as we encounter any instruction that allocates.
2015-08-21beam_block: Eliminate redundant wasteful call to opt/1Björn Gustavsson
opt_alloc/1 makes a redundant call to opt/1. It is redundant because the opt/1 function has already been applied to the instruction sequence prior to calling opt_alloc/1.
2015-08-21hipe/dialyzer: Fix a bug concerning opaque types and keydelete/3Hans Bolinder
Thanks to ILYA Khlopotov for pointing the bug out.
2015-08-21Merge branch 'maint'Hans Bolinder
* maint: stdlib: fix a qlc bug introduced in 18.0
2015-08-21Merge branch 'hb/stdlib/fix_qlc_bug/OTP-12946' into maintHans Bolinder
* hb/stdlib/fix_qlc_bug/OTP-12946: stdlib: fix a qlc bug introduced in 18.0
2015-08-21stdlib: fix a qlc bug introduced in 18.0Hans Bolinder
As pointed out by roowe, qlc does not handle errors in early compiler (scanner, parser) well in OTP 18.0.
2015-08-20Merge branch 'maint'Henrik Nord
Conflicts: OTP_VERSION erts/vsn.mk
2015-08-20Merge branch 'maint-18' into maintHenrik Nord
2015-08-19Merge branch 'maint'Ingela Anderton Andin
2015-08-19Merge branch 'ia/ssl/doc/duplicate' into maintIngela Anderton Andin
* ia/ssl/doc/duplicate: ssl: Remove duplicate documentation
2015-08-19ssl: Remove duplicate documentationIngela Anderton Andin
Correct merge that went wrong.
2015-08-19Merge branch 'maint'Hans Bolinder
* maint: dialyzer: Fix a bug concerning parameterized opaque types
2015-08-19Merge branch 'hb/dialyzer/bugfix_opaque_parms/OTP-12940' into maintHans Bolinder
* hb/dialyzer/bugfix_opaque_parms/OTP-12940: dialyzer: Fix a bug concerning parameterized opaque types
2015-08-19dialyzer: Fix a bug concerning parameterized opaque typesHans Bolinder
The example is provided by James Fish in http://erlang.org/pipermail/erlang-questions/2014-December/082204.html. Note that warnings with text such as "the _ variable breaks opaqueness" are still possible.
2015-08-18Merge branch 'maint'Lukas Larsson
* maint: erts: Make sure to unlock status lock when setting process prio
2015-08-18Merge branch 'lukas/erts/process_priority_unlock/OTP-12943' into maintLukas Larsson
* lukas/erts/process_priority_unlock/OTP-12943: erts: Make sure to unlock status lock when setting process prio
2015-08-18Updated OTP versionOTP-18.0.3Erlang/OTP
2015-08-18Prepare releaseErlang/OTP
2015-08-18Merge branch 'vinoski/stderr-eagain/OTP-12942' into maint-18Erlang/OTP
* vinoski/stderr-eagain/OTP-12942: Handle ERRNO_BLOCK in fd_driver async functions
2015-08-18Merge branch 'lukas/erts/fix_ttsl_binary_leak/OTP-12941' into maint-18Erlang/OTP
* lukas/erts/fix_ttsl_binary_leak/OTP-12941: erts: Fix binary memory leak in ttsl driver
2015-08-18Handle ERRNO_BLOCK in fd_driver async functionsSteve Vinoski
Several users on erlang-questions have reported problems with recent releases where output to standard_error causes standard_error_sup to die from receiving an unexpected eagain error. In the fd_driver, change the fd_async() function to handle EINTR, and change fd_ready_async() to handle ERRNO_BLOCK. Add a new test to standard_error_SUITE to generate output to standard_error and ensure that standard_error_sup does not die. Thanks to Kota Uenishi for contributing the test case.
2015-08-18erts: Fix binary memory leak in ttsl driverLukas Larsson
2015-08-18Merge branch 'maint'Hans Bolinder
* maint: dialyzer: Use the recently added orddict:orddict/2 type
2015-08-18dialyzer: Use the recently added orddict:orddict/2 typeHans Bolinder
2015-08-17Merge branch 'maint'Hans Nilsson
* maint: ssh: ct:pal -> ct:log in lib/ssh/test ssh: ssh_trpt_test_lib improvments ssh: Unicode test improvments
2015-08-17Merge branch 'hans/ssh/cuddle_tests' into maintHans Nilsson
* hans/ssh/cuddle_tests: ssh: ct:pal -> ct:log in lib/ssh/test ssh: ssh_trpt_test_lib improvments ssh: Unicode test improvments
2015-08-14wx: Fix assert log testDan Gudmundsson
Did not work on windows, on windows getItem uses wxLogWindow instead of assert in case of out of range, so the test still caused a log window.
2015-08-14debugger: Fix broken debugger:quick/3 startDan Gudmundsson
Too much code was removed in commit 560f73141af
2015-08-14Merge branch 'maint'Anders Svensson
2015-08-14Fix broken release notesAnders Svensson
Broken in the parent commit.
2015-08-14Merge branch 'maint'Anders Svensson
2015-08-13Merge branch 'maint-17' into maintAnders Svensson
The diffs are all about adapting to the OTP 18 time interface. The code was previously backwards compatible, falling back on the erlang:now/0 if erlang:monotonic_time/0 is unavailable, but this was seen to be a bad thing in commit 9c0f2f2c. Use of erlang:now/0 is now removed.
2015-08-13erts: Make sure to unlock status lock when setting process prioLukas Larsson
2015-08-13Merge branch 'maint'Zandra Hird
2015-08-13Merge branch 'sstrigler/fix-port-timeout' into maintZandra Hird
OTP-12935 * sstrigler/fix-port-timeout: add test for odbc port_timeout add doc for odbc port_timeout introduce odbc port_timeout
2015-08-13Updated OTP versionOTP-17.5.6.3Erlang/OTP
2015-08-13Update release notesErlang/OTP
2015-08-13Merge branch 'anders/diameter/17.5.6.3/OTP-12927' into maint-17Erlang/OTP
* anders/diameter/17.5.6.3/OTP-12927: vsn -> 1.9.2.1 Update appup for 17.5.6.3
2015-08-13Merge branch 'anders/diameter/17/time/OTP-12926' into maint-17Erlang/OTP
* anders/diameter/17/time/OTP-12926: Simplify time manipulation Remove use of monotonic time in pre-18 code Remove unnecessary redefinition of erlang:max/2
2015-08-13Merge branch 'anders/diameter/grouped_errors/OTP-12930' into maint-17Erlang/OTP
* anders/diameter/grouped_errors/OTP-12930: Fix decode of Grouped AVPs containing errors Simplify logic Simplify logic
2015-08-13Merge branch 'anders/diameter/transport/OTP-12929' into maint-17Erlang/OTP
* anders/diameter/transport/OTP-12929: Fix start order of alternate transports Log discarded answers
2015-08-13Merge branch 'anders/diameter/lcnt/OTP-12912' into maint-17Erlang/OTP
* anders/diameter/lcnt/OTP-12912: Make ets diameter_stats a set Remove unnecessary sorting in stats suite Set ets {write_concurrency, true} on diameter_stats Don't start watchdog timers unnecessarily Remove unnecessary erlang:monitor/2 qualification Add missing watchdog suite clause
2015-08-13Merge branch 'anders/diameter/caseless/OTP-12902' into maint-17Erlang/OTP
* anders/diameter/caseless/OTP-12902: Match allowable peer addresses case insensitively Replace calls to module inet_parse to equivalents in inet
2015-08-13Merge branch 'anders/diameter/grouped_decode/OTP-12879' into maint-17Erlang/OTP
* anders/diameter/grouped_decode/OTP-12879: Fix relay encode of decoded diameter_avp lists
2015-08-13Merge branch 'anders/diameter/decode/OTP-12891' into maint-17Erlang/OTP
* anders/diameter/decode/OTP-12891: Don't compute AVP list length unnecessarily at AVP decode
2015-08-13Merge branch 'anders/diameter/decode/OTP-12871' into maint-17Erlang/OTP
* anders/diameter/decode/OTP-12871: Don't traverse errors list unnecessarily when detecting missing AVPs Don't flag AVP as missing as a consequence of decode error Correct inaccurate doc Truncate potentially large terms passed to diameter_lib:log/4
2015-08-13Merge branch 'maint'Zandra Hird
2015-08-12Merge branch 'toraritte/patch-1' into maintZandra Hird
* toraritte/patch-1: Fix function reference (no first/2 in ets)
2015-08-12Merge branch 'ericmj/patch-1' into maintZandra Hird
* ericmj/patch-1: Fix formatting of depth option