aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-03-07Merge branch 'maint'Siri Hansen
2019-03-07Merge branch 'siri/logger/bench' into maintSiri Hansen
* siri/logger/bench: [logger] Add benchmark of big log events with chars_limit and max_size [logger] Add max memory usage to statistics in logger_olp Skip logger benchmarks in normal kernel test [logger] Add benchmark of events per millisecond for handlers
2019-03-07[logger] Add benchmark of big log events with chars_limit and max_sizeSiri Hansen
2019-03-07[logger] Add max memory usage to statistics in logger_olpSiri Hansen
2019-03-07Skip logger benchmarks in normal kernel testSiri Hansen
2019-03-07[logger] Add benchmark of events per millisecond for handlersSiri Hansen
2019-03-07Merge branch 'maint'Ingela Anderton Andin
2019-03-07Merge branch 'ingela/ftp/chunk-timing/ERIERL-316/OTP-15659' into maintIngela Anderton Andin
* ingela/ftp/chunk-timing/ERIERL-316/OTP-15659: ftp: Correct test case ftp: Fix timing bug
2019-03-07ftp: Correct test caseIngela Anderton Andin
Test case can not make assumptions on how many chunks will delivered from the underlaying TCP stream. Some code commented out that should be used in some form to create a new test case. There might be other issues than the one fixed in the previous commit.
2019-03-06Merge branch 'rickard/send-bump-reds/ERL-773/OTP-15513'Rickard Green
* rickard/send-bump-reds/ERL-773/OTP-15513: Fix faulty assertion Bump reductions on send based on message size
2019-03-06Merge branch 'maint'Rickard Green
* maint: Updated OTP version Prepare release
2019-03-06Merge branch 'maint-21' into maintRickard Green
* maint-21: Updated OTP version Prepare release
2019-03-06Merge branch 'maint'Rickard Green
* maint: kernel runtime dependency to erts erts: Add yield via timeout to inet read_packet erts: Don't increase buffer when sctp sndbuf is set erts: Only change inet buffer if not set
2019-03-06Merge branch 'lukas/erts/fix_inet_buffer_auto_adjust/OTP-15651/OTP-15652' ↵Rickard Green
into maint * lukas/erts/fix_inet_buffer_auto_adjust/OTP-15651/OTP-15652: kernel runtime dependency to erts erts: Add yield via timeout to inet read_packet erts: Don't increase buffer when sctp sndbuf is set erts: Only change inet buffer if not set
2019-03-06Merge branch 'rickard/bootstrap-build-fix'Rickard Green
* rickard/bootstrap-build-fix: Fix bootstrap build of erl_interface
2019-03-06Fix bootstrap build of erl_interfaceRickard Green
2019-03-06Merge branch 'maint'Hans Bolinder
* maint: stdlib: Correct and optimize pretty printing of strings
2019-03-06Merge branch 'hasse/stdlib/optimize_pretty_printing/OTP-15639' into maintHans Bolinder
* hasse/stdlib/optimize_pretty_printing/OTP-15639: stdlib: Correct and optimize pretty printing of strings
2019-03-06Merge branch 'john/compiler/validator-type-conflict-fix/ERL-867'John Högberg
* john/compiler/validator-type-conflict-fix/ERL-867: beam_validator: Express test_arity/is_tagged_tuple as type tests beam_validator: Fix type subtraction on select_* and inequality beam_validator: Style fix for asserts in list comprehensions beam_validator: Infer types from bs_put instructions beam_validator: is_map no longer needs special treatment beam_validator: Refactor type conflict resolution beam_validator: Refactor branch handling beam_validator: Fix element/2 BIF handling beam_validator: Rename get_move_term_type and clean up get_raw_type
2019-03-06beam_validator: Express test_arity/is_tagged_tuple as type testsJohn Högberg
This ensures that unreachable branches are properly ignored on repeated checks (although tuple type subtraction isn't complete yet).
2019-03-06beam_validator: Fix type subtraction on select_* and inequalityJohn Högberg
Type subtraction never resulted in the 'none' type, even when it was obvious that it should. Once that was fixed it became apparent that inequality checks also fell into the same subtraction trap that the type pass warned about in a comment. This then led to another funny problem with select_val, consider the following code: {bif,'>=',{f,0},[{x,0},{integer,1}],{x,0}}. {select_val,{x,0},{f,70},{list,[{atom,false},{f,69}, {atom,true},{f,68}]}}. The validator knows that '>=' can only return a boolean, so once it has subtracted 'false' and 'true' it killed the state because all all valid branches had been taken, so validation would crash once it tried to branch off the fail label.
2019-03-05Updated OTP versionOTP-21.2.7Erlang/OTP
2019-03-05Prepare releaseErlang/OTP
2019-03-05Merge branch 'lukas/erts/fix_inet_buffer_auto_adjust/OTP-15651/OTP-15652' ↵Erlang/OTP
into maint-21 * lukas/erts/fix_inet_buffer_auto_adjust/OTP-15651/OTP-15652: kernel runtime dependency to erts erts: Add yield via timeout to inet read_packet erts: Don't increase buffer when sctp sndbuf is set erts: Only change inet buffer if not set
2019-03-05Merge branch 'rickard/make-fixes-21/OTP-15551' into maint-21Erlang/OTP
* rickard/make-fixes-21/OTP-15551: Fix install phase in build system
2019-03-05Merge branch 'hans/ssh/cuddle_tests'Hans Nilsson
* hans/ssh/cuddle_tests: crypto: Filter test case ciphers for supported ones
2019-03-05ftp: Fix timing bugIngela Anderton Andin
Change code to not send a message to itself as this allows other messages to come in between. A change in TLS code made this scenario more likely to happen, and the symptom is that the ftp:chunk_recv/1 function hangs.
2019-03-05Merge branch 'rickard/bootstrap-build-fix'Rickard Green
* rickard/bootstrap-build-fix: Fix build of bootstrap
2019-03-05Fix build of bootstrapRickard Green
2019-03-05beam_validator: Style fix for asserts in list comprehensionsJohn Högberg
2019-03-05beam_validator: Infer types from bs_put instructionsJohn Högberg
2019-03-05beam_validator: is_map no longer needs special treatmentJohn Högberg
2019-03-05beam_validator: Refactor type conflict resolutionJohn Högberg
The current type conflict resolution works well for the example case in the comment, but doesn't handle branched code properly, consider the following: {label,2}. {test,is_tagged_tuple,{f,ignored},[{x,0},3,{atom,r}]}. {allocate_zero,2,1}. {move,{x,0},{y,0}}. %% {y,0} is known to be {r, _, _} now. {get_tuple_element,{x,0},2,{x,0}}. {'try',{y,1},{f,3}}. %% ... snip ... {jump,{f,5}}. {label,3}. {try_case,{y,1}}. %% {x,0} is the error class (an atom), {x,1} is the error term. {test,is_eq_exact,{f,ignored},[{x,0},{y,0}]}. %% ... since tuples and atoms can't meet, the type of {y,0} is %% now {atom,[]} because the current code assumes the type %% we're updating with. {move,{x,1},{x,0}}. {jump,{f,5}}. {label,5}. %% ... joining tuple (block 2) and atom (block 3) means 'term', %% so the get_tuple_element instruction fails to validate %% despite this being unrechable from block 3. {test_heap,3,1}. {get_tuple_element,{y,0},1,{x,1}}. {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. {deallocate,2}. return. This commit kills the state on type conflicts, making unreachable instructions truly unreachable.
2019-03-05beam_validator: Refactor branch handlingJohn Högberg
While complex_test made certain branching instructions a lot easier to read, we're still using `branch_state` for many others which is hard to read and makes it impossible to "abort" branches on type conflicts. This commit replaces nearly all uses of `branch_state` with a general branching mechanism, improving readability and paving the way for proper type conflict resolution.
2019-03-05List sys:get_debug/3 in general deprecationsRaimo Niskanen
2019-03-05kernel runtime dependency to ertsRickard Green
2019-03-05stdlib: Correct and optimize pretty printing of stringsHans Bolinder
Avoid traversing all of the list/string when only part of it will be used. An explicit check that the list is flat is needed since string:slice() accepts deep lists and more.
2019-03-05Fix another broken doc linkRaimo Niskanen
2019-03-05Fix broken doc linkRaimo Niskanen
2019-03-04Merge branch 'maint'Rickard Green
2019-03-04Merge branch 'rickard/emd2exml-fix-18/OTP-13621' into maintRickard Green
* rickard/emd2exml-fix-18/OTP-13621: Adjust generated XML so it respects current DTD
2019-03-04Adjust generated XML so it respects current DTDRickard Green
2019-03-04Merge branch 'maint'Rickard Green
2019-03-04Merge branch 'rickard/make-fixes-21/OTP-15551' into maintRickard Green
* rickard/make-fixes-21/OTP-15551: Fix install phase in build system
2019-03-04Merge branch 'rickard/make-fixes-22/OTP-15551'Rickard Green
* rickard/make-fixes-22/OTP-15551: Fix install phase in build system
2019-03-04Merge 'rickard/make-fixes-21/OTP-15551' into 'rickard/make-fixes-22/OTP-15551'Rickard Green
* rickard/make-fixes-21/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Merge 'rickard/make-fixes-20/OTP-15551' into 'rickard/make-fixes-21/OTP-15551'Rickard Green
* rickard/make-fixes-20/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Merge 'rickard/make-fixes-19/OTP-15551' into 'rickard/make-fixes-20/OTP-15551'Rickard Green
* rickard/make-fixes-19/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Merge 'rickard/make-fixes-18/OTP-15551' into 'rickard/make-fixes-19/OTP-15551'Rickard Green
* rickard/make-fixes-18/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Merge 'rickard/make-fixes-17/OTP-15551' into 'rickard/make-fixes-18/OTP-15551'Rickard Green
* rickard/make-fixes-17/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.