Age | Commit message (Collapse) | Author |
|
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').
|
|
Support hashing terms from NIF code
|
|
Rename macro and add clarifying comment
|
|
|
|
|
|
* dgud/erts/erlscript_name:
Rename argv[0] from beam to invoking program name
OTP-14381
|
|
No need for the xor-trick, to be order independent, as both
flatmaps and hashmaps have a constant key-value order internally.
|
|
Clear ethr_not_inited__ early (like on unix)
to not get assertion in ethr_tsd_key_create("stacklimit")
|
|
OTP-14380
* rickard/ds-stack-size:
Suggested stack size options for dirty schedulers
|
|
OTP-14356
* rickard/debug-timer-fix:
Fix assert in dbg_verify_empty_later_slots()
|
|
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.
|
|
|
|
Introduce new "Dbgi" chunk
OTP-14369
|
|
* 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
|
|
|
|
* 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
|
|
|
|
Follow the same pattern as pid_to_list
|
|
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.
|
|
* lukas/erts/deprecate-non-smp/OTP-14272:
erts: Fix testcases for smp +S 1:1
erts: Deprecate the non-smp emulators
|
|
erl_mseg.c: don't use invalid indices in - > cache_powered_node[]
OTP-14360
|
|
|
|
|
|
Allows ps and htop to display the invoking program/script name
instead of beam[.smp].
|
|
* 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
|
|
|
|
* 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
|
|
Merge branch RoadRunnr/feature/so_bindtodevice (GitHub#1326) into master
OTP-14357
|
|
* lukas/erts/fix_non-smp_scheduler_data_init/OTP-14152:
erts: Initialize esdp->type in non-smp to normal
|
|
Allow for expanding support to 64-bit hashes without breaking the
interface.
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
* 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)
|
|
* bjorn/dialyzer/add-typer/OTP-14336:
Add smoke test for TypER
Add back TypEr to the main OTP repository
|
|
A more generic hashing function which can also hash terms based on
`make_internal_hash'.
|
|
|
|
|
|
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
|
|
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.
|
|
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.
|
|
It is no longer possible to commuicate with R9B nodes.
|
|
It is no longer possible to communicate with R15B nodes.
|