aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
AgeCommit message (Collapse)Author
2016-05-04Merge branch 'bjorn/fix-on_load/OTP-12593'Björn Gustavsson
* bjorn/fix-on_load/OTP-12593: Update documentation regarding improvements Correctly handle multiple load attempts when on_load is pending Avoid deadlock when an on_load function makes an external call to the module itself code_server: Eliminate unnecessary Tag in handle_call/3 Reimplement -on_load() Refactor erts_finish_loading() and insert_new_code() code_SUITE: Make on_load_binary/1 clearer by using merl
2016-05-04Merge branch 'rickard/fix-sched-sys-task/OTP-13047'Rickard Green
* rickard/fix-sched-sys-task/OTP-13047: Fix scheduling of system tasks
2016-05-04Merge branch 'rickard/reds-fix/master/OTP-13512'Rickard Green
* rickard/reds-fix/master/OTP-13512: Ensure correct reduction counting
2016-05-04Ensure correct reduction countingRickard Green
2016-05-04Merge branch 'lemenkov/crash_dump_while_dist_error/PR-947/OTP-13474'Henrik Nord
* lemenkov/crash_dump_while_dist_error/PR-947/OTP-13474: Add patch to crash dump on large distribution
2016-05-04Reimplement -on_load()Björn Gustavsson
Load the module as old code; swap old and new code if the -on_load function succeeds. That way, a failed update attempt for a module that has an -on_load function will preserve the previous version of the code.
2016-05-03Merge branch 'egil/erts/doc-lttng-beam-tps/OTP-10282'Björn-Egil Dahlberg
* egil/erts/doc-lttng-beam-tps/OTP-10282: erts: Rename LTTng tracepoint aio_pool_add to aio_pool_put erts: Change argument order for LTTng driver_stop runtime_tools: Document BEAM lttng tracepoints
2016-05-03Merge branch 'dotsimon/gc-info-crashdump/PR-1026/OTP-13541'Björn-Egil Dahlberg
* dotsimon/gc-info-crashdump/PR-1026/OTP-13541: Print heap pointers for garbing processes during crashdump
2016-05-03Merge branch 'margnus1/llvm-corruption-fix/PR-1038/OTP-13366'Lukas Larsson
* margnus1/llvm-corruption-fix/PR-1038/OTP-13366: erl_process: Restore R18 HiPE PCB offsets
2016-05-03Merge branch 'lukas/erts/rename_xmqd_to_hmqd/OTP-13366'Lukas Larsson
* lukas/erts/rename_xmqd_to_hmqd/OTP-13366: erts: Rename erl flag +xmqd to +hmqd in erlexec Fix proc_lib message_queue_data spec erts: Fix total_heap_size calculation for on_heap erts: Rename erl flag +xmqd to +hmqd
2016-05-03Merge branch 'lukas/erts/sensitive_yield/OTP-13540'Lukas Larsson
* lukas/erts/sensitive_yield/OTP-13540: Yield after setting sensitive for save_calls
2016-05-03Merge branch 'lukas/erts/tracing/misc_fixes/OTP-13503'Lukas Larsson
* lukas/erts/tracing/misc_fixes/OTP-13503: erts: Add test for new procs trace with spawn_link kernel: Remove seq_trace event order dep in tc erts: Add tests for set on link tracing erts: Expand trace tests for refc binaries erts: Remove erl_tracer with invalid state erts: Remove some dead code erts: Fix broken doc link to erl_tracer Conflicts: erts/emulator/beam/erl_trace.c
2016-05-02erts: Rename LTTng tracepoint aio_pool_add to aio_pool_putBjörn-Egil Dahlberg
* Be consistent.
2016-05-02erts: Change argument order for LTTng driver_stopBjörn-Egil Dahlberg
* Be consistent.
2016-05-02Refactor erts_finish_loading() and insert_new_code()Björn Gustavsson
As a preparation for fixing some issues with -on_load(), we will integrate insert_new_code() into erts_finish_loading. Also rename insert_new_code() to stub_insert_new_code() to make it clear that it will only be used when making a stub module
2016-04-29Merge branch 'egil/erts/tracing-support-lttng/OTP-13532'Björn-Egil Dahlberg
* egil/erts/tracing-support-lttng/OTP-13532: (28 commits) runtime_tools: User's guide to LTTng and dyntrace runtime_tools: Fix Dtrace build erts: Fix gc messages in tracer_SUITE erts: Fix gc messages in sensitive_SUITE erts: Fix gc messages in trace_port_SUITE tools: Update fprof tests tools: Update fprof with new gc traces runtime_tools: Update dyntrace_lttng_SUITE tests runtime_tools: Add 'return_to' for call tracing erts: Fix return_to trace callback erts: Update erl_tracer documentation erts: Fix erl_tracer documentation typos Update preloaded erl_tracer.beam erts: Update erl_tracer type specs runtime_tools: Add lttng dyntrace tests runtime_tools: Extend 'trace' and 'enabled' tracer callbacks erts: Extend 'enabled' and 'trace' tracer callbacks runtime_tools: Extend 'enabled' tracer callbacks erts: Extend 'enabled' tracer callbacks runtime_tools: Update lttng garbage collection trace ...
2016-04-29erts: Fix return_to trace callbackBjörn-Egil Dahlberg
2016-04-29erts: Extend 'enabled' and 'trace' tracer callbacksBjörn-Egil Dahlberg
Adds the following capabilities to a tracer backend * enabled_running_procs/3 changed from enabled_running/3 * enabled_running_ports/3 * trace_running_procs/6 changed from trace_running/6 * trace_running_ports/6
2016-04-29erts: Extend 'enabled' tracer callbacksBjörn-Egil Dahlberg
Adds the following capabilities to a tracer backend * enabled_procs/3 * enabled_ports/3 * enabled_running/3 * enabled_call/3 * enabled_send/3 * enabled_receive/3 * enabled_garbage_collection/3 These functions will fall back to enabled/3 if not provided and the tracepoint is active.
2016-04-29erts: Extend garbage collection traceBjörn-Egil Dahlberg
Replace 'gc_start' and 'gc_end' with * 'gc_minor_start' * 'gc_minor_end' * 'gc_major_start' * 'gc_major_end'
2016-04-29runtime_tools: Add lttng 'call' tracingBjörn-Egil Dahlberg
2016-04-29runtime_tools: Add lttng 'procs' tracingBjörn-Egil Dahlberg
2016-04-29erl_process: Restore R18 HiPE PCB offsetsMagnus Lång
It was recently observed that the LLVM backend for HiPE was broken, generating code that crashes the VM. It turns out that this was caused by LLVM hard-coding an offset into the Erlang PCB, which became incorrect as of commit 3ac08f9b, that introduced a new member into the PCB before the HiPE-specific state, changing its offsets. For now, until a proper fix is implemented, we move this new member to after the HiPE-specific state, allowing the LLVM backend to work once more.
2016-04-29Merge branch 'sverk/big-external-creations.OTP-13488'Sverker Eriksson
second merge of this branch with some bug fixing
2016-04-28Merge branch 'egil/maps-api-additions/PR-1025/OTP-13522'Björn-Egil Dahlberg
* egil/maps-api-additions/PR-1025/OTP-13522: stdlib: Document maps:update_with/3,4 stdlib: Add tests for maps:update_with/3,4 stdlib: Add maps:update_with/3,4 erts: Add tests for maps:take/2 stdlib: Document maps:take/2 erts: Add BIF maps:take/2
2016-04-26erts: Expand trace tests for refc binariesLukas Larsson
Make sure to cover all of the refc binary cases in tracing
2016-04-26erts: Remove some dead codeLukas Larsson
2016-04-26Yield after setting sensitive for save_callsLukas Larsson
2016-04-26erts: Fix total_heap_size calculation for on_heapLukas Larsson
2016-04-26erts: Rename erl flag +xmqd to +hmqdLukas Larsson
Flags that control the heap should all fall under the +h flag
2016-04-26Merge branch 'lukas/erts/non-smp-debug-fixes/OTP-13047'Lukas Larsson
* lukas/erts/non-smp-debug-fixes/OTP-13047: erts: Fix incorrect non-smp debug assert erts: std_alloc is not thread safe on non-smp Conflicts: erts/emulator/beam/erl_alloc_util.c
2016-04-25Print heap pointers for garbing processes during crashdumpSimon Cornish
In an SMP emulator, print_garb_info doesn't do anything because the heap pointers could be invalid. However, when crashdumping there are no schedulers running so it's ok to print this additional information which could be useful when examining a core file.
2016-04-22erts: Add BIF maps:take/2Björn-Egil Dahlberg
2016-04-22Merge branch 'egil/fix-lock-order-trace-status'Björn-Egil Dahlberg
* egil/fix-lock-order-trace-status: erts: Fix lock-order trace status
2016-04-22Merge branch 'egil/erts/fix-copy-share-heap'Björn-Egil Dahlberg
* egil/erts/fix-copy-share-heap: erts: Fix comments erts: Fix copy share with onheap messages
2016-04-22erts: Fix commentsBjörn-Egil Dahlberg
2016-04-21erts: Fix copy share with onheap messagesBjörn-Egil Dahlberg
2016-04-21erts: Fix lock-order trace statusBjörn-Egil Dahlberg
2016-04-20Merge branch 'sverker/hipe-code-alloc'Sverker Eriksson
2016-04-20erts: Make sure literal MBCs have super aligned sizesSverker Eriksson
on 32-bit, as the granularity of the literal bit vector is super-alignment.
2016-04-19runtime_tools: Initial lttng tracing frameworkBjörn-Egil Dahlberg
2016-04-19Merge branch 'lukas/erts/tracing/fix-spawned-lc-error/OTP-10267'Björn-Egil Dahlberg
* lukas/erts/tracing/fix-spawned-lc-error/OTP-10267: erts: Fix lock order bug when only child is procs traced
2016-04-18erts: Fix lock order bug when only child is procs tracedLukas Larsson
2016-04-18Merge branch 'bjorn/compiler/misc-opt'Björn Gustavsson
* bjorn/compiler/misc-opt: v3_kernel: Construct literal lists properly Use the register map in %live in beam_utils:is_killed_block/2 Teach beam_utils to check liveness for put_map instructions beam_peep: Help out beam_jump
2016-04-18Merge branch 'bjorn/erts/beam_load'Björn Gustavsson
* bjorn/erts/beam_load: Optimize get_tuple_element instructions that target Y registers Mend beam_SUITE:packed_registers/1 Correct unpacking of 3 operands on 32-bit archictectures Eliminate misleading #ifdef ARCH_64 in beam_opcodes.h beam_debug: Correct masking when unpacking packed operands
2016-04-15erts: Add 'exec_alloc' for hipe codeSverker Eriksson
that uses its own super carrier (erts_exec_mmapper) to guarantee low addressed and executable memory (PROT_EXEC). Currently only used on x86_64 that needs low memory for HiPE/AMD64's small code model. By initializing erts_exec_mapper early we secure its low memory area before erts_literal_mmapper might steal it.
2016-04-15erts: Refactor callbacks for literal mseg allocSverker Eriksson
Make the callbacks more general to be usable for any allocator that that uses its own ErtsMemMapper.
2016-04-15erts: Tweak defaults for literal allocatorSverker Eriksson
Reduce main carrier size and number of free descriptors.
2016-04-15erts: Don't trace on link events when port is deadLukas Larsson
2016-04-15erts: Make trace_delivered go via sys msg dispatcher againLukas Larsson
This is needed as otherwise messages from system_profile will not be guaranteed to arrive before trace delivered.