Age | Commit message (Collapse) | Author |
|
to not block multi threading.
Do the same as erlang:nodes/1, just grab dist table read lock.
|
|
Using the translation table in erts_gc_bifs[], we can now print
out the name of GC BIFs, instead of just the pointer value.
|
|
Add the BIF type "gcbif" in bif.tab for defining GC BIFs. That will
eliminate some of the hand-written administrative code for handling
GC BIFs, saving the developer's time.
|
|
Before:
$ size bin/x86_64-unknown-linux-gnu/beam.smp
text data bss dec hex filename
3080982 188369 158472 3427823 344def bin/x86_64-unknown-linux-gnu/beam.smp
After:
$ size bin/x86_64-unknown-linux-gnu/beam.smp
text data bss dec hex filename
3164694 104657 158472 3427823 344def bin/x86_64-unknown-linux-gnu/beam.smp
|
|
The counters are only used in the special 'icount' emulator.
We will save some memory by including the counters in the
OpEntry. It will also make it possible to make opc 'const'.
|
|
* lukas/erts/nif_allow_port_command_in_non_sched_thread/OTP-13442:
erts: Allow enif_port_command in non-sched thread
|
|
Yes this is an ugly workaround. One approach for a better
solution could be to introduce an internal secret atom
tagged as an atom with a unique index, but impossible
to find by string hash lookup/insert.
|
|
|
|
|
|
It has to be possible to send trace messages to a port
from non-schedulers threads (specifically from the
sys_msg_dispatcher).
|
|
|
|
|
|
* kvakvs/erts/monitor_port/OTP-11384:
erts: Add port monitors
|
|
* erlang:monitor/2 with port argument is added, erlang:demonitor, using port task API and avoiding locking;
* port_info and process_info support for monitored ports (with named port monitors support);
* Exit signals contain type 'process' or 'port';
* Propagation of port exit signals;
* Self-cleaning when origin process dies with monitor on;
* 8 test cases + testcase for port driver crashing;
* Documentation for all of the above (monitor, demonitor, port_info and process_info) updated
|
|
* egil/fix-simple-crashdump-with-maps/OTP-13657:
erts: Don't crash on maps on crash dumps
|
|
* egil/lttng-change-domain:
runtime_tools: Change LTTng dyntrace domain
erts: Change LTTng otp domain
|
|
- Large Maps could cause a stack overrun during crash dump generation.
- This is a simple workaround until a solution has been implemented.
- The error has no impact on a running system.
|
|
* rickard/misc-ds:
Replace enif_is_on_dirty_scheduler() with enif_thread_type()
No GC on dirty IO schedulers
|
|
This reverts commit 7c133fb1094ad1cabbb5cfc157483a43c816c6a9.
|
|
This reverts commit f4bdac18cb9dd45185e911308a5ebd95ff10d7fd.
|
|
|
|
|
|
From 'com_ericsson_otp' to 'org_erlang_otp'.
This domain name is more suitable.
|
|
|
|
|
|
|
|
|
|
that would go undetected and cause havoc if module is purged.
|
|
in tables without write_concurrency
and remove it totally #ifndef ERTS_SMP
|
|
from 700% to 200%
|
|
|
|
|
|
|
|
|
|
* rickard/off_heap-nonsmp-fix/OTP-13366:
Do not send on_heap msgs to error logger in non-smp emulator
|
|
* rickard/mv-dirty-reds-count/OTP-13123:
Move dirty reduction count to erts_dirty_process_main()
|
|
* vinoski/dirty_process_main/OTP-13123:
Add dirty_process_main function
|
|
|
|
Dirty schedulers only execute NIFs, so having them execute the full
process_main function isn't necessary. Add dirty_process_main for
dirty schedulers to execute instead.
Add erts_pre_dirty_nif(), called when preparing to execute a dirty
nif.
Add more dirty NIF tests to verify that activities requiring the
process main lock can succeed when the process is executing a dirty
NIF.
|
|
|
|
|
|
and replace with a nice else-if chain.
|
|
The same bug was fixed for OTP 18 in cb62c989e59f0ec8556f9f1d4e9a45b
by provoking yet another GC.
But now in 19 we are ok with heap fragments
so just remove the asserts.
|
|
|
|
* rickard/on_heap-fix/OTP-13366:
Improve message allocation in enif_send()
Fix message queue update on replacement and removal of message
|
|
* rickard/rm-mqd-mixed/OTP-13366:
Remove the 'message_queue_data' option 'mixed'
|
|
On windows the max size of an iov element is long, i.e. 4GB
so in order to write larger binaries to file we split the
binary into smaller 2GB chunks so that the write is possible.
|
|
* lukas/erts/tracing/tracer-move-extra-to-map/OTP-10267:
runtime_tools: Fix erl_tracer testcases
runtime_tools: Fix documentation for dbg:p
erts: Move tracer SecondTraceTerm to Opts map
|
|
|
|
|