aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2016-07-11Merge branch 'maint'Lukas Larsson
* maint: erts: After a call to a tracer nif, reset htop erts: Check if return_to trace is enabled for bif
2016-07-11Merge branch 'lukas/erts/tracing/bif_return_to_trace_fix/OTP-13734' into maintLukas Larsson
* lukas/erts/tracing/bif_return_to_trace_fix/OTP-13734: erts: After a call to a tracer nif, reset htop erts: Check if return_to trace is enabled for bif
2016-07-11erts: After a call to a tracer nif, reset htopLukas Larsson
This is needed in order for the heap to never contain any pointers to invalid memory. This is good for performance and debugging reasons.
2016-07-11Merge branch 'maint'Lukas Larsson
2016-07-11Merge branch 'lukas/erts/spawn_driver_relative_cd/ERL-175/OTP-13733' into maintLukas Larsson
* lukas/erts/spawn_driver_relative_cd/ERL-175/OTP-13733: erts: Add port_SUITE:cd invalid dir testcase erts: Fix spawn driver with relative cd option erts: Fix HARD_DEBUG printouts in erl_child_setup erts: Improve error printouts in erl_child_setup Conflicts: erts/emulator/test/port_SUITE.erl
2016-07-08erts: Check if return_to trace is enabled for bifLukas Larsson
We have to do an extra check if the return_to trace is enabled here as it may have been cleared by the bif after the flags where created by the call_trace.
2016-07-07Merge branch 'maint'Sverker Eriksson
2016-07-07Merge branch 'sverker/child-setup-debugging' into maintSverker Eriksson
2016-07-07Merge branch 'maint'Sverker Eriksson
2016-07-07Merge branch 'sverker/spawn-driver-env-test' into maintSverker Eriksson
2016-07-05Merge branch 'sverker/gcbif-trace-wrapper'Sverker Eriksson
2016-07-05Merge branch 'maint'Sverker Eriksson
2016-07-05Merge branch 'hipe-trap-gc/PR-1116/OTP-13724' into maintSverker Eriksson
* hipe-trap-gc/PR-1116: hipe: Fix bug in trap frame allocation wrappers hipe: Add assertion for gc in bif without wrapper
2016-07-05erts: Add port_SUITE:cd invalid dir testcaseLukas Larsson
2016-07-01erts: Fix gcbif trace wrappersSverker Eriksson
Broken on master by f0f4e72c8ec5c08993ff.
2016-07-01erts: Fix spawn driver with relative cd optionLukas Larsson
2016-07-01erts: Fix HARD_DEBUG printouts in erl_child_setupLukas Larsson
2016-07-01erts: Improve error printouts in erl_child_setupLukas Larsson
Add prints to stderr with a small description of the error so that errors will be easier to debug. Also if a protocol error is detected, erl_child_setup will abort instead of exit.
2016-06-30hipe: Fix bug in trap frame allocation wrappersMagnus Lång
The trap frame allocation wrappers occasionally call the garbage collector, even though built-in functions are not supposed to. On non-{x86,amd64} platforms, HiPE was optimising the BIF wrapper interface on the basis that BIFs do not GC. So, when hipe_reserve_beam_trap_frame called the garbage collector, the state in the PCB was stale and corruption happened. Now, these particular BIFs are reclassified as GC BIFs. Unfortunately, in order to do that we needed to introduce a gc_bif_interface_3 macro in every hipe_$ARCH_bifs.m4 file.
2016-06-30Merge branch 'maint'Hans Nilsson
Conflicts: OTP_VERSION
2016-06-30hipe: Add assertion for gc in bif without wrapperMagnus Lång
An easy source of tricky bugs is to start calling the garbage collector from a built-in function without adding that bif to hipe_bif_list.m4. With this change we, in the debug build, keep track of whether the canonical stack and heap pointers are stored in the PCB or in registers/stack, allowing us to catch this class of mistakes with an assertion.
2016-06-29Update release notesErlang/OTP
2016-06-29Update version numbersErlang/OTP
2016-06-29Fix group_leader/2Rickard Green
2016-06-29Merge branch 'bjorn/gc-bifs'Björn Gustavsson
* bjorn/gc-bifs: compiler: Eliminate num_bif_SUITE erl_internal: Eliminate duplication of guard tests beam_debug: Improve the disassembly of gc_bif instructions Simplify creation of new GC BIFs make_tables: Remove broken automatic BIF aliasing
2016-06-29Merge branch 'bjorn/erts/use-const'Björn Gustavsson
* bjorn/erts/use-const: beam_makeops: Save some memory by making loader tables 'const' beam_makeops: Separate static information from counters make_preload: Save some memory by making preloaded code 'const'
2016-06-28erts: Save abort reason for erl_child_setupSverker Eriksson
Nice to have for core dump inspection when stderr -> /dev/null.
2016-06-22erts: Fix etp-carrier-blocks for non smpSverker Eriksson
2016-06-22beam_debug: Improve the disassembly of gc_bif instructionsBjörn Gustavsson
Using the translation table in erts_gc_bifs[], we can now print out the name of GC BIFs, instead of just the pointer value.
2016-06-22Simplify creation of new GC BIFsBjörn Gustavsson
Add the BIF type "gcbif" in bif.tab for defining GC BIFs. That will eliminate some of the hand-written administrative code for handling GC BIFs, saving the developer's time.
2016-06-22beam_makeops: Save some memory by making loader tables 'const'Björn Gustavsson
Before: $ size bin/x86_64-unknown-linux-gnu/beam.smp text data bss dec hex filename 3080982 188369 158472 3427823 344def bin/x86_64-unknown-linux-gnu/beam.smp After: $ size bin/x86_64-unknown-linux-gnu/beam.smp text data bss dec hex filename 3164694 104657 158472 3427823 344def bin/x86_64-unknown-linux-gnu/beam.smp
2016-06-22beam_makeops: Separate static information from countersBjörn Gustavsson
The counters are only used in the special 'icount' emulator. We will save some memory by including the counters in the OpEntry. It will also make it possible to make opc 'const'.
2016-06-22make_tables: Remove broken automatic BIF aliasingBjörn Gustavsson
The make_tables script still contains a broken implementation of a mechanism to automatically give a BIF an additional (for example, was used for erlang:'++'/2 and erlang:append/2). When that featured broke, it was worked around by adding additional entries to bif.tab. There is therefore no reason to mend the feature.
2016-06-21erts: Add test port_SUITE:pipe_limit_envSverker Eriksson
for 9f779819f6bda734c595.
2016-06-21Prepare releaseErlang/OTP
2016-06-20erts: Optimize spawn driver for large(r) environmentsSverker Eriksson
that need to be enqueued.
2016-06-20erts: Fix spawn driver when env size is above pipe capacitySverker Eriksson
Symptom: open_port() succeeds, port program never starts but instead seem to terminate with exit_status 150 (EINVAL+128). When: If the command payload buffer (including the entire environment) for the port program is between 1 to 4 bytes above the pipe capacity, which is 65536 bytes on newer Linux, but can be as low as 4096 on older 32-bit Linux. Since: OTP-19.0-rc1.
2016-06-20Update preloaded modulesHenrik Nord
2016-06-17Merge branch 'zandra/update-dist-doc'Zandra Hird
* zandra/update-dist-doc: Remove unused Cookie from ControlMessage in the dist protocol doc
2016-06-17Merge branch 'rickard/ds-job-type-doc'Rickard Green
* rickard/ds-job-type-doc: Minor reorganization of dirty NIF documentation
2016-06-17Minor reorganization of dirty NIF documentationRickard Green
2016-06-17Remove unused Cookie from ControlMessage in the dist protocol docZandra Hird
The Cookie was removed a long time ago, but the documentation was not updated accordingly.
2016-06-17Merge branch 'raimo/uds-support/OTP-13643'Raimo Niskanen
* raimo/uds-support/OTP-13643: Update test cases after daily builds Return eafnosupport when not supported Add AF_LOCAL test cases Handle 'undefined' in fdopen
2016-06-17make_preload: Save some memory by making preloaded code 'const'Björn Gustavsson
Mark the preloaded code 'const' to allow the compiler to put it into the 'text' segment instead of into the 'data' segment. Since the 'text' segment is shared among all instances of the Erlang virtual machine, this change could potentially reduce memory consumption (slightly). Before the change: $ size bin/x86_64-unknown-linux-gnu/beam.smp text data bss dec hex filename 2920246 352273 158472 3430991 345a4f bin/x86_64-unknown-linux-gnu/beam.smp After the change: $ size bin/x86_64-unknown-linux-gnu/beam.smp text data bss dec hex filename 3081046 191473 158472 3430991 345a4f bin/x86_64-unknown-linux-gnu/beam.smp Roughly speaking, this change cuts the size of the data segment in half.
2016-06-16Add documentation about dirty job typeRickard Green
2016-06-16Merge branch 'rickard/mach-clock-fix/OTP-13686'Rickard Green
* rickard/mach-clock-fix/OTP-13686: Fix mach clock usage on Sierra
2016-06-16Return eafnosupport when not supportedRaimo Niskanen
2016-06-16Merge branch 'lukas/erts/nif_allow_port_command_in_non_sched_thread/OTP-13442'Lukas Larsson
* lukas/erts/nif_allow_port_command_in_non_sched_thread/OTP-13442: erts: Allow enif_port_command in non-sched thread
2016-06-15Merge branch 'jj1bdx-19.0-rc2-hipemmap/PR-1094'Sverker Eriksson
2016-06-15Fix mach clock usage on SierraRickard Green