aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
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-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 gc messages in tracer_SUITEBjörn-Egil Dahlberg
2016-04-29erts: Fix gc messages in sensitive_SUITEBjörn-Egil Dahlberg
2016-04-29erts: Fix gc messages in trace_port_SUITEBjörn-Egil Dahlberg
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-29Merge branch 'mikpe/fp-exceptions-cleanups/PR-1019/OTP-13531'Lukas Larsson
* mikpe/fp-exceptions-cleanups/PR-1019/OTP-13531: clean up FP exception code in sys_float.c
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 'mikpe/fp-exceptions-neuter-matherr/PR-1018/OTP-13531'Lukas Larsson
* mikpe/fp-exceptions-neuter-matherr/PR-1018/OTP-13531: matherr() must not fake an FP exception
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-27erts: Add tests for maps:take/2Björn-Egil Dahlberg
2016-04-26erts: Add test for new procs trace with spawn_linkLukas Larsson
2016-04-26erts: Add tests for set on link tracingLukas Larsson
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 erl_tracer with invalid stateLukas Larsson
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-26matherr() must not fake an FP exceptionMikael Pettersson
When FP exceptions are used, matherr() forces a fake FP exception, which is interpreted as an error by the checking code after a math routine call. This is wrong for several reasons: - it's not necessary for error checking: when FP exceptions aren't used, matherr() is a stub and no information is derived from it being called - it's not necessary for FPU maintenance: the FPU only needs to be reprogrammed after an actual FP exception - it causes false negatives: matherr() may be called even though Erlang doesn't consider the case to be an error (exp() and pow() underflows on Solaris for instance); with FP exceptions enabled they are incorrectly considered errors The fix is to remove all FP exception related code from matherr().
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-17clean up FP exception code in sys_float.cMikael Pettersson
This performs a number of cleanups in the FP exception code: - inline the body of unmask_fpe_conditional() in its only caller, then delete the duplicated and identical definitions of it - start the big processor-specific block with a comment describing the two functions that must be defined, then delete redundant comments at all the mask_*() functions - add a comment before fpe_sig_action() explaining exactly what processor-specific action is required of it - flatten #ifdef nesting in fpe_sig_action() - move common code in the x86 unmask_fpe() and erts_restore_fpu() function into a subroutine - minor tweaks: drop a redundant L suffix on a 0, add a comment after an #else, bump the size of a debug buffer, There should be no change in behaviour from these changes.
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: Make ErtsMemMapper able to map memory with PROT_EXECSverker Eriksson
to prepare for hipe native code allocation.
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.