aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
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-29erts: Fix system_info({allocator_sizes, mseg_alloc})Sverker Eriksson
will now return [{instance,0,[{segments_size,9961472,9961472,11010048}]}, {instance,1,[{segments_size,6291456,6291456,6815744}]}, {instance,2,[{segments_size,524288,524288,786432}]}, {instance,3,[{segments_size,1048576,1048576,1835008}]}, {instance,4,[{segments_size,0,0,262144}]}] and not just empty lists.
2016-04-29erts: Add erts_mmap to system_info(allocator)Sverker Eriksson
to the Settings list {Allocator, Version, Features, Settings}
2016-04-29erts: Add literal_mmap and exec_mmap to system_infoSverker Eriksson
erlang:system_info(allocator) -> {Allocator, Version, Features, Settings} Features includes 'literal_mmap' and/or 'exec_mmap' if they exist.
2016-04-29erts: Move option info for erts_mmapSverker Eriksson
from {allocator,mseg_alloc} to {allocator,erts_mmap}
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-28erts: Add exact association types to the abstract format docHans Bolinder
2016-04-28Enhance map specs in erts, stdlib, runtime_toolsMagnus Lång
Using the new type syntax, we can specify which keys are required, and which are optional in a way Dialyzer could use.
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-28erts: Rename erl flag +xmqd to +hmqd in erlexecLukas Larsson
2016-04-27erts: Add tests for maps:take/2Björn-Egil Dahlberg
2016-04-27Merge branch 'egil/erts/profile-erlang-boot'Björn-Egil Dahlberg
2016-04-27Merge branch 'c-rack/fix-erl-dist-protocol-typo/OTP-13517'Rickard Green
* c-rack/fix-erl-dist-protocol-typo/OTP-13517: Fix typo in description of EPMD_DUMP_REQ response
2016-04-27Fix typo in description of EPMD_DUMP_REQ responseConstantin Rack
According to the source code, there is a space before the newline for unused nodes and no space before the newline for active ones. In current documentation, it is exactly opposite. This commit fixes the documentation to match with source code.
2016-04-26Update preloaded init.beamBjörn-Egil Dahlberg
2016-04-26erts: Add profiling of startupBjörn-Egil Dahlberg
Usage: erl -profile_boot ...
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-26erts: Fix broken doc link to erl_tracerLukas 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-22Windows: Skip tests that requires admin privilegesDan Gudmundsson
Windows 8 and later have stronger admin checks which requires erlang to run in privileged shells, ignore for now.
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-20erts: Produce statistics for literal and hipe super carriersSverker Eriksson
called 'literal_mmap' and 'exec_mmap'. Also moved existing erts_mmap info from 'mseg_alloc' to its own system_info({allocator, erts_mmap}) with "allocators" default_mmap, literal_mmap and exec_mmap.
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.