aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2019-01-21Optimize the is_function/2 guard testBjörn Gustavsson
The is_function2 instruction is executed surprisingly frequently when running dialyzer or the compiler. It cannot hurt to optimize it a little.
2019-01-21erts: Fix getting of poll events on linux >= 4.15.0Lukas Larsson
2019-01-18erts: Use reduction based polling for starved poll-setLukas Larsson
When the schedulers never go to sleep (and thus never polls) it may be that the fds in schedulers poll-sets are never polled. Before this commit, this was solved by starting a timer when an overload was detected. This had issues as overloads were not always detected in time. So this commit reverts to the pre OTP-21 behaviour so keep a global counter makes that the poll is called when it should.
2019-01-18erts: Fix too early close of spawn driver fdLukas Larsson
2019-01-18Merge branch 'bjorn/erts/fix-pt-dumping'Björn Gustavsson
* bjorn/erts/fix-pt-dumping: Fix incorrect dumping of some persistent terms
2019-01-18Merge pull request #2055 from ↵Lukas Larsson
josevalim/jv-no-bin-alloc-on-empty-append/OTP-15535 Do not allocate new bitstring/binary on empty append
2019-01-17Fix incorrect dumping of some persistent termsBjörn Gustavsson
There seems to be an incorrect merge conflict resolution in abde22933f5a that merged maint to master. Dumping of references (and possibly other terms) were broken.
2019-01-16Merge branch 'maint'Rickard Green
* maint: Fix bug causing dirty scheduler sleeper list inconsistency
2019-01-16Merge branch 'rickard/dirty_scheduler_collapse/maint-21/OTP-15509' into maintRickard Green
* rickard/dirty_scheduler_collapse/maint-21/OTP-15509: Fix bug causing dirty scheduler sleeper list inconsistency
2019-01-15Merge branch 'rickard/dirty_scheduler_collapse/maint-21/OTP-15509' into maint-21Erlang/OTP
* rickard/dirty_scheduler_collapse/maint-21/OTP-15509: Fix bug causing dirty scheduler sleeper list inconsistency
2019-01-15Merge branch 'maint'Lukas Larsson
2019-01-15Merge branch 'lukas/erts/spawn_opt_max_heap_tc_fix' into maintLukas Larsson
* lukas/erts/spawn_opt_max_heap_tc_fix: erts: Fix process_SUITE:max_heap tests
2019-01-15Merge branch 'maint'Lukas Larsson
2019-01-15erts: Remove dead gdb functions from codeLukas Larsson
2019-01-15erts: Make sure to take main lock when dumping proc infoLukas Larsson
If the main lock is not taken then any process running on a dirty scheduler may cause all kinds of problems.
2019-01-15Merge branch 'maint'Lukas Larsson
Conflicts: erts/emulator/beam/bif.c erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam erts/preloaded/ebin/prim_file.beam
2019-01-15Merge branch 'lukas/erts/set_logger_process/OTP-15375' into maintLukas Larsson
* lukas/erts/set_logger_process/OTP-15375: Update preloaded modules erts: Add erlang:system_flag(system_logger,_)
2019-01-11Merge branch 'rickard/dirty_scheduler_collapse/OTP-15509' into ↵Rickard Green
rickard/dirty_scheduler_collapse/maint-21/OTP-15509 * rickard/dirty_scheduler_collapse/OTP-15509: Fix bug causing dirty scheduler sleeper list inconsistency
2019-01-11Fix bug causing dirty scheduler sleeper list inconsistencyRickard Green
2019-01-10erts: Add erlang:system_flag(system_logger,_)Lukas Larsson
This flag allows logger and other components to set the process which log messages from ERTS are to be sent.
2019-01-10Merge branch 'maint'John Högberg
* maint: Fix passing large integers as base to integer_to_X/2
2019-01-10Fix passing large integers as base to integer_to_X/2John Högberg
I noticed this seconds after merging... :(
2019-01-10Merge branch 'maint'John Högberg
* maint: Implement integer_to_list/2 and integer_to_binary/2 as CIFs Accept base in all integer-printing functions Document cleanup semantics for atomics and counters
2019-01-10Implement integer_to_list/2 and integer_to_binary/2 as CIFsStanislav Mayorov
This makes them roughly as fast as integer_to_list/1 and integer_to_binary/1.
2019-01-10Accept base in all integer-printing functionsStanislav Mayorov
2019-01-09Move back gc before 'src_bytes' is readSverker Eriksson
otherwise gc may move the binary data and make 'src_bytes' invalid.
2019-01-09Do not allocate new bitstring/binary on empty appendJosé Valim
2019-01-09Merge branch 'maint'John Högberg
* maint: Remove an unused variable Spawn prim_file helper as a system process
2019-01-09Merge branch 'john/erts/prim_file-init-restart/OTP-15495/ERL-821' into maintJohn Högberg
* john/erts/prim_file-init-restart/OTP-15495/ERL-821: Remove an unused variable Spawn prim_file helper as a system process
2019-01-08Remove an unused variableJohn Högberg
2019-01-07Merge PR-2084 from sverker/erts/enif_select-custom-msg OTP-15349Sverker Eriksson
Custom message format for enif_select
2019-01-07erts: Fix process_SUITE:max_heap testsLukas Larsson
Make sure to flush all queued emulator logger messages before starting the test. The trap_exit_badarg could sometimes leave messages and since the handler and messages now are handled in different processes this becomes a problem.
2019-01-07Merge branch 'maint'Lukas Larsson
2019-01-07erts: Add enif_select_read|write with 'msg_env' argumentSverker Eriksson
2019-01-07Merge pull request #2059 from michalmuskala/mm/bif-microopsBjörn Gustavsson
Use microops for BIFs
2019-01-07erts: Fix pollset test casesLukas Larsson
2019-01-07Spawn prim_file helper as a system processJohn Högberg
2018-12-21erts: Fix persistent_term testcasesLukas Larsson
2018-12-21Merge branch 'maint'Lukas Larsson
2018-12-21Merge branch 'lukas/erts/inet_pktopts_old_linux/OTP-15494' into maintLukas Larsson
* lukas/erts/inet_pktopts_old_linux/OTP-15494: erts: Fix inet pktopts on very old linux kernels
2018-12-20erts: Add ERL_NIF_SELECT_CUSTOM_MSGSverker Eriksson
2018-12-20Merge branch 'sverker/big-band-bug/ERL-804/OTP-15487' into maint-21Erlang/OTP
* sverker/big-band-bug/ERL-804/OTP-15487: erts: Fix bug in 'band' of two negative numbers, one big
2018-12-20Merge branch 'sverker/fix-atomics-get-large-unsigned/PR-2061/OTP-15486' into ↵Erlang/OTP
maint-21 * sverker/fix-atomics-get-large-unsigned/PR-2061/OTP-15486: erts: Fix possible heap corruption getting atomics
2018-12-20Merge branch 'maint'Lukas Larsson
Conflicts: erts/preloaded/ebin/atomics.beam erts/preloaded/ebin/counters.beam erts/preloaded/ebin/erl_prim_loader.beam erts/preloaded/ebin/erl_tracer.beam erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_code_purger.beam erts/preloaded/ebin/erts_dirty_process_signal_handler.beam erts/preloaded/ebin/erts_internal.beam erts/preloaded/ebin/erts_literal_area_collector.beam erts/preloaded/ebin/init.beam erts/preloaded/ebin/otp_ring0.beam erts/preloaded/ebin/persistent_term.beam erts/preloaded/ebin/prim_buffer.beam erts/preloaded/ebin/prim_eval.beam erts/preloaded/ebin/prim_file.beam erts/preloaded/ebin/prim_inet.beam erts/preloaded/ebin/prim_zip.beam erts/preloaded/ebin/zlib.beam
2018-12-20Merge branch 'lukas/erts/fix-seq_trace-reset_trace/OTP-15490' into maintLukas Larsson
* lukas/erts/fix-seq_trace-reset_trace/OTP-15490: erts: Fix seq_trace:reset_trace dirty gc bug erts: Use sys_memcpy in copy_one_frag
2018-12-18Merge branch 'maint'Sverker Eriksson
2018-12-18Merge branch 'sverker/big-band-bug/ERL-804/OTP-15487' into maintSverker Eriksson
* sverker/big-band-bug/ERL-804/OTP-15487: erts: Fix bug in 'band' of two negative numbers, one big
2018-12-18Merge branch 'sverker/fix-atomics-get-large-unsigned/PR-2061/OTP-15486' into ↵Sverker Eriksson
maint * sverker/fix-atomics-get-large-unsigned/PR-2061/OTP-15486: erts: Fix possible heap corruption getting atomics
2018-12-18Merge branch 'sverker/erts/prim_file-perm-own-bigendian/OTP-15485' into maintSverker Eriksson
* sverker/erts/prim_file-perm-own-bigendian/OTP-15485: erts: Fix warning and potential big-endian-bug in prim_file
2018-12-18Merge pull request #2053 from bjorng/bjorn/erts/trapping-length/OTP-15439Björn Gustavsson
Make length/1 yielding