aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-08-23Merge branch 'maint'Lukas Larsson
2019-08-23Merge pull request #2301 from stuart-thackray/saslLoggerStartup/OTP-15942Lukas Larsson
Start up of SASl when compared log level is all
2019-08-22Merge branch 'sverker/ets-test-cuddle'Sverker Eriksson
* sverker/ets-test-cuddle: stdlib: Fix ets_SUITE:tabfile_ext4
2019-08-22stdlib: Fix ets_SUITE:tabfile_ext4Sverker Eriksson
on machines with long host names. Move forward the file location interval to corrupt. An ETS table file corrupted in the header may still be readable with table content unchanged and that will cause tabfile_ext4 to fail. The header length increase with long host names and added table options.
2019-08-22Merge branch 'maint'Sverker Eriksson
2019-08-22Merge branch 'sverker/ets-delete-tree-trapping' into maintSverker Eriksson
* sverker/ets-delete-tree-trapping: erts: Refactor ets catree deletion
2019-08-22Merge branch 'maint'Ingela Anderton Andin
2019-08-22Merge branch 'ingela/ssl/test-cuddle' into maintIngela Anderton Andin
* ingela/ssl/test-cuddle: ssl: Make sure test starts in a "good" state ssl: Cuddle timeout
2019-08-22ssl: Make sure test starts in a "good" stateIngela Anderton Andin
2019-08-22ssl: Cuddle timeoutIngela Anderton Andin
2019-08-22Merge pull request #2351 from bjorng/bjorn/erts/optimize-cp-management/OTP-15077Björn Gustavsson
Optimize continuation pointer management
2019-08-22Optimize the move_call instructionsBjörn Gustavsson
The `move_call` instructions are combinations of a `move` instruction and a `call` instruction. As currently implemented, the `move` part of the instruction is executed in its entirety before the `call` part is even started. The reason is that the C compiler cannot see that it would be safe to read the target address of the call before writing to the move destination. Rewrite the instructions to explicitly read both the source for the move and the target address for the call before writing the destination of the move. Micro-benchmarks show a small but consistent speed-up after this change.
2019-08-22Optimize deallocate_return instructionsBjörn Gustavsson
Eliminating the CP register and putting continuation pointers directly on the stack made the deallocate_return instruction slower. Try to mitigate this slow down by specializing deallocate_return for small stack. For the move_deallocate_return instruction, reorder instructions to make it possible to execute the read instructions in parallel.
2019-08-22Optimize continuation pointer managementBjörn Gustavsson
The BEAM instructions for calling a function don't save the continuation pointer (return address) on the stack, but to a special BEAM register called CP. It is the responsibility of the called function to save CP to the stack frame before calling other functions. In the earlier implementations of BEAM on Sparc, CP was located in a CPU register. That meant that the continuation pointer was never written to memory when calling simple functions that didn't call other functions at all or ended in a tail-call to another function. The modern BEAM no longer keeps CP in CPU register. Instead, it is kept in the `process` struct (in `p->cp`). That means the continuation pointer must be written to the memory on every call, and if the called function will call other functions, it will must read the continuation pointer from `p->cp` and store it on the stack. This commit eliminates the concept of the CP register and modifies the call instructions to directly store the continuation pointer on the stack. That makes allocation and trimming of stack frames slightly faster. A more important benefit is simplification of code that handles continuation pointers. Because all continuation pointers are now stored on the stack, the special case of handling `p->cp` disappears. Co-authored-by: John Högberg <[email protected]>
2019-08-22Merge branch 'josevalim/edoc/no-more-inets/OTP-15999/PR-2317'Hans Bolinder
* josevalim/edoc/no-more-inets/OTP-15999/PR-2317: system: Remove special handling of EDoc in otp_SUITE. Remove inets dependency from edoc
2019-08-22Merge branch 'maint'Lukas Larsson
2019-08-21Merge pull request #2352 from distortedsignal/patch-2Lukas Larsson
Add helping verb
2019-08-21Merge branch 'maint'Ingela Anderton Andin
2019-08-21Merge branch 'ingela/ssl/test-cuddle' into maintIngela Anderton Andin
* ingela/ssl/test-cuddle: public_key: Use another time in test certificates ssl: Robustify test case
2019-08-21public_key: Use another time in test certificatesIngela Anderton Andin
Some OpenSSL versions has problems handling the current selected time causing interop tests to fail.
2019-08-21ssl: Robustify test caseIngela Anderton Andin
2019-08-21Merge branch 'hasse/remove_old_IO_requests/OTP-15695'Hans Bolinder
* hasse/remove_old_IO_requests/OTP-15695: stdlib: Remove old I/O-requests from test suites stdlib (doc): Do not mention old requests snmp: Update old format I/O-request sasl: Use encoding when reading terms parsetools (doc): Update old format I/O-requests mnesia: Update old format I/O-request kernel: Update old format I/O-requests stdlib: Remove no longer used function kernel: Remove commented out code stdlib: Remove commented out code
2019-08-21Merge branch 'maint'Hans Bolinder
* maint: eunit: Handle get_until requests with explicit encoding
2019-08-21Merge branch 'hasse/eunit/io_protocol_fix/OTP-16000' into maintHans Bolinder
* hasse/eunit/io_protocol_fix/OTP-16000: eunit: Handle get_until requests with explicit encoding
2019-08-20eunit: Handle get_until requests with explicit encodingHans Bolinder
2019-08-20system: Remove special handling of EDoc in otp_SUITE.Hans Bolinder
2019-08-20Merge branch 'maint'Lukas Larsson
2019-08-20Merge branch 'kpy3/fix-fd-leak-in-logger/OTP-15997' into maintLukas Larsson
* kpy3/fix-fd-leak-in-logger/OTP-15997: Close log files in case of inode change properly
2019-08-20stdlib: Remove old I/O-requests from test suitesHans Bolinder
2019-08-20stdlib (doc): Do not mention old requestsHans Bolinder
2019-08-20snmp: Update old format I/O-requestHans Bolinder
2019-08-20sasl: Use encoding when reading termsHans Bolinder
2019-08-20parsetools (doc): Update old format I/O-requestsHans Bolinder
2019-08-20mnesia: Update old format I/O-requestHans Bolinder
2019-08-20kernel: Update old format I/O-requestsHans Bolinder
2019-08-20stdlib: Remove no longer used functionHans Bolinder
2019-08-20kernel: Remove commented out codeHans Bolinder
2019-08-20stdlib: Remove commented out codeHans Bolinder
2019-08-20Merge branch 'ampleyfly/eunit/surefire_controlchars/OTP-15950/ERL-991/PR-2316'Hans Bolinder
* ampleyfly/eunit/surefire_controlchars/OTP-15950/ERL-991/PR-2316: ERL-991 Strip control codes from eunit_surefire output
2019-08-20Merge branch 'maint'Hans Bolinder
* maint: fun2ms: accept ++ in function head when called from shell
2019-08-20Merge branch 'legoscia/stdlib/fun2ms-plusplus/OTP-15992/PR-2322' into maintHans Bolinder
* legoscia/stdlib/fun2ms-plusplus/OTP-15992/PR-2322: fun2ms: accept ++ in function head when called from shell
2019-08-19Add helping verbTom Kelley
Needed a helping verb, added a helping verb.
2019-08-19Merge branch 'maint'Sverker Eriksson
2019-08-19Merge branch 'sverker/erl_interface/ei_decode_fun-fix/OTP-15996' into maintSverker Eriksson
* sverker/erl_interface/ei_decode_fun-fix/OTP-15996: erl_interface: Fix bug in ei_decode_fun for very old encoding
2019-08-19Merge branch 'maint'Ingela Anderton Andin
2019-08-19Merge branch 'ingela/ssl/test-cuddle' into maintIngela Anderton Andin
* ingela/ssl/test-cuddle: ssl: Add OpenSSL renegotiate sanity check ssl: Fix missing OpenSSL conf
2019-08-19ssl: Add OpenSSL renegotiate sanity checkIngela Anderton Andin
2019-08-19ssl: Fix missing OpenSSL confIngela Anderton Andin
2019-08-19Merge branch 'maint'Hans Nilsson
* maint: ssh: Use new ssh_connection:event() type in channel defs ssh: change type names ssh: The ssh_connection documentation is now generated ssh: Update ssh_sftp:start_channel documentation and code ssh: The ssh_sftp documentation is now generated ssh: The ssh_sftpd documentation is now generated
2019-08-19Merge branch 'hans/ssh/gendoc/OTP-15395' into maintHans Nilsson
* hans/ssh/gendoc/OTP-15395: ssh: Use new ssh_connection:event() type in channel defs ssh: change type names ssh: The ssh_connection documentation is now generated ssh: Update ssh_sftp:start_channel documentation and code ssh: The ssh_sftp documentation is now generated ssh: The ssh_sftpd documentation is now generated