summaryrefslogtreecommitdiff
path: root/erts
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'maint'Sverker Eriksson2019-09-191-2/+7
|\
| * Merge branch 'sverker/cerl-solaris-fix' into maintSverker Eriksson2019-09-191-2/+7
| |\
| | * Fix cerl script for SunOSSverker Eriksson2019-09-121-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | syntax error at line 318: `taskset1=$' unexpected A real Bourne Shell does not parse arithmetic (( syntax. And expr command does not support << bit shift.
* | | Merge branch 'john/erts/hide-cif-trapping'John Högberg2019-09-1929-153/+119
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * john/erts/hide-cif-trapping: erts: Use global trap entries for lists erts: Rename bif_table_index to bif_number erts: Use hidden exports for BIF trapping
| * | | erts: Use global trap entries for listsJohn Högberg2019-09-173-53/+10
| | | | | | | | | | | | | | | | | | | | The local ones are redundant now that the global ones can't be traced anymore.
| * | | erts: Rename bif_table_index to bif_numberJohn Högberg2019-09-177-25/+24
| | | |
| * | | erts: Use hidden exports for BIF trappingJohn Högberg2019-09-1724-81/+91
| | | | | | | | | | | | | | | | | | | | This hides traps when BIFs are traced, making them appear as a single call + return pair.
* | | | Merge branch 'maint'John Högberg2019-09-191-3/+39
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | * maint: file_SUITE: Only test allocate/3 size updates on known ok platforms Fix efile_allocate on Mac
| * | | Merge remote-tracking branch 'indocomsoft/patch-1' into john/merge-pr-2386John Högberg2019-09-191-3/+39
| |\ \ \
| | * | | Fix efile_allocate on MacJulius Putra Tanu Setiaji2019-09-131-3/+39
| | | | |
* | | | | Merge pull request #2388 from lrascao/bugfix/missing_dtrace_function_returnsJohn Högberg2019-09-193-8/+9
|\ \ \ \ \ | | | | | | | | | | | | Add missing dtrace return invocations
| * | | | | Improve dynamic tracing of function calls documentationLuis Rascao2019-09-171-3/+3
| | | | | |
| * | | | | Add missing dtrace return invocationsLuis Rascao2019-09-172-5/+6
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some return paths were not going through dtrace hooks so no function-return probes were being triggered on dtrace/systemtap. The return probe will now inform the user of which function it returns *from* as opposed the previous behaviour of informing where it returns *to*.
* | | | | Merge branch 'maint'John Högberg2019-09-181-11/+16
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | * maint: erts: Fail tests when disable_lock_counting() fails
| * | | | Merge branch 'john/erts/dont-skip-lcnt-suite' into maintJohn Högberg2019-09-181-11/+16
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * john/erts/dont-skip-lcnt-suite: erts: Fail tests when disable_lock_counting() fails
| | * | | | erts: Fail tests when disable_lock_counting() failsJohn Högberg2019-09-171-11/+16
| | | |_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | Failing in init_per_testcase hid the errors since failed inits are auto-skipped, so we'll move the checks into the tests proper instead.
* | | | | Merge branch 'maint'Henrik Nord2019-09-173-20/+344
|\ \ \ \ \ | |/ / / / | | | / / | |_|/ / |/| | | | | | | | | | | | | | | | | | | * maint: Updated OTP version Prepare release # Conflicts: # OTP_VERSION
| * | | Prepare releaseErlang/OTP2019-09-173-19/+344
| |/ /
* | | Merge pull request #2381 from jhogberg/john/erts/refactor-cif-tracing/OTP-14734John Högberg2019-09-1742-1491/+1360
|\ \ \ | | | | | | | | Refactor BIF tracing
| * | | erts: Share printable_return_address with erl_bif_infoJohn Högberg2019-09-164-37/+9
| | | |
| * | | erts: Let call_bif/call_nif take arguments instead of hardcoding themJohn Högberg2019-09-168-23/+26
| | | |
| * | | erts: Use local trap exports for list functionsJohn Högberg2019-09-164-15/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This prevents trapping from showing up in tracing, fixing certain tests that assume the old and erroneous trace behavior for BIFs. Note that this does not fix bogus arguments showing up on exceptions as many of these functions still pass the remainder of of the list to themselves when trapping.
| * | | erts: Rename apply_bif to call_bif, matching NIFsJohn Högberg2019-09-167-13/+13
| | | |
| * | | erts: Rename NifExport to ErtsNativeFuncJohn Högberg2019-09-1611-135/+138
| | | | | | | | | | | | | | | | | | | | All it does is wrap a native function for scheduling, and it no longer has anything to do with exports.
| * | | erts: Crash if a module doesn't have stubs for all its BIFsJohn Högberg2019-09-161-0/+22
| | | |
| * | | erts: Refactor BIF tracingJohn Högberg2019-09-1627-1078/+731
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces our current BIF-specific tracing functionality with the general function/export tracing used for everything else, fixing a few longstanding issues: * BIFs that trapped to themselves, for example lists:reverse/2, would generate a call trace message for each trap but only a single return trace message. * BIFs that trapped elsewhere, like erlang:delete_module/1, would lose their return trace messages altogether. * Return/exception trace messages on tail calls would point at the function "above" the caller. * Call count tracing simply didn't work.
| * | | erts: Replace ad-hoc export->beam[] wrangling with unionsJohn Högberg2019-09-1611-143/+227
| | | |
| * | | erts: Add operator stubs to erlang.erlJohn Högberg2019-09-112-0/+116
| | | |
| * | | erts: Fix undefined behavior in $DISPATCHX()John Högberg2019-09-116-167/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some call instructions kept the export entry outside of Arg(0) for better argument packing, so the $DISPATCHX() macro faked a new instruction pointer starting at "one behind" the given argument. Some of these saved the argument on the C stack and passed that onwards to this macro, which could provoke undefined behavior if we were to jump out of the block, for example if we needed to save_calls. This commit fixes the issue by letting the macro take an argument directly, and removing the jump on save_calls. I've also taken the opportunity to move all dispatch-related macros to macros.tab as it's a pinch cleaner to gather everything there.
| * | | beam_makeops: Instructions marked -no_next must not fall throughJohn Högberg2019-09-091-2/+4
| | | |
* | | | Merge branch 'maint'Sverker Eriksson2019-09-122-2/+11
|\ \ \ \ | | |/ / | |/| |
| * | | Merge branch 'sverker/proc-exit-dist-suspend-fix/OTP-16060' into maintSverker Eriksson2019-09-122-2/+11
| |\ \ \ | | | | | | | | | | | | | | | | | | | | * sverker/proc-exit-dist-suspend-fix: erts: Fix exiting suspended process not yielding
| | * | | erts: Fix exiting suspended process not yieldingSverker Eriksson2019-09-092-2/+11
| | | | |
* | | | | Merge branch 'maint'Sverker Eriksson2019-09-121-0/+6
|\ \ \ \ \ | |/ / / /
| * | | | Merge branch 'sverker/cuddle-test' into maintSverker Eriksson2019-09-121-0/+6
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * sverker/cuddle-test: Fix offheap check of emptied ets hash table
| | * | | | Fix offheap check of emptied ets hash tableSverker Eriksson2019-09-101-0/+6
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by erts_debug:get_internal_state(node_and_dist_references). Table may be completely empty or trapping during segments deletion. Only inspect the buckets that actually exists (tb->nslots).
* | | | | Merge branch 'maint'Lukas Larsson2019-09-121-2/+2
|\ \ \ \ \ | |/ / / /
| * | | | Merge branch 'kvakvs/erts/binary_to_term_int_overflow/OTP-16058' into maintLukas Larsson2019-09-121-2/+2
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * kvakvs/erts/binary_to_term_int_overflow/OTP-16058: Fix integer overflow in size calculation in binary_to_term for output larger than 2 billion words
| | * | | | Fix integer overflow in size calculation in binary_to_term for output larger ↵Dmytro Lytovchenko2019-09-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | than 2 billion words
* | | | | | Merge branch 'maint'Ingela Anderton Andin2019-09-121-0/+36
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | * maint: Updated OTP version Prepare release
| * | | | | Merge branch 'maint-21' into maintIngela Anderton Andin2019-09-121-0/+36
| |\ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint-21: Updated OTP version Prepare release # Conflicts: # OTP_VERSION # erts/doc/src/notes.xml # erts/vsn.mk # lib/inets/doc/src/notes.xml # lib/inets/vsn.mk # lib/kernel/doc/src/notes.xml # lib/kernel/vsn.mk # lib/ssh/doc/src/notes.xml # lib/ssh/vsn.mk # lib/syntax_tools/doc/src/notes.xml # lib/syntax_tools/vsn.mk # make/otp_version_tickets # otp_versions.table
| | * | | | Prepare releaseErlang/OTP2019-09-112-1/+37
| | | | | |
| | * | | | Merge branch 'sverker/erts/persistent_term-kill-updater-bug/OTP-16041' into ↵Erlang/OTP2019-09-111-0/+2
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | maint-21 * sverker/erts/persistent_term-kill-updater-bug/OTP-16041: erts: Fix persistent_term bug when process killed during update
| | * \ \ \ \ Merge branch 'john/erts/process_info-binary-heap-fragments/OTP-15978' into ↵Erlang/OTP2019-09-111-6/+20
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | maint-21 * john/erts/process_info-binary-heap-fragments/OTP-15978: erts: Scan heap fragments for off-heap binaries
| | * \ \ \ \ \ Merge branch 'john/erts/fix-instrument-allocations-race/OTP-15983' into maint-21Erlang/OTP2019-09-111-27/+42
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * john/erts/fix-instrument-allocations-race/OTP-15983: erts: Fix crash in instrument:allocations/0-1
| | * \ \ \ \ \ \ Merge branch 'rickard/node-refc-tests-21' into maint-21Erlang/OTP2019-09-117-33/+275
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rickard/node-refc-tests-21: Node container refc test for persistent terms Include persistent term storage in node/dist refc check Fix node refc test for system message queue
| | * \ \ \ \ \ \ \ Merge branch 'rickard/test-fixes-21' into maint-21Erlang/OTP2019-07-113-16/+54
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rickard/test-fixes-21: Fix unstable test dump_SUITE:signal_abort Fix unstable node_container_SUITE:magic_ref test Fix unstable node_container_SUITE:node_controller_refc test Fix unstable tests process_SUITE:no_priority_inversion{,2}
* | | \ \ \ \ \ \ \ \ Merge branch 'maint'Lukas Larsson2019-09-111-70/+98
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / /
| * | | | | | | | | | Merge branch 'lukas/erts/lttng-fixes' into maintLukas Larsson2019-09-111-70/+98
| |\ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lukas/erts/lttng-fixes: erts: Create ets load for lttng on seperate node erts: Update lttng tests to work again after emulator changed
| | * | | | | | | | | erts: Create ets load for lttng on seperate nodeLukas Larsson2019-09-111-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed so that we know that carriers will be created. If not then the ets testcases may have created enough carriers so that they will be reused here and we don't get the events that we expect.