Age | Commit message (Collapse) | Author |
|
* sverker/ets_SUITE-fixtable_iter_bag:
stdlib: ets_SUITE:fixtable_iter_bag
|
|
Turns out the bug in ets:next() that I tried to provoke
with this new test wasn't really there. Oh well.
|
|
* kostis/erl_syntax/fix-types:
erl_parse: Add documentation for exported types
erl_syntax: Fix some type declarations
erl_parse: Export some types needed for syntax_tools
|
|
* maint:
Updated stdlib runtime dependency to erts
Convert generated re replace and split tests from latin1 to UTF8
Adjust generated re replacement and split tests
Generate new re replacement and split tests using perl 5.22.1
Update internal PCRE to version 8.43
|
|
* rickard/pcre-8.43/OTP-15889:
Updated stdlib runtime dependency to erts
Convert generated re replace and split tests from latin1 to UTF8
Adjust generated re replacement and split tests
Generate new re replacement and split tests using perl 5.22.1
Update internal PCRE to version 8.43
|
|
|
|
* maint:
erts: Fix integer overflow in loader
erts: Fix integer overflow in list subtraction
|
|
* john/erts/lists_subtract_fixes/OTP-15938/OTP-15939:
erts: Fix integer overflow in loader
erts: Fix integer overflow in list subtraction
|
|
CMP_TERM returned an `Sint`, which overflowed the `int` used in
erl_rbtree for storing the comparison, causing list subtraction to
behave strangely.
|
|
* maint:
Optimize ordsets:union/1
|
|
|
|
`ordsets:union/1` is not especially efficient when calculating the
union of many ordsets. Rewrite it to use the highly optimized
`lists:umerge/1`.
|
|
|
|
|
|
Adjustment needed due to incompatibility between PCRE 8.43
and perl version 5.22.1
|
|
|
|
|
|
|
|
The added make target is described in HOWTO/TESTING.md.
|
|
* maint:
Update runtime dependency from stdlib to erts
Yield when validating UTF8 for long subject in re:run()
Add yield_on_subject_validation() test
Update runtime dependency from stdlib to erts
Only validate subject once when global is used in re:run()
Add global_unicode_validation() test
|
|
rickard-green/rickard/re-unicode-validation/OTP-15831/OTP-15836/ERL-876
re unicode validation
|
|
rickard/re-unicode-validation/OTP-15831/OTP-15836/ERL-876
* rickard/re-yield-unicode-validation/OTP-15836/ERL-876:
Update runtime dependency from stdlib to erts
Yield when validating UTF8 for long subject in re:run()
Add yield_on_subject_validation() test
|
|
|
|
rickard/re-unicode-validation/OTP-15831/OTP-15836/ERL-876
* rickard/re-global-unicode-validation/OTP-15831/ERL-876:
Update runtime dependency from stdlib to erts
Only validate subject once when global is used in re:run()
Add global_unicode_validation() test
|
|
* kjell/stdlib/ets_ordered_set_slow_react/OTP-15906:
ETS ordered_set: Improvements to the CA tree implementation
|
|
This commit only affects the implementation of ETS `ordered_set`
tables with the `write_concurrency` option enabled. Such tables are
implemented with a data structure that is called the contention
adapting search tree (CA tree). This commit introduces the following
changes:
* This commit causes a join to be triggered in one randomly selected
base node in about one of 1000 read unlock calls for base node
locks. No such joins happened before this commit. Before this
commit, operations that only acquired looks in read-mode never
triggered any contention adaptation. Therefore, the CA tree could
get stuck in a sub-optimal state in certain scenarios. This could
happen, for example, when a CA tree is first populated with parallel
inserts (which will cause splits of base nodes) and then only
read-only operations are applied to the data structure. Benchmark
results from the
`ets_SUITE:lookup_catree_par_vs_seq_init_benchmark/0` benchmark
function (which is included in this commit) shows that this change
can improve the throughput of the CA tree in the scenario described
above.
* Read-only operations will now also increase values of statistics
counters when they detect that they need to wait for other
operations. Only write operation changed statistics counters before
this commit. This improves the statistics that the adaptation
heuristics is based on.
* Additionally, this commit adds an upper and lower limit to the
contention statistics variables in the base nodes. Such limits did
not exist before this commit. This should, for example, make the CA
tree more responsive to contention after long periods of low
contention.
|
|
* maint:
Updated OTP version
Prepare release
|
|
* maint-21:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# erts/doc/src/notes.xml
# erts/vsn.mk
# lib/common_test/doc/src/notes.xml
# lib/common_test/vsn.mk
# lib/kernel/doc/src/notes.xml
# lib/kernel/vsn.mk
# lib/public_key/doc/src/notes.xml
# lib/public_key/vsn.mk
# lib/ssl/doc/src/notes.xml
# lib/ssl/vsn.mk
# lib/stdlib/doc/src/notes.xml
# lib/stdlib/vsn.mk
# make/otp_version_tickets
# otp_versions.table
|
|
|
|
* hasse/stdlib/chars_limit_bug/OTP-15875/ERL-967:
stdlib: Fix a bug concerning io_lib option 'chars_limit'
# Conflicts:
# lib/stdlib/test/io_SUITE.erl
|
|
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
|
|
* maint-22:
Updated OTP version
Prepare release
# Conflicts:
# make/otp_version_tickets
|
|
|
|
* hasse/stdlib/chars_limit_bug/OTP-15875/ERL-967:
stdlib: Fix a bug concerning io_lib option 'chars_limit'
# Conflicts:
# lib/stdlib/test/io_SUITE.erl
|
|
* maint:
stdlib: Fix a bug concerning io_lib option 'chars_limit'
|
|
* hasse/stdlib/chars_limit_bug/OTP-15875/ERL-967:
stdlib: Fix a bug concerning io_lib option 'chars_limit'
|
|
This commit only affects the implementation of ETS `ordered_set`
tables with the `write_concurrency` option enabled. Such tables are
implemented with a data structure that is called the contention
adapting search tree (CA tree). This commit introduces the following
changes:
* This commit causes a join to be triggered in one randomly selected
base node in about one of 1000 read unlock calls for base node
locks. No such joins happened before this commit. Before this
commit, operations that only acquired looks in read-mode never
triggered any contention adaptation. Therefore, the CA tree could
get stuck in a sub-optimal state in certain scenarios. This could
happen, for example, when a CA tree is first populated with parallel
inserts (which will cause splits of base nodes) and then only
read-only operations are applied to the data structure. Benchmark
results from the
`ets_SUITE:lookup_catree_par_vs_seq_init_benchmark/0` benchmark
function (which is included in this commit) shows that this change
can improve the throughput of the CA tree in the scenario described
above.
* Read-only operations will now also increase values of statistics
counters when they detect that they need to wait for other
operations. Only write operation changed statistics counters before
this commit. This improves the statistics that the adaptation
heuristics is based on.
* Additionally, this commit adds an upper and lower limit to the
contention statistics variables in the base nodes. Such limits did
not exist before this commit. This should, for example, make the CA
tree more responsive to contention after long periods of low
contention.
|
|
See also https://bugs.erlang.org/browse/ERL-967.
|
|
* maint:
Updated OTP version
Prepare release
|
|
* maint-21:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# erts/doc/src/notes.xml
# erts/vsn.mk
# lib/kernel/doc/src/notes.xml
# lib/kernel/src/kernel.appup.src
# lib/kernel/vsn.mk
# lib/ssl/doc/src/notes.xml
# lib/ssl/vsn.mk
# lib/stdlib/doc/src/notes.xml
# lib/stdlib/src/stdlib.appup.src
# lib/stdlib/vsn.mk
# make/otp_version_tickets
# otp_versions.table
|
|
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# make/otp_version_tickets_in_merge
|
|
* maint-22:
Updated OTP version
Prepare release
# Conflicts:
# make/otp_version_tickets
|
|
|
|
* maint:
stdlib: Fix a bug concerning io_lib option 'chars_limit'
|
|
* hasse/stdlib/chars_limit_bug/OTP-15847/ERL-957:
stdlib: Fix a bug concerning io_lib option 'chars_limit'
|
|
|
|
* hasse/stdlib/chars_limit_bug/OTP-15847/ERL-957:
stdlib: Fix a bug concerning io_lib option 'chars_limit'
# Conflicts:
# lib/stdlib/test/io_SUITE.erl
|
|
See also https://bugs.erlang.org/browse/ERL-957.
|
|
|
|
|