Age | Commit message (Collapse) | Author |
|
* rickard/barriers/OTP-9281:
Silence warnings
Fix build with hipe on amd64
Reduce number of atomic ops
Use 32-bit atomic for port snapshot
Remove pointless erts_ports_alive variable
Ensure quick break
Ensure that all rehashing information are seen when done
Ensure that stack updates are seen when stack is released
Add needed barriers for write_concurrency tables
Homogenize memory barriers on atomics
|
|
|
|
|
|
Counters for active, and used schedulers have been coalesced in
order to reduce the amount of atomic operations needed.
Some currently not strictly necessary barriers have also been added
in order to be future proof.
|
|
|
|
|
|
Make sure that we don't have to wait in poll before break
handling is done.
|
|
This is not a bugfix. The change is done in order to avoid a
future bug.
|
|
Ets tables using ordered_set could potentially get into an
internally inconsistent state.
|
|
* bjorn/fix-warnings/OTP-9250:
Eliminate alias warning in gcc 4.5.2
erl_trace: Eliminate alias warning
|
|
* bjorn/test-environment-improvements/OTP-9297:
erlexec: Make ERL_<version>_FLAGS behave like ERL_AFLAGS
cerl: Fix several incompatibilities with 'erl'
Teach erlexec the -emu_name_exit option
cerl: Remove ancient obsolete options
|
|
* bjorn/fix-binary-overflow/OTP-9118:
Fix overflow in list_to_bitstring/1
Replace io_list_len() with erts_iolist_size()
Make port_command/2 reject non-byte sized bitstrings
io.c: Make io_list_vec_len() less general
iolist_size/1: Fix truncation of result
Test iolist_size/1 with bad arguments
binary_SUITE: Remove workaround for avoiding stack overflow
|
|
Ets tables using the write_concurrency option could potentially get
into an internally inconsistent state.
|
|
* hb/stdlib/dets_tablenames/OTP-9282:
Allow Dets tablenames to be arbitrary terms
Conflicts:
lib/stdlib/src/dets.erl
|
|
* hb/stdlib/doc_specs/OTP-9271:
Use Erlang specs and types for documentation
Conflicts:
lib/stdlib/doc/src/timer.xml
|
|
* hb/stdlib/specs/OTP-9267:
Types and specifications have been modified and added
Conflicts:
lib/stdlib/src/timer.erl
|
|
* hb/kernel/doc_specs/OTP-9272:
Use Erlang specs and types for documentation
|
|
* hb/kernel/specs/OTP-9268:
Types and specifications have been modified and added
|
|
|
|
* sverker/halfword-printf-relative-terms/OTP-9292:
ETS usage of erts_printf %R
erts_printf %R for relative ets-terms in halfword-vm
Another halfword is_same-bug for ETS ordered_set
|
|
* sverker/halfword-high-alloc/OTP-9291:
Present 'low' memory count for halfword-vm with erlang:memory()
Fix faulty values from erlang:memory() on halfword-vm
Allow allocator disable for high memory (better valgrind for halfword)
Expand the use of high memory allocation in halfword emulator
|
|
* dgud/mnesia/add_index_crash/OTP-9285:
Fix mnesia crash when adding index on non loaded tables.
|
|
* dgud/mnesia/startup-timing:
Use recover_nodes when deciding alive nodes
|
|
* dgud/mnesia/test-fixes:
Verify that remote data is commited before dirty ops begin
Fix mnesia own small test framework so it works with the re-written tests.
|
|
Fixes timing issue in test cases
|
|
|
|
|
|
Use Erlang specs and types for documentation
|
|
* dc/improved_find_redist:
support new SDKs in find_redist.sh and fallback to $ERL_TOP as last resort
OTP-9287
|
|
* pan/release_docs-use-newly-built-escript/OTP-9176:
Teach toplevel makefile to always use newly built escript.
Fix for Makefile.in invoking xref_mod_app.escript
|
|
* kenneth/asn1/failingtests/OTP-9286:
Corrected test case that failed because of the removal of a catch in timer:tc
|
|
The test case is called test_inline and is using the wrong module name 'Mod1'
instead of 'Mod'. This has never been working correcty but was hidden by the catch in timer:tc.
|
|
* dgud/timer_tc/OTP-9169:
Add timer:tc/1 which measures elapsed time for a fun/0
|
|
Also removes the 'catch' from timer:tc functions which masked errors
in measuring code.
|
|
* dgud/et/window-fix/OTP-9238:
Windows fixes, content_viewer window size was wrong and removed focus stealing
|
|
|
|
This could happen on ram_copies tables.
|
|
* rickard/gc-other/OTP-9211:
Fix bad assertions
Avoid scheduling of processes being garbage collected by others
|
|
|
|
|
|
The contents of the ERL_<version>_FLAGS undocumented environment
variable would be added at the end of the command line passed
to the BEAM emualator (similar to ERL_ZFLAGS), making it impossible
to override (for example) "-smp" with "-smp disable" on the command
line.
To allow overriding, put the contents of ERL_<version>_FLAGS at
the beginning of the command line (similar to ERL_AFLAGS).
Since the ERL_<version>_FLAGS variable is undocumented and
unsupported, it is OK to change its behaviour in a minor release.
|
|
Invoking 'cerl' like 'cerl -smp' would only start the smp emulator
if default was to start the non-smp emulator, otherwise 'erlexec'
would try to start 'beam.smp.smp'. Furthermore 'cerl -smp disable'
would be handled in the same way as 'cerl -smp'.
|
|
It is difficult/impossible to find out whether an invocation of
'erl' will start the smp emulator or the non-smp emulator
(short of actually starting the emulator). Therefore we will need
a way to ask 'erlexec'.
|
|
The -frag and -smp_frag options was used to start an (at the time)
experimental build of the emulator. The -shared and -hybrid option
was used to start experimental versions of the emulator with
alternate heap architectures.
|
|
Atomic operations with specified barriers have specified barrier semantics.
Set and read operations have undefined barrier semantics. All other atomic
operations implied full memory barriers, except when using the libatomic_ops
library and the tilera atomics api.
Some code in the runtime system assumed that all operations used (except for
set, read and specified) implied full memory barriers. The use of the
libatomic_ops library and the tilera atomics api have therefore been modified
to behave as the other implementations.
Some atomic operations with specified barrier semantics on sparc32 have also
been been relaxed in this commit.
|
|
* gl/erl_do_receive_msg/OTP-9241:
The function 'erl_xreceive_msg' returned garbage in the 'to' and 'to_name' members of the message. The reason for that was found in the 'erl_do_receive_msg' function. When no 'pid' is provided by the sender, like when doing rpc calls as those uses registered name sends, it doesn't initialize the 'to' member and also the 'to_name' member is copied by the function.
|
|
|
|
|
|
Avoid creating two variable names referring to the same memory
area, because that can cause aliasing warnings in some versions of
gcc.
|
|
|