aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-07-07Merge pull request #1080 from josevalim/jv-sys-core-replaceBjörn Gustavsson
Introduce a new core pass called sys_core_alias OTP-14505
2017-07-07Merge branch 'maint'Hans Nilsson
2017-07-07Merge branch 'hans/crypto/supports_macs/OTP-14504' into maintHans Nilsson
2017-07-07Merge branch 'maint'Hans Nilsson
2017-07-07Merge branch 'hans/crypto/test_suite_reports_info' into maintHans Nilsson
2017-07-07crypto: test suites report openssl version, supports etcHans Nilsson
2017-07-07Merge branch 'siri/sasl/remove-si-modules/OTP-14469'Siri Hansen
* siri/sasl/remove-si-modules/OTP-14469: [sasl] Remove out-dated modules si and si_sasl_supp
2017-07-07Merge pull request #1498 from michalmuskala/new_map_litBjörn Gustavsson
Introduce new_map_lit operation in the loader OTP-14502
2017-07-07Merge pull request #1500 from josevalim/jv-unicode-10Dan Gudmundsson
Update to Unicode 10 OTP-14503
2017-07-07crypto: added a 'macs' entry to proplist in crypto:supports/0Hans Nilsson
2017-07-06Merge branch 'maint'Hans Nilsson
2017-07-06Merge branch 'hans/crypto/update-gitignore' into maintHans Nilsson
2017-07-06Updated .gitignoreHans Nilsson
2017-07-06Introduce a new core pass called sys_core_aliasJosé Valim
The goal of this pass is to find values that are built from patterns and generate aliases for those values to remove pressure from the GC. For example, this code: example({ok, Val}) -> {ok, Val}. shall become: example({ok, Val} = Tuple) -> Tuple. Currently this pass aliases tuple and cons nodes made of literals, variables and other cons. The tuple/cons may appear anywhere in the pattern and it will be aliased if used later on. Notice a tuple/cons made only of literals is not aliased as it may be part of the literal pool.
2017-07-06jeckersb/port_please-ipv6/PR-1487/OTP-14501Lukas Larsson
Fix erl_epmd:port_please when using IPv6
2017-07-06johanclaesson/fprof/PR-1460/OTP-14500Lukas Larsson
fprof: Sum callers and callees
2017-07-06Merge branch 'maint'John Högberg
2017-07-06Merge branch 'john/erts/runtime-lcnt' into maintJohn Högberg
* john/erts/runtime-lcnt: Document rt_mask and add warnings about copy_save Add an emulator test suite for lock counting Break erts_debug:lock_counters/1 into separate BIFs Allow toggling lock counting at runtime Move lock flags to a common header Enable register_SUITE for lcnt builds Enable lcnt smoke test on all builds that have lcnt enabled Make lock counter info independent of the locks being counted OTP-14412 OTP-13170 OTP-14413
2017-07-06Document rt_mask and add warnings about copy_saveJohn Högberg
2017-07-06Add an emulator test suite for lock countingJohn Högberg
OTP-14413
2017-07-06Break erts_debug:lock_counters/1 into separate BIFsJohn Högberg
2017-07-06Allow toggling lock counting at runtimeJohn Högberg
The implementation is still hidden behind ERTS_ENABLE_LOCK_COUNT, and all categories are still enabled by default, but the actual counting can be toggled at will. OTP-13170
2017-07-06Move lock flags to a common headerJohn Högberg
2017-07-06Enable register_SUITE for lcnt buildsJohn Högberg
It was disabled for performance reasons, and the new implementation handles it just fine (roughly half as fast as without lcnt).
2017-07-06Enable lcnt smoke test on all builds that have lcnt enabledJohn Högberg
2017-07-06Merge branch 'maint'Sverker Eriksson
2017-07-06Merge branch 'sverker/prealloc-race-bug/maint' into maintSverker Eriksson
* sverker/prealloc-race-bug/maint: erts: Increase pre-allocated blocks #ifdef DEBUG
2017-07-06Introduce new_small_map_lit opMichal Muskala
Take advantage of the fact that small maps have a tuple for keys. When new map is constructed and all keys are literals, we can construct the entire keys tuple as a literal. This should reduce the memory of maps created with literal keys almost by half, since they all can share the same keys tuple.
2017-07-06Merge branch 'maint'Björn Gustavsson
* maint: macOS: Fix problems loading crypto
2017-07-06Merge pull request #1501 from bjorng/bjorn/macos-dynamic-loading/ERL-439Björn Gustavsson
macOS: Fix problems loading crypto OTP-14499
2017-07-06Merge branch 'maint'Kenneth Lundin
2017-07-06Merge branch 'kenneth/asn1/ERL-437' into maintKenneth Lundin
* kenneth/asn1/ERL-437: Corrected behavior of option {n2n, EnumTypeName} when EnumTypeName contains a hypen like fore example Cause-Misc. This caused syntax errors when compiling the generated Erlang code. OTP-14495
2017-07-06Merge pull request #1499 from josevalim/jv-tuple-callsBjörn Gustavsson
Make tuple calls opt-in OTP-14497
2017-07-05Merge branch 'jv/dialyzer/no_support_19/OTP-14493/PR-1434'Hans Bolinder
* jv/dialyzer/no_support_19/OTP-14493/PR-1434: No longer support OTP 19 beam files in Dialyzer
2017-07-04fprof: Sum callers and calleesJohan Claesson
When sampling multiple processes and analyzing with totals true sum together all caller and callee entries which concerns the same function. Previous behaviour was to report each contributing entry.
2017-07-04macOS: Fix problems loading cryptoBjörn Gustavsson
On macOS, it was not possible to start crypto after running observer. (ERL_251) On the beta of macOS 10.13 (High Sierra), crypto does not work at all. (ERL-439) The problem is that the use of the -flat_namespace option when linking dynamic drivers such as the one for crypto. With that option, all function names must be unique among all linked libraries and frameworks, or the wrong function could be called. Resolve the problem by using the two-level namespace as recommended by Apple. We need to use the -bundle_loader option to point out beam.smp when building all drivers and NIF libraries. https://bugs.erlang.org/browse/ERL-251 https://bugs.erlang.org/browse/ERL-439
2017-07-04Make tuple calls opt-inJosé Valim
Tuple calls is the ability to invoke a function on a tuple as first argument: 1> Var = dict:new(). {dict,0,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}} 2> Var:size(). 0 This behaviour is considered by most to be undesired and confusing, especially when it comes to errors. For example, imagine you invoke "Mod:new()" where a Mod is an atom and you accidentally pass {ok, dict}. It raises: {undef,[{ok,new,[{ok,dict}],[]},...]} As it attempts to invoke ok:new/1, which is really hard to debug as there is no call to new/1 on the source code. Furthemore, this behaviour is implemented at the VM level, which imposes such semantics on all languages running on BEAM. Since we cannot remove the behaviour above, this proposal makes the behaviour opt-in with a compiler flag: -compile(tuple_calls). This means that, if a codebase relies on this functionality, they can keep compatibility by adding configuring their build tool to always use the 'tuple_calls' flag or explicitly on each module. As long as the compile attribute above is listed, the codebase will work on old and new Erlang versions alike. The only downside of the current implementation is that modules compiled on OTP 20 that rely on 'tuple_calls' will have to be recompiled to run with 'tuple_calls' on OTP 21+.
2017-07-04Corrected behavior of option {n2n, EnumTypeName} whenKenneth Lundin
EnumTypeName contains a hypen like fore example Cause-Misc. This caused syntax errors when compiling the generated Erlang code.
2017-07-04Merge branch 'maint'Hans Bolinder
* maint: stdlib: Accept all nowarn_deprecated_function options
2017-07-04Merge branch 'hasse/stdlib/deprecated_warning/OTP-14378' into maintHans Bolinder
* hasse/stdlib/deprecated_warning/OTP-14378: stdlib: Accept all nowarn_deprecated_function options
2017-07-04Merge branch 'maint'John Högberg
* maint: Updated OTP version Update release notes Update version numbers erts: Fix bug in quick alloc Fix old length usage in string stdlib: Fix bug in proc_lib Support arbitrary crash report in proc_lib.
2017-07-04Merge branch 'maint-20' into maintJohn Högberg
* maint-20: Updated OTP version Update release notes Update version numbers erts: Fix bug in quick alloc Fix old length usage in string stdlib: Fix bug in proc_lib Support arbitrary crash report in proc_lib.
2017-07-04No longer support OTP 19 beam files in DialyzerJosé Valim
This commit removes the old code branches that attempted to translate Erlang Abstract Format to Core and relies exclusively on the new debug_info chunk. This is a follow up to #1367.
2017-07-04Merge branch 'maint'Lukas Larsson
2017-07-04Merge branch 'mikpe/erts/escript-dead-code' into maintLukas Larsson
* mikpe/erts/escript-dead-code: escript.c: remove dead code
2017-07-03Update to Unicode 10José Valim
2017-07-03Merge branch 'maint'Siri Hansen
2017-07-03Merge branch 'siri/make/default-outdir/ERL-438/OTP-14489' into maintSiri Hansen
* siri/make/default-outdir/ERL-438/OTP-14489: [ct_make] Do not use the interactive tool 'c' from ct_make Use current dir as default outdir for c:c/1,2 [make] Do not use the interactive tool 'c' from make
2017-07-03Merge branch 'siri/dbg/faulty-encoding-comment/OTP-14479' into maintSiri Hansen
* siri/dbg/faulty-encoding-comment/OTP-14479: [dbg] Fix encoding comment
2017-07-03Merge pull request #1491 from eltex-ecss/e2k_supportLukas Larsson
Support e2k platform OTP-14492