aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2016-02-24Merge branch 'master' into sverk/master/halt-INT_MINSverker Eriksson
2016-02-24erts: Make erlang:halt() accept bignums as StatusSverker Eriksson
Just mask away the high bits to get a more tolerant erlang:halt that behaves the same on 32 and 64 bit architectures.
2016-02-24erts: Change erl_exit into erts_exitSverker Eriksson
This is mostly a pure refactoring. Except for the buggy cases when calling erlang:halt() with a positive integer in the range -(INT_MIN+2) to -INT_MIN that got confused with ERTS_ABORT_EXIT, ERTS_DUMP_EXIT and ERTS_INTR_EXIT. Outcome OLD erl_exit(n, ) NEW erts_exit(n, ) ------- ------------------- ------------------------------------------- exit(Status) n = -Status <= 0 n = Status >= 0 crashdump+abort n > 0, ignore n n = ERTS_ERROR_EXIT < 0 The outcome of the old ERTS_ABORT_EXIT, ERTS_INTR_EXIT and ERTS_DUMP_EXIT are the same as before (even though their values have changed).
2016-02-24Merge branch 'maint'Rickard Green
* maint: Do not wait for main lock when looking up process not running
2016-02-24Merge branch 'rickard/proc-not-running/OTP-13365' into maintRickard Green
* rickard/proc-not-running/OTP-13365: Do not wait for main lock when looking up process not running
2016-02-24Merge branch 'maint'Hans Bolinder
* maint: Update preloaded module typos Conflicts: erts/preloaded/ebin/prim_file.beam
2016-02-24Update preloaded moduleHans Bolinder
2016-02-23Do not wait for main lock when looking up process not runningRickard Green
2016-02-23typosSverker Eriksson
2016-02-22Merge branch 'maint'Rickard Green
* maint: Improve cmpxchg8b/cmpxchg16b inline asm Improve cmpxchg8b inline asm configure test
2016-02-22Merge branch 'rickard/dw-cmpxchg-clang/OTP-13336' into maintRickard Green
* rickard/dw-cmpxchg-clang/OTP-13336: Improve cmpxchg8b/cmpxchg16b inline asm
2016-02-22Merge branch 'rickard/gcc5-pic-cmpxchg8b/OTP-13326' into maintRickard Green
* rickard/gcc5-pic-cmpxchg8b/OTP-13326: Improve cmpxchg8b inline asm configure test
2016-02-22Merge branch 'maint'Sverker Eriksson
2016-02-22Merge branch 'sverk/proc-lock-check-fix' into maintSverker Eriksson
* sverk/proc-lock-check-fix: erts: Fix lock checker for process locks
2016-02-22Merge branch 'maint'Hans Bolinder
* maint: Fix a few dialyzer warnings
2016-02-22Fix a few dialyzer warningsHans Bolinder
2016-02-19Merge branch 'rickard/rq-state-bug/OTP-13298' into maintRickard Green
* rickard/rq-state-bug/OTP-13298: Fix bug causing run-queue mask to become inconsistent
2016-02-18erts: Fix lock checker for process locksSverker Eriksson
Do lock order check *before* trying to seize lock... duh!
2016-02-18Merge branch 'sverk/erts-hipe_x86_signal-cleanups'Sverker Eriksson
OTP-13341 * sverk/erts-hipe_x86_signal-cleanups: hipe_sigaltstack: correct initialization of ss.ss_flags hipe_x86_signal: cleanups hipe_x86_signal: cleanups hipe_x86_signal: cleanups hipe_x86_signal: cleanups hipe_x86_signal: cleanups hipe_x86_signal: cleanups
2016-02-18Improve cmpxchg8b/cmpxchg16b inline asmRickard Green
Clang didn't like that ecx/rcx was mapped to input and output variables of different types.
2016-02-18Merge branch 'sverk/fix-list-length-int/OTP-13288'Sverker Eriksson
* sverk/fix-list-length-int/OTP-13288: erts: Fix error cases in enif_get_list_length erts: Use Sint instead of int for list lengths
2016-02-18Merge branch 'bjorn/remove-test_server/OTP-12705'Björn Gustavsson
* bjorn/remove-test_server/OTP-12705: Remove test_server as a standalone application Erlang mode for Emacs: Include ct.hrl instead test_server.hrl Remove out-commented references to the test_server applications Makefiles: Remove test_server from include path and code path Eliminate use of test_server.hrl and test_server_line.hrl
2016-02-18Merge branch 'maint'Sverker Eriksson
2016-02-18Merge branch 'sverk/nif-test-cuddle' into maintSverker Eriksson
* sverk/nif-test-cuddle: erts: Fix wobbling test failure in nif_SUITE
2016-02-18Merge branch 'maint'Henrik Nord
2016-02-18Merge branch 'msantos/ms/typo-windows-build-script' into maintHenrik Nord
* msantos/ms/typo-windows-build-script: Fix typo in Windows build scripts OTP-13337
2016-02-17Merge branch 'jv/erts/optimize-cmp'Björn Gustavsson
* jv/erts/optimize-cmp: Unify comparison macros in erl_utils.h Avoid erts_cmp jump in atom, int and float comparisons
2016-02-17Improve cmpxchg8b inline asm configure testRickard Green
2016-02-17Update preloaded modulesHans Bolinder
2016-02-17Makefiles: Remove test_server from include path and code pathBjörn Gustavsson
Since no test suites includede test_server.hrl, there is no need to have test_server in the include path or code path.
2016-02-17Eliminate use of test_server.hrl and test_server_line.hrlBjörn Gustavsson
As a first step to removing the test_server application as as its own separate application, change the inclusion of test_server.hrl to an inclusion of ct.hrl and remove the inclusion of test_server_line.hrl.
2016-02-15Unify comparison macros in erl_utils.hJosé Valim
This removes the duplication in having both `cmp_eq` and `CMP_EQ` and normalizes their name to uppercase.
2016-02-15Avoid erts_cmp jump in atom, int and float comparisonsJosé Valim
Given the function definition below: check(X) when X >= 0, X <= 20 -> true. @nox has originally noticed that perfoming lt and ge guard tests were performing slower than they should be. Further investigation revealed that most of the cost was in jumping to the erts_cmp function. This patch brings the operations already inlined in erts_cmp into the emulator, removing the jump cost. After applying these changes, invoking the check/1 function defined above 30000 times with different values from 0 to 20 has fallen from 367us to 213us (measured as average of 3 runs). This is a considerably improvement over Erlang 18 which takes 556us on average. Floats have also dropped their time from 1126us (on Erlang 18) to 613us.
2016-02-15Merge branch 'rickard/ds-fixes' into rickard/ds-fixes-masterRickard Green
* rickard/ds-fixes: Fix unique_SUITE for dirty schedulers Add dirty scheduler process termination test Ensure that work is done on the correct type of schedulers Conflicts: erts/emulator/beam/erl_process.c erts/emulator/beam/erl_process.h erts/emulator/beam/erl_process_dump.c
2016-02-15Fix unique_SUITE for dirty schedulersRickard Green
2016-02-15Add dirty scheduler process termination testSteve Vinoski
In scheduler_SUITE add a new test that runs a single dirty I/O scheduler and launches a number of dirty I/O NIF calls that each sleep for 3 seconds. Given the single scheduler, the first of these will run while the rest queue up. Then start killing these processes, and verify they call exit correctly.
2016-02-15Ensure that work is done on the correct type of schedulersRickard Green
Only the actual call to the dirty nif is allowed to execute on dirty schedulers. The dirty nif is not allowed to execute on normal schedulers if dirty schedulers are available. Arrival of exit signals and system tasks, while a process was scheduled for execution on a dirty scheduler, could mess up the process internal state. Preparation for dirty system task has been made, but is currently unused.
2016-02-12erts: Fix wobbling test failure in nif_SUITESverker Eriksson
ResA may have been GC'd after its last use.
2016-02-09hipe_sigaltstack: correct initialization of ss.ss_flagsMikael Pettersson
SS_ONSTACK may be set in oss, but it's not supposed to be set in ss, and some systems correctly reject that; current Linux kernels accept but ignore it in ss
2016-02-08Merge branch 'sverk/thread-unsafe-alloc'Sverker Eriksson
* sverk/thread-unsafe-alloc: erts: Fix faulty assert for non-smp erts: Add checks for thread safe allocation
2016-02-08Merge branch 'sverk/safe-purging/OTP-13122'Sverker Eriksson
* sverk/safe-purging/OTP-13122: erts: Fix harmless dialyzer warnings
2016-02-08Merge branch 'maint'Sverker Eriksson
2016-02-08Merge branch 'sverk/hipe-line-table-bug/master/OTP-13282'Sverker Eriksson
* sverk/hipe-line-table-bug/master/OTP-13282: erts: Fix bug concerning line information for hipe modules
2016-02-08Merge branch 'sverk/hipe-line-table-bug/OTP-13282' into maintSverker Eriksson
* sverk/hipe-line-table-bug/OTP-13282: erts: Fix bug concerning line information for hipe modules
2016-02-08Merge branch 'sverk/proc-exiting-timer-race/OTP-13245' into maintSverker Eriksson
* sverk/proc-exiting-timer-race/OTP-13245: erts: Fix race between receive timeout and exit signal
2016-02-08erts: Fix error cases in enif_get_list_lengthSverker Eriksson
false if improper list false if length > UINT_MAX
2016-02-08erts: Use Sint instead of int for list lengthsRichard Carlsson
This avoids potential integer arithmetic overflow for very large lists.
2016-02-04Fix bug causing run-queue mask to become inconsistentRickard Green
2016-02-04Merge branch 'maint'Zandra
2016-02-04Merge branch 'binarin/epmd-race' into maintZandra
* binarin/epmd-race: Prevent down nodes going undetected in epmd OTP-13301