Age | Commit message (Collapse) | Author |
|
We can safely tell when a test_arity or is_record instruction is
superflous by keeping track of whether the size is exactly known
or not.
|
|
|
|
|
|
Reduce register shuffling in receive clauses
|
|
The type optimizations for is_record and test_arity checked whether
the arity was equal to the size stored in the type information,
which is incorrect since said size is the *minimum* size of the
tuple (as determined by previous instructions) and not its exact
size.
A future patch to the 'master' branch will restore these
optimizations in a safe manner.
|
|
Conflicts:
lib/ssl/src/tls_connection.erl
|
|
* ingela/ssl/error-handling-race/ERL-539/OTP-14852:
ssl: Prevent error handling race condition
|
|
ERL-539
|
|
|
|
Fix GC bug for HiPE primop bs_put_utf8
|
|
by preventing it from doing GC, which generated code relies on.
|
|
Previously we accepted trailing NULs, which was backwards compatible
as such usage never resulted in misbehavior in the first place. The
downside is that it prevented erts_native_filename_need from
returning an accurate number of *actual characters*, needlessly
complicating encoding-agnostic code like erts_osenv.
|
|
putenv(3) and friends aren't thread-safe regardless of how you slice
it; a global lock around all environment operations (like before)
keeps things safe as far as our own operations go, but we have
absolutely no control over what libc or a library dragged in by a
driver/NIF does -- they're free to call getenv(3) or putenv(3)
without honoring our lock.
This commit solves this by setting up an "emulated" environment which
can't be touched without going through our interfaces. Third-party
libraries can still shoot themselves in the foot but benign uses of
os:putenv/2 will no longer risk crashing the emulator.
|
|
* maint:
ssh: ssh_dbg updates
ssh: Better reports in some test case failures
ssh: Tests - timeout catches external ssh that does not disconnect
|
|
* hans/ssh/cuddle_ssh_test:
ssh: Better reports in some test case failures
ssh: Tests - timeout catches external ssh that does not disconnect
|
|
* hans/ssh/cuddle_ssh_dbg:
ssh: ssh_dbg updates
|
|
* maint:
tools: Correct a counting bug in Cover
|
|
* hasse/cover/fix_counting/OTP-14817/PR-1641:
tools: Correct a counting bug in Cover
|
|
|
|
into maint
* origin/ingela/inets/remove-legacy-test-suite:
inets: Remove old legacy SUITE
|
|
|
|
|
|
|
|
See also PR #1641, https://github.com/erlang/otp/pull/1641.
The bug was introduced in commit ab435488a (Erlang/OTP 18).
|
|
|
|
|
|
* hasse/stdlib/gen_server_bench:
stdlib: Optimize gen a little
stdlib: Introduce gen_server benchmark
|
|
jinterface: add package name for Java 9
|
|
false should be never, false not found in the source code
|
|
* raimo/ssl-dist-bench/OTP-14657:
Skip ssl_bench_SUITE, normally
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* ingela/dtls-cuddling:
dtls: Correct UDP listener cleanup
dtls: Correct return value in UDP listener initialization
|
|
|
|
* ingela/DTLS/retransmission-timers:
dtls: Use repeat_state to make sure retransmission timer is reset
|
|
|
|
* ingela/Jxck/PR-1656/OTP-14843:
remove duplicate operation for decode certificate
|
|
Handle a few more instructions in beam_utils. That will allow
beam_reorder to reorder more instructions, delaying get_tuple_element
instructions and reducing register shuffling in receive clauses.
|
|
v3_codegen: Don't let exit BIFs force a stack frame
|
|
|
|
completely deprecated operation with no effect.
|
|
Remove one of the duplicate word "use"
|
|
* dgud/kernel/refc_sched_wall_time/OTP-11694:
test: spawn scheduler_wall_time flag holder
Turn on scheduler_wall_time in an alive process
Redirect system_flag(scheduler_wall_time,_) to kernel_refc
kernel: add a resource reference counter
|
|
Can not start via rpc any more without spawning a keep alive process,
since it will stop collecting when process dies.
|
|
scheduler_wall_time is ref-counted so it will turn off
if process dies, keep the process that turns it on alive.
|