aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2017-11-20erts: Implement batching maps:iteratorLukas Larsson
This iterator implementation fetches multiple elements to iterate over in one call to erts_internal:maps_next instead of one at a time. This means that the memory usage will go up for the iterator as we are buffering elements, but the usage is still bounded. In this implementation the max memory usage is 1000 words. Using this approach makes the iterator as fast as using maps:to_list, so maps:iterator/2 has been removed.
2017-10-13erts: Implement maps path iteratorLukas Larsson
2017-10-13erts: Implement map iterator using a stackLukas Larsson
This version does not work great as the subtrees created are not proper hash maps. Also it is not all that performant as the extra allocations to keep the stack there is expensive.
2017-10-13stdlib: Introduce maps iterator APILukas Larsson
2017-10-13Merge branch 'maint'Ingela Anderton Andin
2017-10-13Merge branch 'ingela/ssl/remove-deprcated-string' into maintIngela Anderton Andin
* ingela/ssl/remove-deprcated-string: ssl: Use new string functions
2017-10-13Merge pull request #1596 from bjorng/bjorn/enhance-try-catchBjörn Gustavsson
(Slightly) optimize catch and try/catch OTP-14683
2017-10-13Merge pull request #1600 from kostis/hipe-tests-eclectic-exceptionsBjörn Gustavsson
hipe: Extend the basic_SUITE with one more test
2017-10-12Merge branch 'rickard/null-chars/ERL-370/OTP-14543'Rickard Green
* rickard/null-chars/ERL-370/OTP-14543: Don't allow null chars in various strings Conflicts: erts/emulator/beam/erl_alloc.types erts/preloaded/ebin/erlang.beam
2017-10-12Merge branch 'maint'Hans Nilsson
2017-10-12Merge branch 'hans/ssh/cuddle_tests' into maintHans Nilsson
2017-10-12ssh: Anonymize unused variables in test suitesHans Nilsson
2017-10-12Merge branch 'maint'Rickard Green
* maint: Revert "Merge branch 'rickard/null-char-filenames/ERL-370/OTP-14543' into maint"
2017-10-12Revert "Merge branch 'rickard/null-char-filenames/ERL-370/OTP-14543' into maint"Rickard Green
This reverts commit 0717a2194e863f3a78595184ccc5637697f03353, reversing changes made to 71a40658a0cef8b3e25df3a8e48a72d0563a89bf.
2017-10-12ssh: ssh_bench_SUITE disable aes_gcmHans Nilsson
2017-10-12ssh: remove dead codeHans Nilsson
2017-10-12Merge branch 'maint'Hans Nilsson
2017-10-12public_key: Fix bug in pkix_verify_hostname with IP addressesHans Nilsson
An IP address could in some circomstances be converted to a list and then to_lower was applied to it. So {$A,1,1,1} was changed to {$a,1,1,1} which of course didn't match....
2017-10-12Merge branch 'maint'Ingela Anderton Andin
2017-10-12inets: httpc - fix default timeout in httpc_SUITEIngela Anderton Andin
Timeout must be set in suite/0 or init_per_testcase not init_per_group or init_per_suite
2017-10-12inets: ENV should be a stringIngela Anderton Andin
This is tested by new erts check that will cause badarg when trying to execute scripts via mod_cgi
2017-10-11Don't allow null chars in various stringsRickard Green
Various places that now reject null chars inside strings - Primitive file operations reject it in filenames. - Primitive environment variable operations reject it in names and values. - os:cmd() reject it in its input. Also '=' characters are rejected by primitive environment variable operations in environment variable names. Documentation has been updated to document null characters in these types of data as invalid. Currently these operations accept null chars at the end of strings, but that will change in the future.
2017-10-11Merge branch 'maint'Rickard Green
* maint: Updated OTP version Update release notes Update version numbers vsn -> 2.1.1 Update appup and code_change for ERIERL-83 Fix missing monitor in diameter_reg Conflicts: OTP_VERSION
2017-10-11Merge branch 'maint-20' into maintRickard Green
* maint-20: Updated OTP version Update release notes Update version numbers vsn -> 2.1.1 Update appup and code_change for ERIERL-83 Fix missing monitor in diameter_reg
2017-10-11Merge pull request #1595 from ↵Raimo Niskanen
RaimoNiskanen/raimo/stdlib/gen_statem-clean_timeout-infinity/OTP-13073 Change gen_statem:call(_, _, {clean_timeout,infinity}) to use proxy
2017-10-11Optimize a catch whose return value is ignoredBjörn Gustavsson
Rewrite a catch expression like this: catch side_effect(), ... to: try side_effect() catch _:_ -> ok end, ... A try/catch is more efficient since no stack trace will be built when an exception occurs.
2017-10-11Do the receive optimization in the presence of try/catchBjörn Gustavsson
Improve the receive optimization to be able to handle code such as this: Ref = make_ref(), try side_effect() catch _:_ -> ok end, receive %% Clauses that all match Ref. . . . end
2017-10-11Optimize try/catch that ignores the return valueBjörn Gustavsson
If a try/catch is used to ignore the potential exception caused by some expression with a side effect such as: try side_effect() catch _Class:_Reason -> ok end, . . . the generated code will be wasteful: try YReg TryLabel %% call side_effect() here try_end Yreg jump GoodLabel TryLabel: try_case YReg %% try_case has set up registers as follows: %% x(0) -> error | exit | throw %% x(1) -> reason %% x(2) -> raw stack trace data GoodLabel: %% This code does not use any x registers. There will be two code paths that both end up at GoodLabel, and the try_case instruction will set up registers that are never used. We can do better by replacing try_case with try_end to obtain this code: try YReg TryLabel %% call side_effect() here try_end Yreg jump GoodLabel TryLabel: try_end YReg GoodLabel: The jump optimizer (beam_jump) can further optimize this code like this: try YReg TryLabel %% call side_effect() here TryLabel: try_end YReg
2017-10-11hipe: Extend the basic_SUITE with one more testKostis Sagonas
that checks the construction of exception information. The test is taken from the compiler SUITE but part of it (the one that constructs exceptions which differ between BEAM and HiPE) is commented out. Related to the discussion of #1596.
2017-10-10Update gen_statem.erlRuan Pienaar
2017-10-10Merge branch 'maint'Hans Nilsson
2017-10-10Merge branch 'hans/ssh/ssh_dbg_hostkey/OTP-14658' into maintHans Nilsson
2017-10-10Merge branch 'maint'Sverker Eriksson
2017-10-10Merge branch 'sverker/fix-code_SUITE-upgrade' into maintSverker Eriksson
2017-10-10Merge branch 'maint'Lars Thorsen
2017-10-10Merge branch 'lars/doc-cleanup/OTP-14475' into maintLars Thorsen
* lars/doc-cleanup/OTP-14475: [edoc] Remove unused module otpsgml_layout.erl Remove unused files from the documentation build
2017-10-10Merge branch 'lars/erl_docgen/code-tag-fix/OTP-14674' into maintLars Thorsen
* lars/erl_docgen/code-tag-fix/OTP-14674: [erl_docgen] Fix spacing for code blocks [erl_docgen] Change pdf to have the same style as html for code,warning,note
2017-10-09Update release notesErlang/OTP
2017-10-09Merge branch 'anders/diameter/reg_monitor/OTP-14668' into maint-20Erlang/OTP
* anders/diameter/reg_monitor/OTP-14668: vsn -> 2.1.1 Update appup and code_change for ERIERL-83
2017-10-09Merge branch 'anders/diameter/reg_monitor/ERIERL-83' into maint-20Erlang/OTP
* anders/diameter/reg_monitor/ERIERL-83: Fix missing monitor in diameter_reg
2017-10-09[orber] Touchup of code tagsLars Thorsen
2017-10-09ssh: ssh_dbg:algs functionHans Nilsson
2017-10-09[erl_docgen] Fix spacing for code blocksLars Thorsen
2017-10-09Change {clean_timeout,infinity} to use proxyRaimo Niskanen
2017-10-06[erl_docgen] Change pdf to have the same style as html for code,warning,noteLars Thorsen
2017-10-05Merge branch 'maint'Rickard Green
* maint: Updated OTP version Update release notes Update version numbers
2017-10-05Merge branch 'maint-19' into maintRickard Green
* maint-19: Updated OTP version Update release notes Update version numbers Conflicts: OTP_VERSION erts/doc/src/notes.xml erts/vsn.mk lib/compiler/doc/src/notes.xml lib/compiler/vsn.mk otp_versions.table
2017-10-05Update release notesErlang/OTP
2017-10-05Update version numbersErlang/OTP
2017-10-05Merge branch 'sverker/19/on_load-on_load-bug/OTP-14612' into maint-19Erlang/OTP
* sverker/19/on_load-on_load-bug/OTP-14612: erts: Fix 'on_load' tracing bug for modules with -on_load code_SUITE:on_load_trace_on_load