Age | Commit message (Collapse) | Author |
|
* fenollp/treewide_remove_unexpected_0xff/OTP-11323:
Remove ^L characters hidden randomly in the code. Not those used in text files as delimiters.
|
|
Add test data demonstrating that bsr is broken when shifting a large
number a huge number of bits to the right.
|
|
Add system_info(ets_limit) to provide a way to retrieve the runtime's
maximum number of ETS tables. Add tests and documentation for it too.
Also repair the alphabetical order of system_info/1 argument descriptions
in the documentation and in the erlang.erl clauses. Add new preloaded
erlang.erl due to that change. Also ensure all system_info/1 clauses are
represented in the erlang.xml source documentation -- a couple had been
inadvertently dropped in previous commits when other clauses were added.
|
|
files as delimiters.
While working on a tool that processes Erlang code and testing it against this repo,
I found out about those little sneaky 0xff. I thought it may be of help to other
people build such tools to remove non-conforming-to-standard characters.
|
|
When integer_to_binary/2 receives 0 or a negative number as an argument
with a base that is different from 10, it will return incorrect values
(<<>> in the case of 0) or it will crash (with negative numbers). This
commit fixes these problems and adds tests to cover these cases.
|
|
For applications where measurements show enhanced performance from the use
of a non-default number of emulator scheduler threads, having to accurately
set the right number of scheduler threads across multiple hosts each with
different numbers of logical processors is difficult because the erl +S
option requires absolute numbers of scheduler threads and scheduler threads
online to be specified.
To address this issue, add a +SP option to erl, similar to the existing +S
option but allowing the number of scheduler threads and scheduler threads
online to be set as percentages of logical processors configured and
logical processors available, respectively. For example, "+SP 50:25" sets
the number of scheduler threads to 50% of the logical processors
configured, and the number of scheduler threads online to 25% of the
logical processors available. The +SP option also interacts with any
settings specified with the +S option, such that the combination of options
"+S 4:4 +SP 50:50" (in either order) results in 2 scheduler threads and 2
scheduler threads online.
Add documentation for the +SP option.
Add tests for the +SP option to scheduler_SUITE.
Add tests and documentation for two existing features of the +S option: +S
0:0 resets the scheduler thread count and scheduler threads online count to
their defaults, and specifying negative numbers for +S results in those
values being subtracted from the default values for the host.
|
|
The actual port id is used to create a key from the
pointer value which is the ErlDrvPort. To do this
a new driver api function driver_async_port_key is
added and the driver API minor version is updated.
The documentation is updated and the faulty description of
how to spread ports over async threads is updated to
use the new API.
Testcase also added.
|
|
* lukas/erts/match_spec_test_silent/OTP-11232:
erts: Do not enable TRACE_SILENT when testing a ms
|
|
|
|
Smoke tests are meant to verify that a build of erlang has been successfull.
|
|
|
|
|
|
|
|
* rickard/test_case_fixes:
Conditionally skip process_SUITE tests that consume large amount of memory
|
|
|
|
* jw/fix-float-middle-endian/OTP-11201:
Fix binary construction on floating point middle-endian machines
Fix binary matching on floating point middle-endian machines
Fix erlang:phash2() on floating point middle-endian machines
Fix external term format BIFs on floating point middle-endian machines
|
|
* rickard/info/OTP-11196:
Add test cases for native atomics and jump table
Refuse to build SMP runtime by default without native atomics
Make information about use of jump table available via system_info BIF
Make ethread library information available via system_info BIF
Make emulator arguments available via the system_info BIF
|
|
|
|
* sverk/aoffcbf:
erts: Make aoffcbf default when migration is enabled
erts: Add new allocator strategy aoffcbf
OTP-11174
|
|
with better performance than aoffcaobf as we don't have to rearrange
the search tree when there are blocks of equal size.
|
|
This complements 933e701 (OTP-10209). Without this patch the test cases
"in_guard/1" and "coerce_to_float/1" in bs_construct_SUITE fail.
The added lines in bs_construct_SUITE cover all branches that were not
covered before (small and big numbers if BIT_OFFSET(erts_bin_offset) != 0).
|
|
This complements 933e701 (OTP-10209). Without this patch the test case
"bs_match_misc_SUITE:t_float/1" fails.
Simple error example:
1> <<_,_,_,_,_,_,_,_>> = <<1.25/float>>.
<<63,244,0,0,0,0,0,0>>
2> <<1.25/float>> = <<63,244,0,0,0,0,0,0>>.
** exception error: no match of right hand side value <<63,244,0,0,0,0,0,0>>
The additional test case is added because in a former version of this
patch the ERTS_FP_ERROR_THOROUGH check for NaN/infinity was mistakenly
applied on the still word-switched double.
|
|
This complements 933e701 (OTP-10209).
Simple error example:
1> <<131,70,63,240,0,0,0,0,0,0>> = term_to_binary(1.0, [{minor_version,1}]).
** exception error: no match of right hand side value <<131,70,0,0,0,0,63,240,0,0>>
2> 1.0 = binary_to_term(<<131,70,63,240,0,0,0,0,0,0>>).
** exception error: no match of right hand side value 5.299808824e-315
But roundtrip always works:
3> 1.0 = binary_to_term(term_to_binary(1.0, [{minor_version,1}])).
1.0
|
|
|
|
* pan/happi/yield_in_term_to_binary:
Add testcase to stress extra_root
term_to_binary: Remove debug code and set production trap levels
Teach erl_gc:offset_rootset about extra_root
Teach external.c to handle reallocs before compression
Make all steps ofterm_to_binary work in chunks and yield
Make term_to_binary yield (trap).
OTP-11163
|
|
|
|
* sverk/darwin-unlimited-select:
erts: Fix dynamic select for darwin
erts: Refactor unlimited select patch
erts: Fix bug in unlimited fd_set patch
Use _DARWIN_UNLIMITED_SELECT in erl_poll
|
|
* pan/r16b01/system_monitor_long_schedule/OTP-11067:
Minor spelling correction
Add system_monitor of long_schedule
|
|
* rickard-sverker/carrier-migration/OTP-10279:
erts: Document the +M<S>acul command line argument
erts: Carrier pool information in allocator information
erts: Use carrier pool for migration of carriers
erts: Implement test case for carrier pool
erts: Implement carrier pool
erts: Fix type errors in info functions
erts: Use Uint64 for call counts
erts: Fix failing testcase alloc_SUITE:rbtree
erts: Rename allocator aoffcbf to aoffcaobf
erts: Remove unnecessary flag arguments in allocators
erts: Remove SBMBC allocator
erts: Add test for add_mbc and remove_mbc callbacks
erts: Fix deallocation in removed carrier
erts: Change naive list to rb-tree of carriers in AOFF allocator
erts: Prepare aoff allocator for carrier migration
erts: Make carrier header sizes customizable
erts: Add "bestfit within carrier" for aoff allocator (aoffcbf)
|
|
|
|
|
|
* lukas/r16b01/testcase-fixes/OTP-11138:
Do not fail if there is no variables file
Run iter max ports on a seperate vm with smaller port table
Set max ports for slave node
Decrease sleep timer
|
|
and add documentation in erts_alloc
|
|
|
|
|
|
by putting blocks from different carrier into separate search trees.
Carriers are currently organized in a naive linked list by address order.
|
|
|
|
* rickard/ptab-id-alloc/OTP-11077:
Introduce a better id allocation algorithm for PTabs
|
|
* sverk/win64-fixes:
erts: Change some more 'long' to pointer sized int (ErlDrvUInt)
erts: Fix crash in nif_SUITE for win64
erts: Fix assert in isdigit for negative characters
|
|
|
|
* rickard/nosuspend/OTP-11076:
Only verify not busy for erlang:send(Port, Msg, [nosuspend]) until scheduled
|
|
This allows erl_poll to select() on file descriptors greater than
FD_SETSIZE (1024) on Darwin. The fd sets are manually (re)allocated and
freed.
|
|
|
|
|
|
'long' is not pointer sized on win64
|
|
|
|
To ensure that 'master' compiles when we merge 'maint' to it,
regardless of which encoding is default in 'master', all source
files with non-ascii characters *must* have the encoding specified.
|
|
|
|
|
|
|