aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2018-01-08Reintroduce the arity optimization removed in OTP-14855John Högberg
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.
2018-01-08Merge branch 'john/erts/putenv-thread-safety/OTP-14666'John Högberg
2018-01-08Merge branch 'maint'John Högberg
2018-01-08Merge pull request #1662 from bjorng/bjorn/compiler/beam_utilsBjörn Gustavsson
Reduce register shuffling in receive clauses
2018-01-04Remove unsafe is_record/test_arity optimizationsJohn Högberg
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.
2018-01-04Merge branch 'maint'Ingela Anderton Andin
Conflicts: lib/ssl/src/tls_connection.erl
2018-01-04Merge branch 'ingela/ssl/error-handling-race/ERL-539/OTP-14852' into maintIngela Anderton Andin
* ingela/ssl/error-handling-race/ERL-539/OTP-14852: ssl: Prevent error handling race condition
2018-01-04ssl: Prevent error handling race conditionIngela Anderton Andin
ERL-539
2018-01-03Merge branch 'maint'Sverker Eriksson
2018-01-03Merge PR-1664 from sverker/sverker/hipe-bs_put_utf8-gc-bug OTP-14850Sverker Eriksson
Fix GC bug for HiPE primop bs_put_utf8
2018-01-03Fix bug in hipe primop bs_put_utf8Sverker Eriksson
by preventing it from doing GC, which generated code relies on.
2018-01-03Disallow NULs in filename-encoded stringsJohn Högberg
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.
2018-01-03Replace the libc environment with a thread-safe emulationJohn Högberg
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.
2017-12-22Merge branch 'maint'Hans Nilsson
* maint: ssh: ssh_dbg updates ssh: Better reports in some test case failures ssh: Tests - timeout catches external ssh that does not disconnect
2017-12-22Merge branch 'hans/ssh/cuddle_ssh_test' into maintHans Nilsson
* hans/ssh/cuddle_ssh_test: ssh: Better reports in some test case failures ssh: Tests - timeout catches external ssh that does not disconnect
2017-12-22Merge branch 'hans/ssh/cuddle_ssh_dbg' into maintHans Nilsson
* hans/ssh/cuddle_ssh_dbg: ssh: ssh_dbg updates
2017-12-22Merge branch 'maint'Hans Bolinder
* maint: tools: Correct a counting bug in Cover
2017-12-22Merge branch 'hasse/cover/fix_counting/OTP-14817/PR-1641' into maintHans Bolinder
* hasse/cover/fix_counting/OTP-14817/PR-1641: tools: Correct a counting bug in Cover
2017-12-21Merge branch 'maint'Ingela Anderton Andin
2017-12-21Merge remote-tracking branch 'origin/ingela/inets/remove-legacy-test-suite' ↵Ingela Anderton Andin
into maint * origin/ingela/inets/remove-legacy-test-suite: inets: Remove old legacy SUITE
2017-12-21ssh: ssh_dbg updatesHans Nilsson
2017-12-21ssh: Better reports in some test case failuresHans Nilsson
2017-12-21ssh: Tests - timeout catches external ssh that does not disconnectHans Nilsson
2017-12-21tools: Correct a counting bug in CoverHans Bolinder
See also PR #1641, https://github.com/erlang/otp/pull/1641. The bug was introduced in commit ab435488a (Erlang/OTP 18).
2017-12-21Merge branch 'maint'Sverker Eriksson
2017-12-21Merge branch 'sverker/cuddle-valgrind' into maintSverker Eriksson
2017-12-21Merge branch 'hasse/stdlib/gen_server_bench'Hans Bolinder
* hasse/stdlib/gen_server_bench: stdlib: Optimize gen a little stdlib: Introduce gen_server benchmark
2017-12-21vladdu/jinterface_java9/PR-1657/OTP-14844Lukas Larsson
jinterface: add package name for Java 9
2017-12-21Merge pull request #1651 from getong/doc_updateLukas Larsson
false should be never, false not found in the source code
2017-12-20Merge branch 'raimo/ssl-dist-bench/OTP-14657'Raimo Niskanen
* raimo/ssl-dist-bench/OTP-14657: Skip ssl_bench_SUITE, normally
2017-12-20inets: Remove old legacy SUITEIngela Anderton Andin
2017-12-20stdlib: Optimize gen a littleHans Bolinder
2017-12-20stdlib: Introduce gen_server benchmarkHans Bolinder
2017-12-20Merge branch 'maint'Ingela Anderton Andin
2017-12-20dtls: Add handling of lost key exchange in cipher stateIngela Anderton Andin
2017-12-20ssl: Correct DTLS client close handlingIngela Anderton Andin
2017-12-20Merge branch 'maint'Ingela Anderton Andin
2017-12-20Merge branch 'ingela/dtls-cuddling' into maintIngela Anderton Andin
* ingela/dtls-cuddling: dtls: Correct UDP listener cleanup dtls: Correct return value in UDP listener initialization
2017-12-20Merge branch 'maint'Ingela Anderton Andin
2017-12-20Merge branch 'ingela/DTLS/retransmission-timers' into maintIngela Anderton Andin
* ingela/DTLS/retransmission-timers: dtls: Use repeat_state to make sure retransmission timer is reset
2017-12-20Merge branch 'maint'Ingela Anderton Andin
2017-12-20Merge branch 'ingela/Jxck/PR-1656/OTP-14843' into maintIngela Anderton Andin
* ingela/Jxck/PR-1656/OTP-14843: remove duplicate operation for decode certificate
2017-12-20Reduce register shuffling in receive clausesBjörn Gustavsson
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.
2017-12-20Merge pull request #1659 from bjorng/bjorn/compiler/avoid-stackframeBjörn Gustavsson
v3_codegen: Don't let exit BIFs force a stack frame
2017-12-20Merge branch 'maint'Ingela Anderton Andin
2017-12-19remove duplicate operation for decode certificateJxck
completely deprecated operation with no effect.
2017-12-19Merge pull request #1660 from bitnitdit/ssl_doc_duplicate_wordIngela Andin
Remove one of the duplicate word "use"
2017-12-19Merge branch 'dgud/kernel/refc_sched_wall_time/OTP-11694'Dan Gudmundsson
* 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
2017-12-19test: spawn scheduler_wall_time flag holderDan Gudmundsson
Can not start via rpc any more without spawning a keep alive process, since it will stop collecting when process dies.
2017-12-19Turn on scheduler_wall_time in an alive processDan Gudmundsson
scheduler_wall_time is ref-counted so it will turn off if process dies, keep the process that turns it on alive.