aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-03-28Merge branch 'sverker/driver-taints/OTP-14960'Sverker Eriksson
* sverker/driver-taints/OTP-14960: erts: Include foreign static linked drivers in taints erts: Fix harmless bug in macro IS_DRIVER_VERSION_GE erts: Remove our own NIF modules from "taints" erts: Refactor erts_static_nif_get_nif_init erts: Add dynamic loaded drivers to list of "taints"
2018-03-28erts: Fix race in nif_SUITE:monitor_frenzySverker Eriksson
detected by valgrind. We cannot compare monitor in state MON_FREE before it's initialized. Still not really kosher to access 'state' without lock or atomic-op.
2018-03-27Merge branch 'john/erts/bwt-wt-dirty-schedulers/OTP-14959'John Högberg
* john/erts/bwt-wt-dirty-schedulers/OTP-14959: Add +sbwt/+swt analogues for dirty schedulers
2018-03-27Fix bad assertRickard Green
2018-03-27Merge branch 'dgud/observer/fix-config-bug/OTP-14993'Dan Gudmundsson
* dgud/observer/fix-config-bug/OTP-14993: Fix crash when config was wrong
2018-03-27Merge branch 'dgud/testcase-fixes'Dan Gudmundsson
* dgud/testcase-fixes: debug info add unicode opt env may contain unicode signs Fix lexemes conversion
2018-03-27Merge branch 'dgud/revert-string-depr'Dan Gudmundsson
* dgud/revert-string-depr: Revert "Deprecate old string functions"
2018-03-27ssl: Cleaner test setup to avoid unintentional test case dependenciesIngela Anderton Andin
2018-03-27ssl: Correct ECC suite and DTLS ECC handlingIngela Anderton Andin
When test handling was corrected it was obvious that DTLS ECC handling was not compleated.
2018-03-27Merge pull request #1760 from ↵John Högberg
jhogberg/john/erts/any-term-as-seq_trace-label/OTP-14899 Lift the type restrictions on seq_trace token labels
2018-03-26erts: Include foreign static linked drivers in taintsSverker Eriksson
That is, driver added with config option --enable-static-drivers.
2018-03-26erts: Fix harmless bug in macro IS_DRIVER_VERSION_GESverker Eriksson
harmless until we bump major version
2018-03-26Merge pull request #1761 from ↵Björn Gustavsson
bjorng/bjorn/compiler/fix-atom-leak/ERL-563/OTP-14968 Stop the compiler from overflowing the atom table
2018-03-26Compile external fun expressions to literalsMichał Muskała
The expressions fun M:F/A, when all elements are literals are also treated as a literal. Since they have consistent representation and don't depend on the code currently loaded in the VM, this is safe. This can provide significant performance improvements in code using such functions extensively - a full function call to erlang:make_fun/3 is replaced by a single move instruction and no register shuffling or saving registers to stack is necessary. Additionally, compound data types that contain such external functions as elements can be treated as literals too. The commit also changes the representation of external funs to be a valid Erlang syntax and adds support for literal external funs to core Erlang.
2018-03-26Merge branch 'rickard/signals/OTP-14589'Rickard Green
* rickard/signals/OTP-14589: Fix VM probes compilation
2018-03-26Fix VM probes compilationRickard Green
2018-03-26Merge pull request #1757 from c-bik/patch-1John Högberg
Fix a small typo
2018-03-26Merge branch 'raimo/type-posix-0-overhaul/ERL_550/OTP-14019'Raimo Niskanen
* raimo/type-posix-0-overhaul/ERL_550/OTP-14019: Update types for posix error codes
2018-03-26Add +sbwt/+swt analogues for dirty schedulersJohn Högberg
Sharing these settings for all schedulers can degrade performance, so it makes sense to be able to configure them separately. This also changes the default busy-wait time to "short" for both kinds of dirty schedulers.
2018-03-26Update types for posix error codesRaimo Niskanen
I have read the man pages for most socket and file operations on recent Linux, FreeBSD, OpenBSD and Solaris 10 and noted the possible error codes. Which error codes that are possible for file operations have been updated in file:posix/0. Error codes for socket operations in inet:posix/0. The latter refers to the former so it is a superset, assuming that e.g sendfile and AF_UNIX socket operations could cause socket operations to return any file error code. That is not entirely true, but could be, especially in the future. Added to file:posix/0 are: ebadmsg edeadlk edeadlock eftype emultihop enobufs enolck enolink enosr enostr enosys eopnotsupp eoverflow erange etxtbsy Added to inet:posix/0 are all but: exbadport exbadseq file:posix() These are still possible according to erl_posix_str.c, but are not in file:posix/0 nor in inet:posix/0, and many of them are not file nor inet related, but some might be: e2big eadv ealign ebade ebadfd ebadr ebadrpc ebadrqc ebadslt ebfont echild echrng ecomm edirty edom edotdot eduppkg eidrm einit eisnam elbin el2hlt el2nsync el3hlt el3rst elibacc elibbad elibexec elibmax elibscn elnrng enavail enet enoano enocsi enodata enoexec enonet enosym enotempty enotnam enotuniq eproclim eprocunavail eprogmismatch eprogunavail erefused eremchg eremdev eremote eremoteio eremoterelease erpcmismatch erremote eshutdown esrmnt esuccesss etime etoomanyrefs euclean eunatch eusers eversion exfull sysnotready vernotsupported ediscon enomore ecancelled einvalidproctable einvalidprovider eproviderfailedinit syscallfailure service_not_found type_not_found e_no_more e_cancelled unknown
2018-03-26Merge pull request #1703 from juhlig/masterHans Bolinder
[ERL-557] add is_empty/1 to sets and ordsets OTP-14996, ERL-557, PR-1703
2018-03-24Avoid overflowing the atom tableBjörn Gustavsson
Use integer variable names instead of atoms in v3_core, sys_core_fold, and v3_kernel to avoid overflowing the atom table. It is a deliberate design decision to calculate the first free integer variable name (in sys_core_fold and v3_kernel) instead of somehow passing it from one pass to another. I don't want that kind of dependency between compiler passes. Also note that the next free variable name is not easily available after running the inliner.
2018-03-23inets: Teach httpc to honour `Connection: close` from serverLuca Favatella
From https://tools.ietf.org/html/rfc7230#section-6.6 > A client that receives a "close" connection option MUST cease sending requests on that connection and close the connection after reading the response message containing the "close"; if additional pipelined requests had been sent on the connection, the client SHOULD NOT assume that they will be processed by the server. Notes on tests: * The new tests are added only in group sim_http and not sim_https because the same test approach appears to be not valid because when processing the first response the server already sent data (> 0) for the TLS/SSL handshake; * The order of tests is relevant as it appears some test cases leave reusable sessions behind.
2018-03-23inets: Fix profile used in persistent_connection tests in httpc_SUITELuca Favatella
It looks like a typo, though I did not experience impact of this on tests.
2018-03-23inets: Make httpc error reason more informative for unexpected errorsLuca Favatella
2018-03-23inets: Enable stronger Dialyzer checks in httpc_handlerLuca Favatella
2018-03-23inets: Remove httpc dead code re init errorLuca Favatella
... i.e. references to `connect_failed` and `send_failed`, unused since 5d32eaf750 .
2018-03-23inets: Delete obsolete comment in httpc_response:resultLuca Favatella
2018-03-23Add cerl_trees:next_free_variable_name/1Björn Gustavsson
2018-03-23tests for is_empty/1j.uhlig
2018-03-23cerl_inline: Fix a name capture bugBjörn Gustavsson
The way variables created by make_template() are used, it is necessary that the names are unique in the entire function. This has not happened to cause any problems in the past because all other compiler passes created atom variable names, not integer variable names. If other passes start to create integer variable names, this bug is exposed.
2018-03-23Allow the match context identifier to be any termBjörn Gustavsson
During compilation, the bs_save2 and bs_restore2 instructions contain a match context reference. That reference is the variable name that holds the match context. beam_clean assumes that the reference always is an atom, which is not a safe assumption since integers are legal variable names in Core Erlang.
2018-03-23Merge branch 'rickard/signals/OTP-14589'Rickard Green
* rickard/signals/OTP-14589: Fix VM probes compilation Fix lock counting Fix signal order for is_process_alive Fix signal handling priority elevation
2018-03-23Fix VM probes compilationJohn Högberg
2018-03-23Merge pull request #1756 from zimmer7/xmerl_xsd_doc_typoLars Thorsén
Fix a simple typo in xmerl documentation
2018-03-23Merge branch 'hans/ssh/exec_fun_mfa/OTP-14851'Hans Nilsson
* hans/ssh/exec_fun_mfa/OTP-14851: ssh: Document the exec option ssh: Simplification of using fun:s as exec subsystems
2018-03-23ssh: Document the exec optionHans Nilsson
2018-03-23Merge branch 'hans/ssh/doc_fix_shell_return/OTP-14880'Hans Nilsson
* hans/ssh/doc_fix_shell_return/OTP-14880: ssh: Doc fix
2018-03-23ssh: Doc fixHans Nilsson
2018-03-23Lift the type restrictions on seq_trace token labelsJohn Högberg
OTP-14899
2018-03-23Correct overflow in ERTS_SINT64_MIN and add macros for 16/32John Högberg
This also removes a redundant #ifdef soup that had hidden the problem on most platforms.
2018-03-23Merge branch 'john/erts/async-thread-defaults/OTP-14928'John Högberg
* john/erts/async-thread-defaults/OTP-14928: Change default async thread count to 1
2018-03-23Merge branch 'john/erts/nif-map-from-array/OTP-14954'John Högberg
* john/erts/nif-map-from-array/OTP-14954: Add enif_make_map_from_arrays
2018-03-23Merge branch 'john/erts/list-installed-nifs/OTP-14965'John Högberg
* john/erts/list-installed-nifs/OTP-14965: Add an option to ?MODULE:module_info/1 for listing NIFs Fix a misleading comment
2018-03-23Add enif_make_map_from_arraysJohn Högberg
2018-03-22Fix lock countingRickard Green
2018-03-22Merge branch 'maint'Sverker Eriksson
2018-03-22Merge branch 'maint-19' into maintSverker Eriksson
Dummy merge (almost). os:cmd/2 already in OTP-20.
2018-03-22Merge branch 'sverker/enif-name-funcs/OTP-14994'Sverker Eriksson
2018-03-22crypto: Improve load error messageSverker Eriksson
to only suggest missing OpenSSL if dlopen fails (load_failed).