Age | Commit message (Collapse) | Author |
|
The expressions fun M:F/A, when all elements are literals are also
treated as a literal. Since they have consistent representation and
don't depend on the code currently loaded in the VM, this is safe.
This can provide significant performance improvements in code using such
functions extensively - a full function call to erlang:make_fun/3 is
replaced by a single move instruction and no register shuffling or
saving registers to stack is necessary. Additionally, compound data
types that contain such external functions as elements can be treated as
literals too.
The commit also changes the representation of external funs to be a
valid Erlang syntax and adds support for literal external funs to core
Erlang.
|
|
Make io_lib:unscan_format/1 work with pad char and default precision
OTP-14958
|
|
Improve handling of maps. Addendum to b57e890.
|
|
Improve documentation of io:format ~p when Unicode is involved
|
|
|
|
Fix typo in erl_tar:format_error/1 docs
|
|
|
|
|
|
* lukas/kernel/fix_os_cmd_max_size_win32/OTP-14940:
stdlib: Fix doc link in timer
kernel: Fix handling of os:cmd option max_size in win
|
|
|
|
* maint:
ERL-558 Add the missing function clause for string:prefix (#1702)
|
|
OTP-14942
|
|
|
|
* peterdmv/stdlib/improve_uri_string_api/OTP-14910:
stdlib: Update uri_string documentation (HTML 5.2)
stdlib: Improve URI normalization in uri_string
Change-Id: I1b85e125ae3bc64e04b04ab884ca603217123167
|
|
* john/erts/binary-bin_to_list-performance-fix/OTP-14741:
Replace binary:bin_to_list CIF implementation with binary_to_list
|
|
* maint:
Skip testing unavailable interfaces in inet_SUITE:getifaddrs
Make re_SUITE:sub_binaries less unstable
|
|
The small sub-binary conversion trick in the GC broke this test
pretty often on some machines.
|
|
binary:bin_to_list had a poor implementation that resulted in
excessive garbage collection. binary_to_list is almost identical and
has a generally better implementation, so I've replaced
binary:bin_to_list's CIF with a thin wrapper around binary_to_list.
Granted, binary_to_list has a deprecated indexing scheme, but we're
unlikely to ever remote it entirely and it's somewhat easy to move
it to the 'binary' module later on.
|
|
dialyzer: Compute MD5s using the .beam file (OTP-14937)
|
|
Add ets:whereis/1 for resolving table names -> tid()
|
|
* maint:
stdlib: Correct a minor epp bug
|
|
* raimo/stdlib/rand-polish-stat-tests:
Decrease tolerance a wee bit
Repeat stat tests to only fail for systematic errors
Fix histogram and outlier checks
|
|
|
|
|
|
|
|
The bug was introduced in 87a0af4 (R18).
|
|
|
|
|
|
|
|
|
|
- Original link to HTML 5.0 specification was broken as the
document was moved when later revisions were released.
- Form-urlencoded query string handling conforms to the
HTML 5.2 specification that references WHATWG URL
(10 Jan 2018).
- HTML 5.2 does not specify handling of non-UTF-8
form-urlencoded query strings, but it is still supported
as described in HTML 5.0.
Change-Id: I44603bb501530b16651ecbb9a26ea64e119f83d9
|
|
* 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
|
|
into 'sverker/master/alloc-n-migration/ERIERL-88'
|
|
into 'sverker/maint-20/alloc-n-migration/ERIERL-88'
OTP-14915
OTP-14916
OTP-14917
OTP-14918
|
|
- normalize/1 accepts uri_map() as input type and can return
error() if URI parsing fails.
- Added normalize/2 that can return a normalized uri_map().
Change-Id: Icdd2e60c15019d3eec2e7bc994cae03066a79194
|
|
* hasse/no_get_stacktrace/OTP-14861:
erts: Update abstract format doc with stacktrace variable
wx: Do not call erlang:get_stacktrace()
tools: Do not call erlang:get_stacktrace()
stdlib: Do not call erlang:get_stacktrace()
sasl: Do not call erlang:get_stacktrace()
runtime_tools: Do not call erlang:get_stacktrace()
reltool: Do not call erlang:get_stacktrace()
parsetools: Do not call erlang:get_stacktrace()
observer: Do not call erlang:get_stacktrace()
mnesia: Do not call erlang:get_stacktrace() (cont)
mnesia: Do not call erlang:get_stacktrace()
kernel: Do not call erlang:get_stacktrace()
inets: Do not call erlang:get_stacktrace()
eunit: Do not call erlang:get_stacktrace()
et: Do not call erlang:get_stacktrace()
dialyzer: Do not call erlang:get_stacktrace()
debugger: Do not call erlang:get_stacktrace()
debugger: Do not try to restore stacktrace
common_test: Do not call erlang:get_stacktrace()
|
|
|
|
* emj/stdlib/tar-repro/PR-1608/OTP-14834:
Add options for creating reproducible tars
Return error when unable to make dir
|
|
|
|
|
|
|
|
Conflicts:
lib/stdlib/src/gen_statem.erl
|
|
* raimo/stdlib/optimize-gen_statem:
Optimize plain call response time
Correct typo in design principles for gen_statem
|
|
* raimo/stdlib/gen-bench-fsm-vs-statem:
Dodge divide by zero
Introduce gen_statem vs gen_fsm benchmark
Remove test suite warning
|
|
|
|
Matching can be done on any terms.
|
|
* maint:
kernel: Correct contracts and a bug in group_history
stdlib: Correct contracts
dialyzer: Optimize handling of a lot of warnings
Conflicts:
lib/kernel/src/erl_boot_server.erl
|
|
|
|
|
|
|