Age | Commit message (Collapse) | Author |
|
|
|
* sverker/nif-resource-doc:
erts: Update docs for enif_make_resource
|
|
|
|
|
|
OTP-14527
|
|
OTP-14520
|
|
|
|
OTP-14527
|
|
All operations will now yield appropriately, allowing them to be used
freely in concurrent applications. This commit also deprecates the
functions listed below, although they won't raise deprecation
warnings until OTP 21:
zlib:adler32
zlib:crc32
zlib:inflateChunk
zlib:getBufSize
zlib:setBufSize
The behavior of throwing an error when a dictionary is required for
decompression has also been deprecated.
|
|
OTP-14520
|
|
* maint:
Bug fixes of statistics(wall_clock) and statistics(runtime)
Conflicts:
erts/emulator/beam/erl_time_sup.c
|
|
to include new defined properties in OTP-20
regarding comparison and serialization.
|
|
* rickard/statistics-time-fixes/OTP-14597/ERL-465:
Bug fixes of statistics(wall_clock) and statistics(runtime)
Conflicts:
erts/emulator/beam/erl_time_sup.c
|
|
|
|
* rickard/dist/OTP-14459:
Fix setnode/3 and erts_net_message()
|
|
|
|
|
|
|
|
* sverker/20/binary_to_atom-utf8-crash/ERL-474/OTP-14590:
erts: Fix crash in binary_to_atom/term for invalid utf8
|
|
De-duplicate bignums in the literal pool
|
|
* bjorn/erts/improve-beam-ops:
Optimize dispatch of loop_rec from recv_set
Add missing -no_next directives
Eliminate three arguments for erts_hibernate()
Eliminate three arguments for the apply() helper
Assign machine registers for X86-64
Annotate arithmetic instructions with likely/unlikely
Add annotations for likely/unlikely
ops.tab: Mark infrequently used instructions as %cold
Introduce '%warm' and beam_warm.h
|
|
We KNOW that recv_set instruction is immediately followed
by a loop_rec instruction.
|
|
|
|
We don't need to pass x(0), x(1), and x(2) because they
can already be found in the register array.
|
|
We don't need to pass x(0), x(1), and x(2) because they
can already be found in the register array.
|
|
Keep frequently used variables in machine registers.
|
|
We expect that:
* An arithmetic instruction is more likely to succeed
than to fail.
* An arithmetic instruction is more likely to have small
operands than bignum operands.
|
|
In a correct Erlang programs, we can expect that:
* A GC test instruction (such as test_heap) is more likely
not to do the GC.
* A BIF is more likely to succeed than to fail.
* A BIF is more likely to fail in a guard than in a body.
* An apply or fun call is likely to succeed.
Annotate conditions accordingly.
|
|
Instructions that used to be implemented in beam_emu.c
were not marked as cold as it would make no difference.
|
|
The bit syntax instructions are mixed among other instructions
in beam_hot.h and beam_cold.h.
Introduce a new hotness level called '%warm' with is associated
file beam_warm.h. Mark all bit syntax instructions as '%warm'.
|
|
* maint:
Upgrade to PCRE 8.41 from PCRE 8.40
|
|
OTP-14574
* rickard/pcre-8.41:
Upgrade to PCRE 8.41 from PCRE 8.40
|
|
|
|
* lukas/erts/port_SUITE_dropped_commands_fix:
erts: Fix port_SUITE:dropped_commands tc
|
|
* dszoboszlay/run-dropped_commands-test:
Execute the dropped_commands test case in port_SUITE
|
|
|
|
|
|
such as a sub-binary, of a correct utf8 string,
that ends in the middle of a character.
|
|
Remove backward compatibility support for float literals
OTP-14575
|
|
|
|
We start the port in the started process in order
to get the messages in the correct place and also
so that unloading the port driver does not kill the
test process.
|
|
Duplicate literals in the literal pool is a waste of memory.
Also, having unique literals can simplify some loader optimizations,
because we can known that if two literal indices are distinct, the
values must be distcint too.
|
|
Conflicts:
erts/emulator/beam/bif.c
erts/emulator/beam/dist.c
erts/emulator/beam/dist.h
erts/emulator/beam/erl_bif_info.c
erts/emulator/beam/erl_node_tables.c
erts/emulator/beam/erl_node_tables.h
erts/emulator/beam/external.c
|
|
|
|
|
|
|
|
|
|
|
|
Starting from R16B, floating point constants are stored
in the literal pool.
The backward compatibility support for the old representation
of floats has been kept long enough. Also, we might want to
ensure that all literals are unique in the future, and we certainly
don't want to update this code to ensure uniqueness.
|
|
* maint:
Remove time-consuming ethread_SUITE from smoke tests
|