aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2016-04-06Refactor calls to transform_engine()Björn Gustavsson
We used to set last_op_next and last_op to NULL just in case. Setting last_op_next to causes a rescan of the instructions to find the last instruction in the chain, so we would want to avoid that unless really necessary.
2016-04-06ops.tab: Remove useless transformationBjörn Gustavsson
The transformation on the following line will do the job.
2016-04-04Merge tag 'OTP-18.3.1'Henrik Nord
=== OTP-18.3.1 === Changed Applications: - erts-7.3.1 - inets-6.2.1 - mnesia-4.13.4 Unchanged Applications: - asn1-4.0.2 - common_test-1.12 - compiler-6.0.3 - cosEvent-2.2 - cosEventDomain-1.2 - cosFileTransfer-1.2 - cosNotification-1.2.1 - cosProperty-1.2 - cosTime-1.2.1 - cosTransactions-1.3.1 - crypto-3.6.3 - debugger-4.1.2 - dialyzer-2.9 - diameter-1.11.2 - edoc-0.7.18 - eldap-1.2.1 - erl_docgen-0.4.2 - erl_interface-3.8.2 - et-1.5.1 - eunit-2.2.13 - gs-1.6 - hipe-3.15 - ic-4.4 - jinterface-1.6.1 - kernel-4.2 - megaco-3.18 - observer-2.1.2 - odbc-2.11.1 - orber-3.8.1 - os_mon-2.4 - ose-1.1 - otp_mibs-1.1 - parsetools-2.1.1 - percept-0.8.11 - public_key-1.1.1 - reltool-0.7 - runtime_tools-1.9.3 - sasl-2.7 - snmp-5.2.2 - ssh-4.2.2 - ssl-7.3 - stdlib-2.8 - syntax_tools-1.7 - test_server-3.10 - tools-2.8.3 - typer-0.9.10 - webtool-0.9.1 - wx-1.6.1 - xmerl-1.3.10 Conflicts: OTP_VERSION erts/emulator/test/save_calls_SUITE.erl erts/vsn.mk
2016-04-04Merge branch 'bjorn/erts/clang-opt'Björn Gustavsson
* bjorn/erts/clang-opt: Fix unsafe transformation of apply/3 with fixed arguments
2016-04-04Merge branch 'egil/erts/fix-flatmap-get/OTP-13459'Björn-Egil Dahlberg
* egil/erts/fix-flatmap-get/OTP-13459: erts: Don't search for non-existing Map keys twice
2016-04-01Prepare releaseErlang/OTP
2016-04-01Merge branch 'sverker/erts/trap_exit-race/OTP-13452' into maint-18Erlang/OTP
* sverker/erts/trap_exit-race/OTP-13452: erts: Fix race for process_flag(trap_exit,true)
2016-04-01Merge branch 'rickard/proc-free-fix/OTP-13446' into maint-18Erlang/OTP
* rickard/proc-free-fix/OTP-13446: Fix bad refc management of process struct # Conflicts: # erts/emulator/beam/erl_process.c
2016-04-01Merge branch 'rickard/port-sig-dropped-fix/OTP-13424' into maint-18Erlang/OTP
* rickard/port-sig-dropped-fix/OTP-13424: Fix implementation of dropped signal to port
2016-04-01Merge branch 'rickard/ethr-event-futex-wait-timeout/OTP-13420' into maint-18Erlang/OTP
* rickard/ethr-event-futex-wait-timeout/OTP-13420: Fix premature timeouts for ethread events on Linux
2016-04-01Merge branch 'rickard/last_calls/OTP-13418' into maint-18Erlang/OTP
* rickard/last_calls/OTP-13418: Unbreak process_info(Pid,last_calls)
2016-04-01erts: Fix race for process_flag(trap_exit,true)Sverker Eriksson
and a concurrent exit signal. We now actually guarantee that the process will not die from exit signal *after* the call to process_flag(trap_exit,true) has returned. The race is narrow and probably quite hard to observe even if you manage to provoke it. Has only been confirmed with the help of return trace and a sleep in send_exit_signal(). Solution: Seize status lock to prevent send_exit_signal() from reading an old status (without TRAP_EXIT) and then writing PENDING_EXIT after TRAP_EXIT has been set by process_flag_2().
2016-04-01erts: Don't search for non-existing Map keys twiceBjörn-Egil Dahlberg
* For maps:get/2,3 and maps:find/2, searching for an immediate key, e.g. an atom, the search was performed twice if the key did not exist in the map.
2016-04-01Merge branch 'rickard/proc-free-fix/OTP-13446'Rickard Green
* rickard/proc-free-fix/OTP-13446: Fix bad refc management of process struct Conflicts: erts/emulator/beam/erl_process.c
2016-03-31Fix bad refc management of process structRickard Green
2016-03-31Fix unsafe transformation of apply/3 with fixed argumentsBjörn Gustavsson
62473daf introduced an unsafe optimization in the loader. See the comments in the test case for an explanation of the problem.
2016-03-30erts: Fix "hanging" VM caused by exiting tty_sl driverSverker Eriksson
Bug introduced on master in a31eab5469b7740d.
2016-03-29Merge branch 'lukas/erts/etp-bigendian-pid-fix'Lukas Larsson
* lukas/erts/etp-bigendian-pid-fix: erts: Fix etp pid print on big endian
2016-03-29Merge branch 'lukas/erts/enif_trace_functions/OTP-13442'Lukas Larsson
* lukas/erts/enif_trace_functions/OTP-13442: erts: Fix bug in enif_send erts: Fix windows nif port tests erts: Fix bug in enif_term_to_binary erts: Remove printout when dec_term fails in DEBUG erts: Polish erl_nif docs erts: Improve enif_binary_to_term erts: Add enif_port_command erts: Add enif_term_to_binary and enif_binary_to_term erts: Add enif_is_process/port_alive erts: Add enif_cpu/now_time and enif_make_unique_integer
2016-03-29erts: Fix bug in enif_sendSverker Eriksson
Let cache_env() set env->heap_frag to same as MBUF(p) as it is in any other case.
2016-03-29erts: Fix windows nif port testsLukas Larsson
2016-03-29erts: Fix bug in enif_term_to_binarySverker Eriksson
Wait until after dec_term and factory_close to do cache_env(), otherwise we will cache the wrong state.
2016-03-29erts: Remove printout when dec_term fails in DEBUGSverker Eriksson
2016-03-29erts: Polish erl_nif docsSverker Eriksson
2016-03-29erts: Improve enif_binary_to_termSverker Eriksson
* Accept a raw data buffer instead of ErlNifBinary * Accept option ERL_NIF_BIN2TERM_SAFE * Return number of read bytes
2016-03-29erts: Add enif_port_commandLukas Larsson
2016-03-29erts: Add enif_term_to_binary and enif_binary_to_termLukas Larsson
2016-03-29erts: Add enif_is_process/port_aliveLukas Larsson
2016-03-29erts: Add enif_cpu/now_time and enif_make_unique_integerLukas Larsson
2016-03-29Merge branch 'rickard/improve-psd/OTP-13428'Rickard Green
* rickard/improve-psd/OTP-13428: Improve process/port specific data management
2016-03-29Merge branch 'rickard/delayed-gc-fix'Rickard Green
* rickard/delayed-gc-fix: Allow delayed gc while scheduled out
2016-03-29Merge branch 'rickard/port-sig-dropped-fix/OTP-13424'Rickard Green
* rickard/port-sig-dropped-fix/OTP-13424: Fix implementation of dropped signal to port
2016-03-29Merge branch 'lukas/erts/inline_tagvaldef/OTP-13440'Lukas Larsson
* lukas/erts/inline_tagvaldef/OTP-13440: erts: inline tag_val_def
2016-03-29erts: inline tag_val_defLukas Larsson
The tag_val_def function was called and multiple switch statements had to be traversed in term.c, and then a big switch in the calling code to branch on the term types. By inlining the switches are merged by the compiler and a lot fewer branches have to be taken. Benchmarks show that this increases performance of enc_term by as much as 10%.
2016-03-29Merge branch 'lukas/erts/fix_pthread_setname_osx/OTP-13439'Lukas Larsson
* lukas/erts/fix_pthread_setname_osx/OTP-13439: erts: Fix pthread_setname_np warning on osx
2016-03-29Merge branch 'lukas/erts/low_write_freq_darwin/OTP-12345'Lukas Larsson
* lukas/erts/low_write_freq_darwin/OTP-12345: erts: Fix LOW_WRITE section for non llvm os x compilation
2016-03-24Improve process/port specific data managementRickard Green
2016-03-24erts: Fix etp pid print on big endianLukas Larsson
2016-03-21Merge branch 'sverk/wait_for_deallocations'Sverker Eriksson
2016-03-21Merge branch 'bjorn/optimize-start-up/OTP-13368'Björn Gustavsson
* bjorn/optimize-start-up/OTP-13368: Update preloaded modules init: Load modules in parallel using the new loader BIFs systools_make: Add commonly used modules to mandatory_modules/0 compile: Pre-load compiler modules when invoked from 'erlc'
2016-03-21Merge branch 'bjorn/macosx-configure'Björn Gustavsson
* bjorn/macosx-configure: configure: Remove obsolete --enable-darwin-* options
2016-03-21Merge branch 'egil/fix-ttsl_drv-log'Björn-Egil Dahlberg
* egil/fix-ttsl_drv-log: Fix ttsl_drv logging without TERMCAP
2016-03-18Fix implementation of dropped signal to portRickard Green
2016-03-18Merge branch 'lukas/erts/scheduler_SUITE_compile_win/OTP-13428'Lukas Larsson
* lukas/erts/scheduler_SUITE_compile_win/OTP-13428: Fix dirty scheduler tc on windows
2016-03-18Merge branch 'lukas/erts/fix-vsyslog-freebsd/OTP-13427'Lukas Larsson
* lukas/erts/fix-vsyslog-freebsd/OTP-13427: erts: Fix run_erl syslog prototypes for freebsd Conflicts: erts/etc/unix/run_erl.c
2016-03-18Merge branch 'lukas/erts/fix_scheduler_suspend/ERL-94/PR-978/OTP-13425'Lukas Larsson
* lukas/erts/fix_scheduler_suspend/ERL-94/PR-978/OTP-13425: erts: Fix install of suspend handler Conflicts: erts/emulator/sys/unix/erl_unix_sys.h erts/emulator/sys/unix/sys.c
2016-03-18erts: Fix pthread_setname_np warning on osxLukas Larsson
2016-03-17Allow delayed gc while scheduled outRickard Green
2016-03-17configure: Remove obsolete --enable-darwin-* optionsBjörn Gustavsson
Remove the options: --enable-darwin-universal --enable-darwin-64bit The --enable-darwin-universal option turns on universal binaries (Intel/PPC). It does not work on modern releases of OS X, and OTP 19 will most not likely build on an OS X release that still supports universal builds. The --enable-darwin-64bit option is not needed, because 64-bit builds are default on modern OS X releases. There is also the generic --enable-m64-build option.
2016-03-17Update preloaded modulesBjörn Gustavsson