aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2017-03-03Merge branch 'egil/erts/sub-binary-to-heap-binary/OTP-14149'Björn-Egil Dahlberg
* egil/erts/sub-binary-to-heap-binary/OTP-14149: observer: Fix crashdump viewer testcase erts: Refactor MOVE_CONS to inline function erts: Refactor MOVE_BOXED to inline function erts: Convert small sub-binaries to heap-binaries
2017-03-01Merge branch 'lukas/erts/fix_proc_exiting_arity'Lukas Larsson
* lukas/erts/fix_proc_exiting_arity: erts: Fix proc arity value when exiting
2017-03-01Merge branch 'maint'Lukas Larsson
2017-03-01Merge branch 'lukas/erts/port_control_emasculate_binary/OTP-14231' into maintLukas Larsson
* lukas/erts/port_control_emasculate_binary/OTP-14231: erts: Fix emasculation of binaries in port_control
2017-02-28erts: Refactor MOVE_CONS to inline functionBjörn-Egil Dahlberg
2017-02-28erts: Refactor MOVE_BOXED to inline functionBjörn-Egil Dahlberg
2017-02-28erts: Convert small sub-binaries to heap-binariesBjörn-Egil Dahlberg
In many cases sub-binaries costs more memory than converting them to heap-binaries. Sub-binaries also has a hidden cost of pinning larger binaries in memory. By converting binaries this cost is reduced. Byte aligned sub-binaries upto 24 bytes (64-bit) or 12 bytes (32-bit) are converted.
2017-02-27Merge branch 'maint'Rickard Green
* maint: Ensure prim_eval:'receive' wont clobber def_arg_reg[0] Conflicts: erts/preloaded/ebin/prim_eval.beam
2017-02-27Merge branch 'rickard/prim_eval_receive' into maintRickard Green
OTP-14241 * rickard/prim_eval_receive: Ensure prim_eval:'receive' wont clobber def_arg_reg[0]
2017-02-27erts: Fix proc arity value when exitingLukas Larsson
Not setting it correctly will cause the swapin later to fail in debug build as REDS_IN will overwrite the value in reg[5].
2017-02-27Merge branch 'egil/pretty-print-maps-smaller/OTP-14239'Björn-Egil Dahlberg
* egil/pretty-print-maps-smaller/OTP-14239: stdlib: Use erts_internal:maps_to_list/2 in io_lib_pretty Update preloaded erts_internal.beam erts: Test erts_internal:maps_to_list/2 erts: Introduce erts_internal:maps_to_list/2
2017-02-27erts: Fix emasculation of binaries in port_controlLukas Larsson
This fixes a bug introduced in 3671dd2d
2017-02-24Merge pull request PR-1348 OTP-14238 from margnus1/drop-old-llvmSverker Eriksson
ErLLVM: Drop support for LLVM<3.9 in R20
2017-02-23Merge branch 'sverker/enif_select/OTP-13684'Sverker Eriksson
* sverker/enif_select: (31 commits) Remove debug printout and comment Fix nif_SUITE:select for old linux Add docs for enif_compare_monitors and ErlNifMonitor Fix ErlNifMonitor handling Remove faulty debug ASSERT erts: Skip nif_SUITE:select on windows Fix enif_select for windows Fix whitebox monitor tests Fix erl_nif doc Expand nif_SUITE:monitor_frenzy to verify dtor calls Expand nif_SUITE:monitor_frenzy with binary_to_term erts: Avoid revival of dying resource by dec_term erts: Add enif_compare_monitors erts: Try fix enif_select for windows erts: Change return value for enif_select erts: Add pid argument to enif_select erts: Beautify enif_select erts: Fix bad_fd_in_pollset error case for enif_select erts: Add enif_monitor_process and enif_demonitor_process erts: Rename ErlNifResource as ErtsResource ...
2017-02-23Remove debug printout and commentSverker Eriksson
2017-02-23Merge branch 'maint'Sverker Eriksson
2017-02-23Merge branch 'sverker/include-module-literal-size/OTP-14228' into maintSverker Eriksson
again * sverker/include-module-literal-size: erts: Beautify loaded() erts: Fix literal size bug when only old instance exists
2017-02-23erts: Test erts_internal:maps_to_list/2Björn-Egil Dahlberg
2017-02-23erts: Introduce erts_internal:maps_to_list/2Björn-Egil Dahlberg
2017-02-22Fix nif_SUITE:select for old linuxSverker Eriksson
with pipe capacity equal to PIPE_BUF meaning pipe must be empty to be writable.
2017-02-22Merge branch 'maint'Lukas Larsson
2017-02-21erts: Beautify loaded()Sverker Eriksson
by removing some unnecessary conditions and remove unused and faulty summation for 'cur' and 'old'.
2017-02-21erts: Fix literal size bug when only old instance existsSverker Eriksson
fix for already merged but not releases 808b2f4d53e446aed07f85716c5c4b85abb3d18a
2017-02-21erts: Emasculate binaries that are scheduled in port_controlLukas Larsson
2017-02-20Fix ErlNifMonitor handlingSverker Eriksson
2017-02-20Remove faulty debug ASSERTSverker Eriksson
Why did I add that?
2017-02-20erts: Skip nif_SUITE:select on windowsSverker Eriksson
for now...
2017-02-20Fix enif_select for windowsSverker Eriksson
2017-02-20Fix whitebox monitor testsSverker Eriksson
2017-02-20Expand nif_SUITE:monitor_frenzy to verify dtor callsSverker Eriksson
2017-02-20Expand nif_SUITE:monitor_frenzy with binary_to_termSverker Eriksson
to provoke resource revival race.
2017-02-20erts: Avoid revival of dying resource by dec_termSverker Eriksson
2017-02-20Merge branch 'master' into sverker/enif_selectSverker Eriksson
Conflicts: erts/emulator/beam/erl_binary.h erts/emulator/beam/erl_monitors.c erts/emulator/beam/erl_nif.c erts/emulator/beam/global.h erts/emulator/test/nif_SUITE_data/nif_SUITE.c
2017-02-20erts: Add enif_compare_monitorsSverker Eriksson
# Conflicts: # erts/emulator/test/nif_SUITE_data/nif_SUITE.c
2017-02-20Merge branch 'rickard/magic-references-fixes'Sverker Eriksson
* rickard/magic-references-fixes: Fix driver monitor implementation Handle magic refs in db_cleanup_offheap_comp()
2017-02-20Fix driver monitor implementationRickard Green
2017-02-20Ensure prim_eval:'receive' wont clobber def_arg_reg[0]Rickard Green
def_arg_reg[0] is used for storage of timeout instruction when a 'receive after' is executed. When a process was scheduled out inside prim_eval:'receive'/0 due to a function call, def_arg_reg[0] was overwritten due to storage of live registers. prim_eval:'receive'/2 now calls arg_reg_alloc/0 which bumps all reductions and then calls arg_reg_alloc/7 which will cause an allocation of a new arg_reg array since def_arg_reg only can hold 6 values. This ensures that the timeout instruction in def_arg_reg[0] used for the timeout wont be overwritten.
2017-02-19erts: Drop workarounds for ErLLVM w/ LLVM < 3.9Magnus Lång
2017-02-17Teach make_preload to handle the new 'AtU8' chunkBjörn Gustavsson
26b59dfe67 introduced the new 'AtU8' chunk to support Unicode atoms. make_preload strips the pre-loaded BEAM files so that they only contain essential chunks. It expects to find the old 'Atom' chunk. Teach make_preload to read the new 'AtU8' chunk instead of the old chunk. Also produce a nice error message if someone by mistake compiles the pre-loaded modules with an OTP 19 compiler.
2017-02-16Handle magic refs in db_cleanup_offheap_comp()Rickard Green
2017-02-16Merge branch 'maint'Sverker Eriksson
2017-02-16Merge branch 'sverker/enif_send-noproc-fix/OTP-14229' into maintSverker Eriksson
* sverker/enif_send-noproc-fix: erts: Fix enif_send from noproc and no msg_env
2017-02-16Merge branch 'maint'Sverker Eriksson
2017-02-16Merge branch 'sverker/include-module-literal-size/OTP-14228' into maintSverker Eriksson
* sverker/include-module-literal-size: erts: Add size of literals to module code size
2017-02-16Merge branch 'maint' into 'master'Sverker Eriksson
2017-02-16Merge branch 'sverker/round-bug/OTP-14227' into maintSverker Eriksson
* sverker/round-bug/OTP-14227: erts: Fix round/1 for large floats
2017-02-15Merge branch 'fix-source-typos'Björn Gustavsson
* fix-source-typos: (25 commits) Fixed typos in system/doc Fixed typos in lib/xmerl Fixed typos in lib/wx Fixed typos in lib/stdlib Fixed typos in lib/snmp Fixed typos in lib/ssl Fixed typos in lib/ssh Fixed typos in PKCS-8.asn1 file Fixed typos in lib/parsetools Fixed typos in lib/orber Fixed typos in lib/mnesia Fixed typos in lib/megaco Fixed typos in lib/kernel Fixed typos in lib/jinterface Fixed typos in lib/inets Fixed typos in lib/hipe Fixed typos in lib/eunit Fixed typos in lib/erl_interface Fixed typos in lib/eldap Fixed typos in lib/edoc ...
2017-02-14erts: Add deallocation veto for magic destructorsSverker Eriksson
A magic destructor can return 0 and thereby take control and prolong the lifetime of a magic binary.
2017-02-14erts: Fix round/1 for large floatsSverker Eriksson
1> round(6209607916799025.0). 6209607916799026 Problem: Adding/subtracting 0.5 and large double floats between (1 bsl 52) and (1 bsl 53) does not give reliable results. Solution: Use round() function in math.h.
2017-02-14Fixed typos in ertsAndrew Dryga