aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
AgeCommit message (Collapse)Author
2016-08-26Reclaim literal area after purge has completedRickard Green
2016-08-08Separate literal area from codeRickard Green
2016-07-14Merge branch 'sverker/update_counter-deadlock/ERL-188/OTP-13731' into maint-19Erlang/OTP
* sverker/update_counter-deadlock/ERL-188/OTP-13731: erts: Add test ets_SUITE:update_counter_table_growth erts: Fix deadlock in ets:update_counter/4 erts: Optimize db_finalize_dbterm_hash
2016-07-11erts: Fix deadlock in ets:update_counter/4Sverker Eriksson
in 'set' with 'write_concurrency' when inserting default object causes table to grow and the bucket to split is protected by same lock as the key.
2016-07-11erts: Optimize db_finalize_dbterm_hashSverker Eriksson
Always free term after WUNLOCK_HASH
2016-07-08erts: Fix GC overrun bug in 'bsl' op with small Op1Sverker Eriksson
Symptom: VM abort "Overrun stack and heap" Problem: The temporary bignum created in buffer tmp_big[] will be part of the GC initiated by TestHeapPreserve, but its size is not included which can cause the GC to overflow if very unlucky. Solution: Do not include tmp_big in the GC.
2016-06-29Fix group_leader/2Rickard Green
2016-06-16Merge branch 'lukas/erts/nif_allow_port_command_in_non_sched_thread/OTP-13442'Lukas Larsson
* lukas/erts/nif_allow_port_command_in_non_sched_thread/OTP-13442: erts: Allow enif_port_command in non-sched thread
2016-06-15erts: Change local sysname for ETS compressedSverker Eriksson
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.
2016-06-15Merge branch 'sverker/revert-ets-load-factor'Sverker Eriksson
2016-06-13erts: Fix profile runnable processes raceBjörn-Egil Dahlberg
2016-06-13erts: Allow enif_port_command in non-sched threadLukas Larsson
It has to be possible to send trace messages to a port from non-schedulers threads (specifically from the sys_msg_dispatcher).
2016-06-10erts: Fix undefined shift to msb in erl_processBjörn-Egil Dahlberg
2016-06-10erts: Fix undefined shift to msb in erl_thr_progressBjörn-Egil Dahlberg
2016-06-10Merge branch 'kvakvs/erts/monitor_port/OTP-11384'Lukas Larsson
* kvakvs/erts/monitor_port/OTP-11384: erts: Add port monitors
2016-06-10erts: Add port monitorsDmytro Lytovchenko
* 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
2016-06-09Merge branch 'egil/fix-simple-crashdump-with-maps/OTP-13657'Björn-Egil Dahlberg
* egil/fix-simple-crashdump-with-maps/OTP-13657: erts: Don't crash on maps on crash dumps
2016-06-09Merge branch 'egil/lttng-change-domain'Björn-Egil Dahlberg
* egil/lttng-change-domain: runtime_tools: Change LTTng dyntrace domain erts: Change LTTng otp domain
2016-06-08erts: Don't crash on maps on crash dumpsBjörn-Egil Dahlberg
- 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.
2016-06-08Merge branch 'rickard/misc-ds'Rickard Green
* rickard/misc-ds: Replace enif_is_on_dirty_scheduler() with enif_thread_type() No GC on dirty IO schedulers
2016-06-08Revert "erts: Change ETS hash load factor"Sverker Eriksson
This reverts commit 7c133fb1094ad1cabbb5cfc157483a43c816c6a9.
2016-06-08Revert "erts: Remove unnecessary access of 'is_resizing'"Sverker Eriksson
This reverts commit f4bdac18cb9dd45185e911308a5ebd95ff10d7fd.
2016-06-08Replace enif_is_on_dirty_scheduler() with enif_thread_type()Rickard Green
2016-06-08No GC on dirty IO schedulersRickard Green
2016-06-08erts: Change LTTng otp domainBjörn-Egil Dahlberg
From 'com_ericsson_otp' to 'org_erlang_otp'. This domain name is more suitable.
2016-06-07erts: Let clang have suppressable unused variablesBjörn-Egil Dahlberg
2016-06-07erts: Remove tautological compare warningBjörn-Egil Dahlberg
2016-06-02Fix erts_dirty_process_main()Rickard Green
2016-06-01Merge branch 'sverker/ets-load-factor/OTP-13642'Sverker Eriksson
2016-06-01erts: Avoid literals in process independent ErlNifEnvSverker Eriksson
that would go undetected and cause havoc if module is purged.
2016-06-01erts: Remove unnecessary access of 'is_resizing'Sverker Eriksson
in tables without write_concurrency and remove it totally #ifndef ERTS_SMP
2016-06-01erts: Change ETS hash load factorSverker Eriksson
from 700% to 200%
2016-05-31Update process state flags in etp-commandsRickard Green
2016-05-31Merge branch 'sverker/gc_rare_map_overflow'Sverker Eriksson
2016-05-31Fix bad assertionRickard Green
2016-05-31Properly close message factories in erts_factory_trim_and_close()Rickard Green
2016-05-31Merge branch 'rickard/off_heap-nonsmp-fix/OTP-13366'Rickard Green
* rickard/off_heap-nonsmp-fix/OTP-13366: Do not send on_heap msgs to error logger in non-smp emulator
2016-05-31Merge branch 'rickard/mv-dirty-reds-count/OTP-13123'Rickard Green
* rickard/mv-dirty-reds-count/OTP-13123: Move dirty reduction count to erts_dirty_process_main()
2016-05-31Merge branch 'vinoski/dirty_process_main/OTP-13123'Rickard Green
* vinoski/dirty_process_main/OTP-13123: Add dirty_process_main function
2016-05-31Move dirty reduction count to erts_dirty_process_main()Rickard Green
2016-05-31Add dirty_process_main functionSteve Vinoski
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.
2016-05-31Do not send on_heap msgs to error logger in non-smp emulatorRickard Green
2016-05-31Merge branch 'sverker/bad-hash'Sverker Eriksson
2016-05-30erts: Clean up some goto spaghettiSverker Eriksson
and replace with a nice else-if chain.
2016-05-30erts: Fix ASSERT provoked by map_SUITE:t_rare_map_overflowSverker Eriksson
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.
2016-05-27Merge branch 'richcarl/erts/fix-init-stop/PR-911/OTP-13630/OTP-13631'Sverker Eriksson
2016-05-27Merge branch 'rickard/on_heap-fix/OTP-13366'Rickard Green
* rickard/on_heap-fix/OTP-13366: Improve message allocation in enif_send() Fix message queue update on replacement and removal of message
2016-05-27Merge branch 'rickard/rm-mqd-mixed/OTP-13366'Rickard Green
* rickard/rm-mqd-mixed/OTP-13366: Remove the 'message_queue_data' option 'mixed'
2016-05-27erts: Split large binaries into multiple iovecLukas Larsson
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.
2016-05-27Merge branch 'lukas/erts/tracing/tracer-move-extra-to-map/OTP-10267'Lukas Larsson
* 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