aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2016-05-04erts: Add Sender in 'receive' trace matchspecSverker Eriksson
All 'EXIT' and monitor messages are sent from 'system' Timeouts are "sent" from 'clock_service'
2016-05-04erts: Add matchspec restrictions for 'receive' traceSverker Eriksson
and non-call-trace. This is the easy way out to avoid difficult locking scenarios when accessing tracing flags on another process.
2016-05-04erts: Add matchspec to 'receive' traceSverker Eriksson
2016-05-04erts: Remove multi scheduler blocking in match specsSverker Eriksson
for enable_trace and disable_trace operations. Instead seize needed locks while updating trace flags.
2016-05-04erts: Add match spec for send traceSverker Eriksson
2016-05-04erts: Rename constants in enum erts_break_opSverker Eriksson
with uppercase for constants and why not call them 'RESTART' and 'PAUSE' as the API.
2016-05-04erts: Rename struct typeSverker Eriksson
as is trips up my editor symbol tagging.
2016-05-04erts: Beautify some code with container_of macroSverker Eriksson
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-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-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-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.
2016-04-15erts: Don't trace on link events when port is deadLukas Larsson
2016-04-15erts: more logging in trace_bif_SUITE trace_bif_returnLukas 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.
2016-04-15erts: Add comment about future trace optimizationsLukas Larsson
2016-04-15erts: Optimize tracer reload testLukas Larsson
Without off_heap message queue the GC of the tracer could take very long and thus delay the code:purge which would in turn allow the trace generator to generate a lot of more messages which would make the tracer GC for even longer etc etc. The time taken for the testcase could go up to as large as 10 seconds and use lots of memory.
2016-04-15erts: Deallocate heap fragments from trace nif callsLukas Larsson
Any heap fragment created during a nif call to a tracer nif should be free'd immediately in order for the GC not to treat it as live data.
2016-04-15erts: Add 'spawned' trace event to 'procs' trace flagLukas Larsson
OTP-13497 This trace event is triggered when a process is created from the process that is created.