Age | Commit message (Collapse) | Author |
|
|
|
maint
* sverker/erts/term_to_binary-reductions/ERL-774/OTP-15514:
erts: Consume reductions for strings in term_to_binary
erts: Reduce number of list traversals in term_to_binary
|
|
Cost per string byte,
but we still don't yield mid-string.
|
|
|
|
* sverker/enif_consume_timeslice-dirty-nop/OTP-15604:
erts: Make enif_consume_timeslice no-op on dirty sched
|
|
|
|
* sverker/heart-nice-exit/OTP-15599:
erts: Avoid heart killing a nicely exiting emulator
|
|
|
|
by patching list length when we reach end of list.
And remove unnecessary traversals in is_string and is_external_string
beyond the max length for STRING_EXT.
|
|
bjorng/bjorn/erts/revert-optional-tuple-calls/OTP-15581
Remove support for optional tuple calls
|
|
* maint:
Add persistent_term:get(Key, DefaultValue)
Make dialyzer faster for left-associative andalso/orelse expressions
|
|
bjorng/bjorn/erts/persistent_term-default/ERL-843/OTP-15576
Add persistent_term:get(Key, DefaultValue)
|
|
Symptom:
Heart kills exiting emulator before is has flushed all ports
and with HEART_KILL_SIGNAL=SIGABRT it may also produce
unnecessary core dumps from doing init:reboot() for example.
Problem:
Heart port is closed together with all the others in handle_reap_ports()
which is detected by heart OS process.
Solution 1:
Leave the heart port alone in handle_reap_ports() and let it be closed
by OS when emulator exists. It doesn't need to be flushed anyway.
Solution 2:
When heart OS process gets EOF on connection let it wait max 5 seconds
for emulator process to self terminate before trying to kill it.
|
|
|
|
Fix bug in binary:encode_unsigned causing a read of uninitialized memory
|
|
This reverts commit 87da7b5be69de01e65df566c6e35064381d1144d.
|
|
This reverts commit ea0e763e953f9c7d1fa9c142f24cb95f56119c56.
|
|
* maint:
Add -ztma option for enabling tuple calls
Reinstate tuple calls support in the beam emulator
|
|
Optional tuple calls
OTP-15580
|
|
https://bugs.erlang.org/browse/ERL-843
|
|
|
|
* sverker/enif_select-faulty-assert:
erts: Fix faulty debug assert in enif_select
|
|
* sverker/map-from-ks-vs-bug/OTP-15567:
erts: Add test for bug in enif_make_maps_from_arrays
erts: Fix bug in erts_map_from_ks_and_vs
|
|
|
|
|
|
This sleeping bug was introduced in OTP 19.1
but not possible not provoke until OTP 21.0
when enif_make_map_from_arrays was introduced.
|
|
|
|
* sverker/fix-compile-warning:
erts: Fix compiler warning for IS_SSMALL
|
|
Add enif_make_monitor_term
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Using magic refs for big timers caused too large a stress on
the off_heap GC implementation to be viable, so it was never
enable. The code is now broken because of other changes to
we might as well remove it.
|
|
|
|
"shift count negative or too big, undefined behavior"
|
|
The bug could be seen by running the test that is added by this commit
in a valgrind enabled emulator.
Co-authored-by: John Högberg <[email protected]>
|
|
to increase the probablity of a nice badarg
from erlang:port_control.
|
|
|
|
This reverts commit f2b332186a for beam_emu.c only, to enable
an upgrade path for existing beam code compiled under OTP 20 with
parameterized modules.
|
|
* lukas/erts/scheduler-pollset-fixes/OTP-15538:
erts: Fix getting of poll events on linux >= 4.15.0
erts: Use reduction based polling for starved poll-set
erts: Fix pollset test cases
|
|
|
|
* lukas/erts/set_logger_process/OTP-15375:
erts: Fix type of system_logger variable
|
|
|
|
* bjorn/erts/optimize-is_function2:
Optimize the is_function/2 guard test
|
|
|
|
* lukas/erts/scheduler-pollset-fixes/OTP-15538:
erts: Fix getting of poll events on linux >= 4.15.0
erts: Use reduction based polling for starved poll-set
erts: Fix pollset test cases
|
|
The is_function2 instruction is executed surprisingly
frequently when running dialyzer or the compiler. It
cannot hurt to optimize it a little.
|