aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2017-05-10erts: Fix ets:select_replace with {const, NewTuple}Sverker Eriksson
Enable ets:select_replace to do a generic single object compare-and-swap operation of any ets-tuple using a matchspec like this: [{Old, [], [{const, New}]}] The only exception when this does not work is if the key contains maps or atoms looking like variables (like '$1').
2017-04-28Merge PR1413 from g-andrade/feature/phash2_nifSverker Eriksson
Support hashing terms from NIF code
2017-04-28Merge PR-1431 from richcarl/mseg-debruijn-usageSverker Eriksson
Rename macro and add clarifying comment
2017-04-28Merge branch 'sverker/internal-hash-opt'Sverker Eriksson
2017-04-28Merge branch 'sverker/fix-debug-vm-windows'Sverker Eriksson
2017-04-28Merge branch 'dgud/erts/erlscript_name'Dan Gudmundsson
* dgud/erts/erlscript_name: Rename argv[0] from beam to invoking program name OTP-14381
2017-04-27erts: Optimize make_internal_hash for mapsSverker Eriksson
No need for the xor-trick, to be order independent, as both flatmaps and hashmaps have a constant key-value order internally.
2017-04-27erts: Fix debug emulator on windowsSverker Eriksson
Clear ethr_not_inited__ early (like on unix) to not get assertion in ethr_tsd_key_create("stacklimit")
2017-04-27Merge branch 'rickard/ds-stack-size'Rickard Green
OTP-14380 * rickard/ds-stack-size: Suggested stack size options for dirty schedulers
2017-04-27Merge branch 'rickard/debug-timer-fix'Rickard Green
OTP-14356 * rickard/debug-timer-fix: Fix assert in dbg_verify_empty_later_slots()
2017-04-27Rename macro and add clarifying commentRichard Carlsson
The macro previously named 'LOG2' is in fact computing the LSB (not the MSB) of its input, and can only be used to compute log2(n) when n is is a power of 2, that is, when its LSB is also its MSB.
2017-04-27Move enif_hash last to not break WindowsSverker Eriksson
2017-04-26Merge pull request #1367 from josevalim/jv-dbgi-chunkBjörn Gustavsson
Introduce new "Dbgi" chunk OTP-14369
2017-04-25Merge branch 'sverker/refactor'Sverker Eriksson
* sverker/refactor: erts: Introduce struct binary_internals erts: Introduce erts_bin_release erts: Init refc=1 in erts_bin_drv_alloc* erts: Init refc=1 in erts_bin_nrml_alloc erts: Remove deliberate leak of hipe fun entries erts: Remove hipe_bifs:remove_refs_from/1 Refactor hipe specific code to use ErtsCodeInfo erts: Refactor ErtsCodeInfo.native
2017-04-25Update preloaded modulesLukas Larsson
2017-04-25Merge branch 'lukas/erts/list_to_port/OTP-14348'Lukas Larsson
* lukas/erts/list_to_port/OTP-14348: erts: Add erlang:list_to_port/1 debug bif erts: Auto-import port_to_list for consistency erts: Polish off erlang:list_to_ref/1
2017-04-25erts: Add erlang:list_to_port/1 debug bifLukas Larsson
2017-04-25erts: Auto-import port_to_list for consistencyLukas Larsson
Follow the same pattern as pid_to_list
2017-04-25Store abstract code in the Dbgi chunkJosé Valim
The new Dbgi chunk returns data in the following format: {debug_info_v1, Backend, Data} This allows compilers to store the debug info in different formats. In order to retrieve a particular format, for instance, Erlang Abstract Format, one may invoke: Backend:debug_info(erlang_v1, Module, Data, Opts) Besides introducing the chunk above, this commit also: * Changes beam_lib:chunk(Beam, [:abstract_code]) to read from the new Dbgi chunk while keeping backwards compatibility with old .beams * Adds the {debug_info, {Backend, Data}} option to compile:file/2 and friends that are stored in the Dbgi chunk. This allows the debug info encryption mechanism to work across compilers * Improves dialyzer to work directly on Core Erlang, allowing languages that do not have the Erlang Abstract Format to be dialyzer as long as they emit the new chunk and their backend implementation is available Backwards compatibility is kept across the board except for those calling beam_lib:chunk(Beam, ["Abst"]), as the old chunk is no longer available. Note however the "Abst" chunk has always been optional. Future OTP versions may remove parsing the "Abst" chunk altogether from beam_lib once Erlang 19 and earlier is no longer supported. The current Dialyzer implementation still supports earlier .beam files and such may also be removed in future versions.
2017-04-25Merge branch 'lukas/erts/deprecate-non-smp/OTP-14272'Lukas Larsson
* lukas/erts/deprecate-non-smp/OTP-14272: erts: Fix testcases for smp +S 1:1 erts: Deprecate the non-smp emulators
2017-04-25Merge pull request #1417 from mikpe/erts-erl_mseg-bad-cache-indexingRickard Green
erl_mseg.c: don't use invalid indices in - > cache_powered_node[] OTP-14360
2017-04-24erts: Discontinue salted use of enif_hash/phash2Guilherme Andrade
2017-04-24Fix assert in dbg_verify_empty_later_slots()Rickard Green
2017-04-24Rename argv[0] from beam to invoking program nameDan Gudmundsson
Allows ps and htop to display the invoking program/script name instead of beam[.smp].
2017-04-24Merge branch 'dgud/stdlib/unicode-string/OTP-10289'Dan Gudmundsson
* dgud/stdlib/unicode-string/OTP-10289: Handle chardata in string:to_float and string:to_list New unicode aware string module that works with unicode:chardata() Add nf(k)d, nf(k)c conversion functions to unicode module Reorder code and whitespace fixes Add unicode_util
2017-04-24Handle chardata in string:to_float and string:to_listDan Gudmundsson
2017-04-24Merge branch 'maint'Rickard Green
* maint: Updated OTP version Prepare release Do not ignore SIGTERM when VM has been started with +Bi Conflicts: OTP_VERSION erts/emulator/sys/unix/sys.c erts/vsn.mk
2017-04-24Merge pull request #1326 from RoadRunnr/feature/so_bindtodeviceRaimo Niskanen
Merge branch RoadRunnr/feature/so_bindtodevice (GitHub#1326) into master OTP-14357
2017-04-24Merge branch 'lukas/erts/fix_non-smp_scheduler_data_init/OTP-14152'Lukas Larsson
* lukas/erts/fix_non-smp_scheduler_data_init/OTP-14152: erts: Initialize esdp->type in non-smp to normal
2017-04-22erts: Allow for easier future enif_hash expansionGuilherme Andrade
Allow for expanding support to 64-bit hashes without breaking the interface.
2017-04-22erts: Improve enif_hash documentationGuilherme Andrade
2017-04-22erts: Add test cases for salted enif_hash callsGuilherme Andrade
2017-04-22erts: Support custom salt in enif_hashGuilherme Andrade
2017-04-21Prepare releaseErlang/OTP
2017-04-21Do not ignore SIGTERM when VM has been started with +BiRickard Green
2017-04-21Merge branch 'rickard/timer-improvements'Rickard Green
OTP-14356 * rickard/timer-improvements: Fix of later timer wheel Minimum timeout position in each timer wheel Manage timers to trigger at once in a slot similar to other timers Introduce timer slot range counters Timer wheel divided into a "soon wheel" and a "later wheel" Remove unnecessary cancel callback from timer-wheel timers Rearrange timer struct fields in order to simplify Use timer wheel for short BIF timers Use magic refs for BIF timers Remove accessor BIF timer implementation Fix aux-work timer implementation
2017-04-21erts: Polish off erlang:list_to_ref/1Lukas Larsson
2017-04-21erts: Fix testcases for smp +S 1:1Lukas Larsson
2017-04-21erts: Deprecate the non-smp emulatorsLukas Larsson
2017-04-21erl_mseg.c: don't use invalid indices in - > cache_powered_node[]Mikael Pettersson
2017-04-21Merge branch 'bjorn/remove-r12-r15-compatibility' into run-travisBjörn Gustavsson
* bjorn/remove-r12-r15-compatibility: compile: Remove the r12 through r15 options test_server: Change compatibility to R16 crashdump_helper: Change compatibility to R18 Remove test case for testing compatibility with R9B Do atom roundtripping with an R16B node Remove -compile(r12)
2017-04-21Merge branch 'bjorn/dialyzer/add-typer/OTP-14336' into run-travisBjörn Gustavsson
* bjorn/dialyzer/add-typer/OTP-14336: Add smoke test for TypER Add back TypEr to the main OTP repository
2017-04-20erts: Refactor enif_phash2 into enif_hashGuilherme Andrade
A more generic hashing function which can also hash terms based on `make_internal_hash'.
2017-04-20erts: Fix random floats in enif_phash2 testsGuilherme Andrade
2017-04-20erts: Remove enif_phash2_rangedGuilherme Andrade
2017-04-20implement SO_BINDTODEVICE for inet protocolsAndreas Schultz
bind to device is needed to properly support VRF-Lite under Linux (see [1] for details). [1]: https://www.kernel.org/doc/Documentation/networking/vrf.txt
2017-04-20Add back TypEr to the main OTP repositoryBjörn Gustavsson
It turned out that the dependencies between Dialyzer and TypEr makes it impractical to have TypEr in a separate repository. Add it back to the OTP repository, but put the Erlang module 'typer' in the dialyzer application.
2017-04-20erts: Initialize esdp->type in non-smp to normalLukas Larsson
The previous code worked through luck because the memory returned from erts_alloc was zero:ed and SCHED_NORMAL is 0. But if you run with +Meamin that is not always the case which is how this error was detected.
2017-04-20Remove test case for testing compatibility with R9BBjörn Gustavsson
It is no longer possible to commuicate with R9B nodes.
2017-04-20Do atom roundtripping with an R16B nodeBjörn Gustavsson
It is no longer possible to communicate with R15B nodes.