summaryrefslogtreecommitdiff
path: root/erts
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'maint-20' into maintSverker Eriksson2018-02-1320-689/+1404
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint-20: Updated OTP version Update release notes Update version numbers erts: Add system_flags(erts_alloc,"+M?sbct *") erts: Add age order first fit allocator strategies erts: Refactor erl_ao_firstfit_alloc erts: Add migration options "acnl" and "acfml" kernel: Add os:cmd/2 with max_size option erts: Add more stats for mbcs_pool erts: Fix alloc_SUITE:migration stdlib: Make ets_SUITE memory check try again erts: Improve carrier pool search erts: Improve alloc_SUITE:migration erts: Refactor carrier dealloc migration
| * Update release notesErlang/OTP2018-02-121-0/+42
| |
| * Update version numbersErlang/OTP2018-02-121-1/+1
| |
| * Merge 'sverker/maint-19/alloc-n-migration/ERIERL-88'Sverker Eriksson2018-02-1218-688/+1361
| |\ | | | | | | | | | | | | | | | | | | | | | | | | into 'sverker/maint-20/alloc-n-migration/ERIERL-88' OTP-14915 OTP-14916 OTP-14917 OTP-14918
| | * Merge 'sverker/carrier-migration-improvements'Sverker Eriksson2018-02-1211-533/+841
| | |\ | | | | | | | | | | | | into 'sverker/maint-19/alloc-n-migration/ERIERL-88'
| | | * erts: Add more stats for mbcs_poolSverker Eriksson2017-12-204-9/+112
| | | | | | | | | | | | | | | | similar to the ones in OTP-19.2.3.1
| | | * erts: Fix alloc_SUITE:migrationSverker Eriksson2017-12-201-1/+4
| | | | | | | | | | | | | | | | | | | | It crashed due to recursive calls to alloc_util in carrier initialization test callback.
| | | * erts: Improve carrier pool searchSverker Eriksson2017-12-205-424/+539
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Give back carrier to owner when put in pool with use of dd-queue. * Replace pooled_list with pooled_tree for more efficient search of all owned pooled carriers. * Remove traitor_list as it does not serve much purpose anymore. * Add HOMECOMING bit flag in crr->allctr atomic to (1) avoid double enqueue into dd-enqueue. (2) trigger read barrier in get_used_allctr for newly received carriers.
| | | * erts: Improve alloc_SUITE:migrationSverker Eriksson2017-12-204-49/+132
| | | | | | | | | | | | | | | | to mix it up with some realloc calls.
| | | * erts: Refactor carrier dealloc migrationSverker Eriksson2017-12-202-66/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by adding a dedicated 'homecoming_dd_block' to use in dd-queue. + Preparation for dd-queue-migration of non-empty carriers. + Get rid of ugly hack where blk->carrier pointer is overwritten by dd-queue and then have to be restored.
| | * | erts: Add system_flags(erts_alloc,"+M?sbct *")Sverker Eriksson2018-02-1210-35/+242
| | | | | | | | | | | | | | | | | | | | | | | | to change sbct limit in runtime for chosen allocator type. With great power comes great responsibility.
| | * | erts: Add age order first fit allocator strategiesSverker Eriksson2018-02-125-37/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ageffcaoff: Age First Fit Carrier, Address Order First Fit (within carrier) ageffcbf : Age First Fit Carrier, Best Fit (within carrier) ageffcaobf: Age First Fit Carrier, Address Order Best Fit (within carrier) Prefer old carriers, the older the better.
| | * | erts: Refactor erl_ao_firstfit_allocSverker Eriksson2018-02-083-66/+77
| | | | | | | | | | | | | | | | | | | | | | | | In preparation for carrier age order. Change 'flavor' to 'blk_order' and 'crr_order'.
| | * | erts: Add migration options "acnl" and "acfml"Sverker Eriksson2018-02-085-28/+96
| | |/ | | | | | | | | | | | | acnl: Abandon Carrier Nr Limit acfml: Abandon Carrier Free block Min Limit
* | | Fix size of fmt_double()'s format_str[] bufferMikael Pettersson2018-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | fmt_double() may write up to 8 characters into its format_str[] buffer, which however only has room for 7 characters. This case could be triggered by a call to erts_printf_format() with any floating-point format that also includes #, and + or a space, which may be uncommon, but a nif or driver could issue it.
* | | Merge branch 'sverker/hipe-load-fixing/OTP-14891' into maintSverker Eriksson2018-01-242-1/+4
|\ \ \
| * | | Fix slow hipe executionSverker Eriksson2018-01-172-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | particularly slow erlc when compiler is hipe compiled. hipe_unified_loader:load did not patch external call sites and instead caused a double hipe mode switch per call. hipe_unified_loader:load is only used for early modules first loaded as beam and by code:atomic_load and friends.
* | | | Merge PR-1684 from sverker/float_to_list-rounding-bug/OTP-14890Sverker Eriksson2018-01-243-58/+119
|\ \ \ \ | | | | | | | | | | Fix rounding bug in float_to_list/2
| * | | | erts: Refactor and cleanup sys_double_to_chars_fastSverker Eriksson2018-01-151-57/+49
| | | | | | | | | | | | | | | | | | | | Replace long long with Uint64
| * | | | erts: Fix float_to_list(F, [{decimals,D}]).Sverker Eriksson2018-01-152-15/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example symptom: 1> float_to_list(0.145, [{decimals,1}]). "0.2" There were two problems in sys_double_to_chars_fast 1. Most serious was adding 0.55555555 / (10^D) instead of 0.5 / (10^D) which imposed a 5.5% risk of a faulty rounding up. 2. Using fixpoint for frac_part which lost significant bits if F < 0.5
| * | | | erts: Fix buffer overflow bug in erts_printf %fSverker Eriksson2018-01-151-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Sign character was not accounted for. Ex: float_to_list(-3.1265538967899625e+69, [{decimals,16}]).
* | | | Merge branch 'fhunleth/binary_to_integer_chec/PR-1671/OTP-14879' into maintLukas Larsson2018-01-172-6/+11
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * fhunleth/binary_to_integer_chec/PR-1671/OTP-14879: Fail if ':' is passed to binary_to_integer/2
| * | | | Fail if ':' is passed to binary_to_integer/2Frank Hunleth2018-01-032-6/+11
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: 1> binary_to_integer(<<":">>, 16). 3 After: 1> binary_to_integer(<<":">>, 16). ** exception error: bad argument in function binary_to_integer/2 called as binary_to_integer(<<":">>,16) Prior to this change, both list_to_integer/2 and binary_to_integer/2 would convert strings with values between ASCII '9' up to '0'+base for base > 10. For example, when converting in base 16, you could pass ':', ';', '<', '=', '>', and '?' without getting an exception. This was due to a missing check in c2int_is_invalid_char(). This change adds the missing check and a regression test for passing ':'. It also simplifies the code and tightens up an out-of-bounds check to make it off-by-one rather than off-by-two.
* | | | Fix a broken erlang:trace/3 link in docKonstantinos Kallas2018-01-171-1/+1
| | | |
* | | | Merge branch 'hasse/stdlib/unicode_stacktrace/OTP-14847/ERL-553' into maintHans Bolinder2018-01-161-2/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * hasse/stdlib/unicode_stacktrace/OTP-14847/ERL-553: stdlib: Handle Unicode when formatting stacktraces
| * | | | stdlib: Handle Unicode when formatting stacktracesHans Bolinder2018-01-151-2/+7
| | | | | | | | | | | | | | | | | | | | See also ERL-553 and ERL-544 (commit c3ddb0f).
* | | | | Merge branch 'sverker/cuddle-big-bin-tests' into maintSverker Eriksson2018-01-153-37/+40
|\ \ \ \ \
| * | | | | erts: Add non fatal big binary creation for test purposeSverker Eriksson2018-01-041-0/+13
| | | | | |
| * | | | | erts: Refactor ProcBin creationSverker Eriksson2018-01-042-37/+27
| | |/ / / | |/| | | | | | | | | | | | | into utility functions.
* | | | | Merge branch 'sverker/term_to_binary-spec/ERL-548/OTP-14876' into maintSverker Eriksson2018-01-151-1/+1
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | erts: Fix term_to_binary/2 specSverker Eriksson2018-01-091-1/+1
| |/ / /
* | | | Merge branch 'rickard/file-encoding-stacktraces/OTP-14847/ERL-544' into maintRickard Green2018-01-116-46/+210
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * rickard/file-encoding-stacktraces/OTP-14847/ERL-544: Fix encoding of filenames in stacktraces
| * | | | Fix encoding of filenames in stacktracesRickard Green2018-01-116-46/+210
| | |/ / | |/| |
* | | | Merge branch 'rickard/libs-libz/ERL-529/OTP-14840' into maintRickard Green2018-01-111-4/+8
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | * rickard/libs-libz/ERL-529/OTP-14840: Do not add -lz to LIBS; keep it in Z_LIB
| * | | Do not add -lz to LIBS; keep it in Z_LIBRickard Green2017-12-181-4/+8
| |/ /
* | | Merge PR-1664 from sverker/sverker/hipe-bs_put_utf8-gc-bug OTP-14850Sverker Eriksson2018-01-034-8/+12
|\ \ \ | | | | | | | | Fix GC bug for HiPE primop bs_put_utf8
| * | | Add PRIMOP_ABI_VSN to erts checksumSverker Eriksson2018-01-031-0/+7
| | | | | | | | | | | | | | | | | | | | in order to detect incompatible changes in primop interface (which we just did for bs_put_utf8) and refuse hipe loading.
| * | | Fix bug in hipe primop bs_put_utf8Sverker Eriksson2018-01-033-8/+5
| |/ / | | | | | | | | | by preventing it from doing GC, which generated code relies on.
* | | Merge branch 'sverker/cuddle-valgrind' into maintSverker Eriksson2017-12-213-8/+16
|\ \ \ | |/ / |/| |
| * | erts: Add core dumps from valgrind to z_SUITE searchSverker Eriksson2017-12-131-0/+2
| | |
| * | erts: Trim driver_SUITE:smp_select for slow valgrindSverker Eriksson2017-12-122-8/+14
| | | | | | | | | | | | | | | | | | | | | Symptom: "Closing pipe in state Waiting. Event lost?" Snake oil: Do erlang:yield() instead of busy spinning in "Waiting" state.
* | | Update release notesErlang/OTP2017-12-081-0/+137
| | |
* | | Update version numbersErlang/OTP2017-12-081-1/+1
| | |
* | | Merge branch 'john/erts/lcnt-fix-reg-proc-names/OTP-14803' into maintJohn Högberg2017-12-052-3/+27
|\ \ \
| * | | Fix process name resolution in lcnt resultsJohn Högberg2017-12-042-3/+27
| | | |
* | | | Merge pull request #1628 from mikpe/erts-hipe-more-print-fixesBjörn Gustavsson2017-12-043-11/+29
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | fix output formatting in several HiPE debug BIFs OTP-14804
| * | | fix output formatting in several HiPE debug BIFsMikael Pettersson2017-11-113-11/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix formatting in hipe_bifs:show_pcb/1, hipe_bifs:show_estack/1, and hipe_bifs:show_nstack/1. fflush(stdout) before switching from printf() to erts_printf() to avoid garbled output. Adjust field lengths to work on both 64- and 32-bit systems. Tested on Linux/x86_64 (64-bit) and Linux/ARMv7 (32-bit).
* | | | Merge PR-1636 from nox/enif-reallocSverker Eriksson2017-11-301-0/+16
|\ \ \ \ | | | | | | | | | | Document enif_realloc and pointer alignment guarantees
| * | | | Document alignment guarantees of enif_alloc and enif_reallocAnthony Ramine2017-11-231-0/+4
| | | | |
| * | | | Document enif_reallocAnthony Ramine2017-11-211-0/+12
| | | | |