aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-09-15hipe (test): Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15dialyzer (test): Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15eunit (test): Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15system (test): Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15system (test): Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15mnesia (test): Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15Deprecate old string functionsDan Gudmundsson
They should not be used.
2017-09-15observer: Do not use deprecated functions in string(3)Siri Hansen
2017-09-15common_test: Do not use deprecated functions in string(3)Siri Hansen
2017-09-15eldap: Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15et: Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15os_mon: Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15debugger: Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15runtime_tools: Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15asn1: Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15compiler: Do not use deprecated functions in string(3)Hans Bolinder
2017-09-15sasl: Do not use deprecated functions in string(3)Hans Bolinder
2017-07-06reltool: Do not use deprecated functions in string(3)Hans Bolinder
2017-07-06kernel: Do not use deprecated functions in string(3)Hans Bolinder
2017-07-06hipe: Do not use deprecated functions in string(3)Hans Bolinder
Should probably be left for the HiPE team to fix
2017-07-06hipe: erl_types: Do not use deprecated functions in string(3)Hans Bolinder
2017-07-06syntax_tools: Do not use deprecated functions in string(3)Hans Bolinder
2017-07-06erl_docgen: Do not use deprecated functions in string(3)Hans Bolinder
2017-07-06stdlib: Do not use deprecated functions in string(3)Hans Bolinder
2017-07-06parsetools: Do not use deprecated functions in string(3)Hans Bolinder
Unicode is also handled better in a few cases.
2017-07-06edoc: Do not use deprecated functions in string(3)Hans Bolinder
2017-07-06tools: Do not use deprecated functions in string(3)Hans Bolinder
2017-07-06dialyzer: Do not use deprecated functions in string(3)Hans Bolinder
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-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+.