aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2017-02-08Include more otp_SUITE tests cases in the smoke testBjörn Gustavsson
For the benefit of Travis CI, include more test cases from otp_SUITE in the smoke test. That will avoid having to run a pull request through the daily builds to find those kind of minor issues.
2017-02-08Merge branch 'maint'Raimo Niskanen
Conflicts: OTP_VERSION
2017-02-08Merge branch 'maint-19' into maintRaimo Niskanen
Conflicts: OTP_VERSION
2017-02-07Prepare releaseErlang/OTP
2017-02-07Merge branch 'raimo/efile_drv-read_file-use-fstat/OTP-14184' into maint-19Erlang/OTP
* raimo/efile_drv-read_file-use-fstat/OTP-14184: Use fstat if it exists in efile_openfile
2017-02-07Merge branch 'sverker/bin2term-zlib-bug/ERL-340/OTP-14159' into maint-19Erlang/OTP
* sverker/bin2term-zlib-bug/ERL-340/OTP-14159: erts: Fix binary_to_term for compressed and zlib >= v1.2.9
2017-02-07Use fstat if it exists in efile_openfileRaimo Niskanen
2017-02-06Add binary overhead for magic ref/binariesRickard Green
2017-02-06Adjust the only usage of exposed magic binariesRickard Green
2017-02-06Use magic refs for maps merge trap contextRickard Green
2017-02-06Use magic refs binary_to_term/term_to_binary trap contextRickard Green
2017-02-06Use magic refs for distributed send trap contextRickard Green
2017-02-06Use magic refs for unicode static NIFs trapsRickard Green
2017-02-06Use magic refs for binary compile patternsRickard Green
2017-02-06Use magic refs for list_to_binary/binary_to_list trapsRickard Green
2017-02-06Use magic refs for compiled match specsRickard Green
2017-02-06Use magic refs for re:run() static NIFs trapRickard Green
2017-02-06Use magic refs for code loading stateRickard Green
2017-02-06Use magic refs in trapping processes()/ports() BIFsRickard Green
2017-02-06Use magic refs for NIF resourcesRickard Green
2017-02-06Implement magic referencesRickard Green
Magic references are *intentionally* indistinguishable from ordinary references for the Erlang software. Magic references do not change the language, and are intended as a pure runtime internal optimization. An ordinary reference is typically used as a key in some table. A magic reference has a direct pointer to a reference counted magic binary. This makes it possible to implement various things without having to do lookups in a table, but instead access the data directly. Besides very fast lookups this can also improve scalability by removing a potentially contended table. A couple of examples of planned future usage of magic references are ETS table identifiers, and BIF timer identifiers. Besides future optimizations using magic references it should also be possible to replace the exposed magic binary cludge with magic references. That is, magic binaries that are exposed as empty binaries to the Erlang software.
2017-02-06Implement erts_refc_inc_unless()Rickard Green
2017-02-06Merge branch 'maint'Rickard Green
* maint: Atomic reference count of binaries also in non-SMP Conflicts: erts/emulator/beam/erl_fun.c
2017-02-06Merge branch 'rickard/binary-refc' into maintRickard Green
OTP-14202 * rickard/binary-refc: Atomic reference count of binaries also in non-SMP Conflicts: erts/emulator/beam/beam_bp.c
2017-02-06Atomic reference count of binaries also in non-SMPRickard Green
NIF resources was not handled in a thread-safe manner in the runtime system without SMP support. As a consequence of this fix, the following driver functions are now thread-safe also in the runtime system without SMP support: - driver_free_binary() - driver_realloc_binary() - driver_binary_get_refc() - driver_binary_inc_refc() - driver_binary_dec_refc()
2017-02-06Merge branch 'maint'Rickard Green
* maint: Dirty schedulers should not touch scheduler data pointed to by process struct
2017-02-06Merge branch 'rickard/ds-fix' into maintRickard Green
OTP-14122 * rickard/ds-fix: Dirty schedulers should not touch scheduler data pointed to by process struct Conflicts: erts/emulator/beam/erl_process.c
2017-02-06Merge branch 'maint'Rickard Green
* maint: Use a hole-marker that cannot be mistaken for a valid term on the heap
2017-02-06Merge branch 'rickard/hole-marker' into maintRickard Green
* rickard/hole-marker: Use a hole-marker that cannot be mistaken for a valid term on the heap
2017-02-06Merge branch 'hm/escript-emulator'Rickard Green
OTP-14201 * hm/escript-emulator: escript: Handle symbolic link to a standalone escript
2017-02-03erts: Rename ErlNifResource as ErtsResourceSverker Eriksson
as it's not part of the API
2017-02-03erts: Add deallocation veto for magic destructorsSverker Eriksson
A magic destructor can return 0 and thereby take control and prolong the lifetime of a magic binary.
2017-02-03Merge branch 'master' into sverker/enif_selectSverker Eriksson
2017-02-03Merge branch 'egil/20/erts/signal-service/OTP-14186'Björn-Egil Dahlberg
* egil/20/erts/signal-service/OTP-14186: kernel: Document signal server erts: Use os module instead of erts_internal for set_signal/2 erts: Do not handle SIGILL erts: Fix thread suspend in crashdump erts: Do not enable SIGINT erts: Use generic signal handler erts: Add OS signal tests erts: Handle SIGUSR1 via signal service instead erts: Handle SIGTERM via signal service instead kernel: Add gen_event signal server and default handler erts: Add SIGHUP signal handler erts: Remove whitespace errors Conflicts: erts/emulator/beam/bif.tab
2017-02-03Use a hole-marker that cannot be mistaken for a valid term on the heapRickard Green
2017-02-03Merge branch 'maint'Björn-Egil Dahlberg
2017-02-03Fix merge commitBjörn-Egil Dahlberg
This fixes commit f0867aa2ccbbf5677e0577bba08f8b7bc53ec0ed
2017-02-03erge branch 'maint'Hans Nilsson
Conflicts: OTP_VERSION
2017-02-03Merge branch 'maint-18' into maintHans Nilsson
Conflicts: OTP_VERSION erts/doc/src/notes.xml erts/emulator/sys/unix/erl_unix_sys.h erts/emulator/sys/unix/sys.c erts/vsn.mk lib/crypto/c_src/crypto.c lib/crypto/doc/src/notes.xml lib/crypto/vsn.mk lib/inets/doc/src/notes.xml lib/inets/vsn.mk lib/ssh/doc/src/notes.xml lib/ssh/src/ssh.app.src lib/ssh/src/ssh_connection_handler.erl lib/ssh/vsn.mk otp_versions.table
2017-02-02Dirty schedulers should not touch scheduler data pointed to by process structRickard Green
2017-02-02erts: Add size of literals to module code sizeSverker Eriksson
in crash dump and (l)oaded command in break menu.
2017-02-02Merge branch 'egil/remove-warnings/OTP-14180'Björn-Egil Dahlberg
* egil/remove-warnings/OTP-14180: erts: Remove unnecessary warnings
2017-02-02erts: Use os module instead of erts_internal for set_signal/2Björn-Egil Dahlberg
* Add specs * Change return signature to 'ok' instead of 'true'
2017-02-02erts: Do not handle SIGILLBjörn-Egil Dahlberg
* Remove SIGILL from signal whitelist
2017-02-02erts: Fix thread suspend in crashdumpBjörn-Egil Dahlberg
* move signal handler setup
2017-02-02erts: Do not enable SIGINTBjörn-Egil Dahlberg
2017-02-02erts: Use generic signal handlerBjörn-Egil Dahlberg
2017-02-02erts: Add OS signal testsBjörn-Egil Dahlberg
2017-02-01Prepare releaseErlang/OTP
2017-02-01Merge branch 'sverker/bin2term-zlib-bug/ERL-340/OTP-14159' into maint-18Erlang/OTP
* sverker/bin2term-zlib-bug/ERL-340/OTP-14159: erts: Fix binary_to_term for compressed and zlib >= v1.2.9