aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2016-09-05Merge branch 'maint'Lukas Larsson
2016-09-05Merge branch 'lukas/erts/fix_signalhandler_errno_restore/OTP-13868' into maintLukas Larsson
* lukas/erts/fix_signalhandler_errno_restore/OTP-13868: erts: Fix child setup signal hander bug
2016-09-05Merge branch 'maint'Lukas Larsson
2016-09-05Merge branch 'lukas/erts/tracing/fix_sparc_align_issue/OTP-13803' into maintLukas Larsson
* lukas/erts/tracing/fix_sparc_align_issue/OTP-13803: erts: Immed tracer states also have to be alignable
2016-09-05Merge branch 'bjorn/floor-ceiling/OTP-13692'Björn Gustavsson
* bjorn/floor-ceiling/OTP-13692: Add math:floor/1 and math:ceil/1 Implement the new ceil/1 and floor/1 guard BIFs
2016-09-05Add math:floor/1 and math:ceil/1Björn Gustavsson
Add math:floor/1 and math:ceil/1 to avoid unnecessary conversions in floating point expressions. That is, instead of having to write float(floor(X)) as part of a floating point expressions, we can write simply math:floor(X).
2016-09-05Implement the new ceil/1 and floor/1 guard BIFsBjörn Gustavsson
Implement as ceil/1 and floor/1 as new guard BIFs (essentially part of Erlang language). They are guard BIFs because trunc/1 is a guard BIF. It would be strange to have trunc/1 as a part of the language, but not ceil/1 and floor/1.
2016-09-05Merge branch 'bjorn/erts/help-clang'Björn Gustavsson
* bjorn/erts/help-clang: Slightly reduce code size of process_main()
2016-09-02Merge branch 'maint'Rickard Green
* maint: Introduce literal sweep of native stack in new purge strategy
2016-09-02Introduce literal sweep of native stack in new purge strategyRickard Green
2016-09-02Merge branch 'bjorn/eliminate-sys_pre_expand/OTP-13856'Björn Gustavsson
* bjorn/eliminate-sys_pre_expand/OTP-13856: Remove sys_pre_expand xref: Eliminate use of sys_pre_expand debugger: Eliminate use of sys_pre_expand compiler: Eliminate use of sys_pre_expand shell_SUITE: Eliminate references to sys_pre_expand in comments qlc_pt: Simplify code because of updated erl_expand_records Teach erl_expand_records to translate module-less calls erl_internal: Add add_predefined_functions/1 cover: Remove always stale comment
2016-09-02erts: Fix child setup signal hander bugLukas Larsson
When running the signal handler, the errno has to be restored to its original value, otherwise code running in the same thread may misbehave.
2016-09-01Merge branch 'rickard/remove-old-purge-strategy/OTP-13844'Rickard Green
* rickard/remove-old-purge-strategy/OTP-13844: Avoid selective receive in code-purger process Remove old purge strategy Conflicts: erts/emulator/beam/beam_bif_load.c erts/emulator/beam/global.h
2016-09-01Merge branch 'maint'Rickard Green
* maint: Fix reclaim of literal areas Conflicts: erts/emulator/beam/global.h
2016-09-01Merge branch 'rickard/new-purge-strategy/OTP-13833' into maintRickard Green
* rickard/new-purge-strategy/OTP-13833: Fix reclaim of literal areas Conflicts: erts/emulator/beam/beam_bif_load.c
2016-09-01Slightly reduce code size of process_main()Björn Gustavsson
clang will generate smaller code if we avoid reassigning the reg and freg arrays. That can be easily arranged by passing them as arguments to process_main().
2016-09-01compiler: Eliminate use of sys_pre_expandBjörn Gustavsson
sys_pre_expand previously did a lot more work, for example, translating records and funs, but now is merely a grab bag of small transformations. Move those transformations to v3_core.
2016-09-01Fix reclaim of literal areasRickard Green
2016-08-31Merge branch 'maint'Rickard Green
* maint: Ensure correct mbuf_sz value in process structure
2016-08-31Merge branch 'rickard/mbuf_sz/OTP-13851' into maintRickard Green
* rickard/mbuf_sz/OTP-13851: Ensure correct mbuf_sz value in process structure
2016-08-31Merge branch 'maint'Rickard Green
* maint: Improve accuracy of timeouts using premature timeouts
2016-08-31Merge branch 'rickard/premature-timeout/OTP-13698' into maintRickard Green
* rickard/premature-timeout/OTP-13698: Improve accuracy of timeouts using premature timeouts
2016-08-31Merge branch 'maint'Rickard Green
* maint: Fix is-dirty-cpu/is-dirty-io scheduler predicates
2016-08-31Avoid selective receive in code-purger processRickard Green
The code purger process handles vast amounts of messages when there are lots of processes alive. A single message in the message queue that does not match will in such cases cause lots of extra work. The code purger process now always picks the first message in the message queue, and by this avoid this extra work.
2016-08-31Remove old purge strategyRickard Green
2016-08-30Fix is-dirty-cpu/is-dirty-io scheduler predicatesRickard Green
2016-08-30Ensure correct mbuf_sz value in process structureRickard Green
2016-08-30Merge branch 'maint'Sverker Eriksson
2016-08-30Merge branch 'rickard/time-unit/OTP-13735' into maintRickard Green
* rickard/time-unit/OTP-13735: Update test-cases to use new symbolic time units Replace misspelled symbolic time units Conflicts: erts/doc/src/erlang.xml erts/emulator/test/long_timers_test.erl
2016-08-30Merge branch 'maint'Rickard Green
* maint: Fix dirty schedulers build on windows
2016-08-30Merge branch 'rickard/ds-win-32bit/OTP-13759' into maintRickard Green
* rickard/ds-win-32bit/OTP-13759: Fix dirty schedulers build on windows
2016-08-30Merge branch 'maint'Rickard Green
* maint: Fix dirty_nif_SUITE:dirty_call_while_terminated test case Adjust process_SUITE:no_priority_inversion2 Allow larger timeout delay in driver_SUITE Ignore long time failures during high CPU utilization Cleanup in statistics_SUITE:runtime_update test Improve timer tests in driver_SUITE Fix statistics_SUITE:scheduler_wall_time test Fix scheduler_SUITE:scheduler_suspend test Fix scheduler_SUITE:scheduler_threads test Fix scheduler_SUITE:update_cpu_info test Skip nif_SUITE:consume_timeslice test when debug compiled Increase time margin in timer_bif_SUITE:start_timer_1 test
2016-08-30Merge branch 'rickard/test-cuddle' into maintRickard Green
* rickard/test-cuddle: Fix dirty_nif_SUITE:dirty_call_while_terminated test case Adjust process_SUITE:no_priority_inversion2 Allow larger timeout delay in driver_SUITE Ignore long time failures during high CPU utilization Cleanup in statistics_SUITE:runtime_update test Improve timer tests in driver_SUITE Fix statistics_SUITE:scheduler_wall_time test Fix scheduler_SUITE:scheduler_suspend test Fix scheduler_SUITE:scheduler_threads test Fix scheduler_SUITE:update_cpu_info test Skip nif_SUITE:consume_timeslice test when debug compiled Increase time margin in timer_bif_SUITE:start_timer_1 test
2016-08-30Fix dirty_nif_SUITE:dirty_call_while_terminated test caseRickard Green
Prevent binary from being prematurely GCed
2016-08-30Adjust process_SUITE:no_priority_inversion2Rickard Green
2016-08-30Merge branch 'maint'Sverker Eriksson
2016-08-30Merge branch 'sverker/load-corrupt-beam/ERL-216/OTP-13848' into maintSverker Eriksson
* sverker/load-corrupt-beam/ERL-216: erts:: Unsignify a bunch of loader variables erts: Reject an invalid beam code header size erts: Fix load of beam with invalid imports and atom numbers
2016-08-29Merge branch 'maint'Rickard Green
* maint: Fix tracing of processes executing dirty Perform check_process_code while process is executing dirty Fix purge of code Reclaim literal area after purge has completed Separate literal area from code Conflicts: erts/emulator/beam/global.h
2016-08-29Merge branch 'rickard/ds-trace/OTP-13822' into maintRickard Green
* rickard/ds-trace/OTP-13822: Fix tracing of processes executing dirty
2016-08-29Merge branch 'rickard/ds-purge-module/OTP-13808' into maintRickard Green
* rickard/ds-purge-module/OTP-13808: Perform check_process_code while process is executing dirty Conflicts: erts/doc/src/erl_nif.xml
2016-08-29Merge branch 'rickard/fun-purge-bug/OTP-13809' and ↵Rickard Green
'rickard/new-purge-strategy/OTP-13833' into maint * rickard/fun-purge-bug/OTP-13809: Fix purge of code Reclaim literal area after purge has completed Separate literal area from code Conflicts: erts/doc/src/erlang.xml erts/emulator/beam/beam_bif_load.c erts/emulator/beam/erl_init.c erts/preloaded/ebin/init.beam
2016-08-29Fix tracing of processes executing dirtyRickard Green
2016-08-29Perform check_process_code while process is executing dirtyRickard Green
2016-08-29Fix purge of codeRickard Green
Ensure that we cannot get any dangling pointers into code that has been purged. This is done by a two phase purge. At first phase all fun entries pointing into the code to purge are marked for purge. All processes trying to call these funs will be suspended and by this we avoid getting new direct references into the code. When all processes has been checked, these processes are resumed. The new purge strategy now also completely ignore the existence of indirect references to the code (funs). If such exist, they will cause bad fun exceptions to the caller, but will not prevent a soft purge or cause a kill of a process having such live references during a hard purge. This since it is impossible to give any guarantees that no processes in the system have such indirect references. Even when the system is completely clean from such references, new ones can appear via distribution and/or disk.
2016-08-26Merge branch 'g-andrade/kernel/fetch_ztream_dictionary/PR-1139/OTP-13842'Lukas Larsson
* g-andrade/kernel/fetch_ztream_dictionary/PR-1139/OTP-13842: Update preloaded modules Specify min zlib ver on inflateGetDictionary doc Skip inflateGetDictionary test case if unsupported zlib: Only link inflateGetDictionary if available zlib: Add test case for inflateGetDictionary zlib: support extraction of inflation dictionary
2016-08-26Reclaim literal area after purge has completedRickard Green
2016-08-25Update test-cases to use new symbolic time unitsRickard Green
2016-08-25Replace misspelled symbolic time unitsRickard Green
Besides using two words for 'milliseconds' et. al. they are also changed from plural to singular.
2016-08-24erts: Immed tracer states also have to be alignableLukas Larsson
2016-08-23erts:: Unsignify a bunch of loader variablesSverker Eriksson