aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-10-14erts: Remove debug printout for hipe loader stateSverker Eriksson
creation and destruction.
2016-10-14erts: Free hipe_refs and hipe_sdesc of a failed loadSverker Eriksson
2016-10-14erts: Refactor out hipe_purge_refs/sdescSverker Eriksson
from hipe_purge_module.
2016-10-14erts: Refactor hipe_loader_state_dtor into a true destructorSverker Eriksson
that is only called once. Basically switch hipe_free_loader_state and hipe_loader_state_dtor.
2016-10-14hipe: TRY fix llvm external calls to own moduleSverker Eriksson
to not be transformed to local calls. code_SUITE:uprade still fails if run with compile option {hipe,to_llvm}
2016-10-14kernel: Fix strange 'ok' return value from code_serverSverker Eriksson
when failing to load native code.
2016-10-14hipe,erts: Remove cached fun 'native_address'Sverker Eriksson
Did not work with purge and made worse by new purge strategy. Did yield terrible performance when fun thing is created *before* fun code is loaded. Like when receiving not yet loaded fun from other node. The cached 'native_address' in ErlFunThing will not be updated leading to mode switch and error_handler being called for every call to the fun from native code.
2016-10-14erts: Fix early hipe patch loadingSverker Eriksson
by introducing hipe_bifs:commit_patch_load/1 that creates the HipeModule.
2016-10-14erts: Move new hipe ref and sdesc lists to loader stateSverker Eriksson
2016-10-14erts: Use hipe_free_moduleSverker Eriksson
2016-10-14erts: Fill freed EXEC memory with illegal instructions on DEBUGSverker Eriksson
to get a nice SIGILL crash. For x86 and x86_64 only.
2016-10-14erts: Check hipe stack in check_process_codeMagnus Lång
This is part of commit 1bd508921dd93086b05e7d0038b816b36c421d86. I did not include the fun-checking as we have a new purge strategy for funs in OTP 20. That remains to be solved some other way for hipe.
2016-10-14Add a loader state for HiPE code loadingMagnus Lång
Just like the BEAM loader state (as returned by erlang:prepare_loading/2), the HiPE loader state is contained in a magic binary. Eventually, we will separate HiPE loading into a prepare and a finalise phase, like the BEAM loader, where the prepare phase will be implemented by hipe_unified_loader and the finalise phase be implemented in C by hipe_load.c and beam_load.c, making prepare side-effect free and finalise atomic. The finalise phase will be exposed through the erlang:finish_loading/1 API, just like the BEAM loader, as this will allow HiPE and BEAM modules to be mixed in the same atomic "commit". The usage of a loader state makes it easier to keep track of all resources allocated during loading, and will not only make it easy to prevent leaks when hipe_unified_loader crashes, but also paves the way for proper, leak-free, unloading of HiPE modules.
2016-10-14erts: Fix some system_info docs inconsistenciesLukas Larsson
2016-10-14Merge branch 'maint'Hans Nilsson
Conflicts: OTP_VERSION
2016-10-14Merge branch 'maint-19' into maintHans Nilsson
2016-10-14Fix race condition in cancel_timer/1Raimo Niskanen
2016-10-13dbg:fun2ms: allow empty list as headPéter Gömöri
Running 'dbg:fun2ms(fun([]) -> return_trace() end' resulted in an error "dbg:fun2ms requires fun with single variable or list parameter" But the empty list is actually a list and it is a valid value as a match-spec head (matching on arity-0 functions). Although its practical use is questionable this commit eliminates a small limitation of ms_transform which is not present in the match-spec grammar.
2016-10-13Add system_info(atom_limit)Gabriele Santomaggio
Add system_info(atom_limit) to provide a way to retrieve the maximum number of atoms allowed. Add tests and documentation for it too. Also split system_info_SUITE:start_node/2 to start_node_ets/2 and start_node_atm/2 to avoid code duplication.
2016-10-13Updated OTP versionOTP-19.1.4Erlang/OTP
2016-10-13Prepare releaseErlang/OTP
2016-10-13Merge branch 'hans/ssh/harmful_badmatch/OTP-13966' into maint-19Erlang/OTP
* hans/ssh/harmful_badmatch/OTP-13966: ssh: Removed matching of 'ok' after send which could cause error reports ssh: ssh_protocol_SUITE test for handling of illegal info_lines ssh: property test case for illegal infoline and close This tests an illegal client that sends an info line and closes 'immediatly'.
2016-10-13ssh: Removed matching of 'ok' after send which could cause error reportsHans Nilsson
2016-10-13ssh: ssh_protocol_SUITE test for handling of illegal info_linesHans Nilsson
2016-10-13ssh: property test case for illegal infoline and closeHans Nilsson
This tests an illegal client that sends an info line and closes 'immediatly'.
2016-10-13Revert "Check libsctp for sctp funcs in configure.in"Raimo Niskanen
This reverts commit 52fae83743a6e84d719f4f82fe45e6e0efdbd6f0: Check libsctp for sctp funcs in configure.in Call AC_CHECK_LIB before calling AC_CHECK_FUNCS to check for functions in libsctp. Otherwise AC_CHECK_FUNCS will not link with libsctp to see if function exists. Reverting to the old behaviour of not checking for libsctp before checking for sctp functions. Then it works on Linux by loading libsctp and looking up the symbols i runtime, and it works on FreeBSD since there is no separate libsctp to link against - the functions are part of the default system libraries.
2016-10-13use only two low bits of creationAlexandre Snarskii
2016-10-13Use parameterized typesRaimo Niskanen
2016-10-13Merge branch 'maint'Hans Bolinder
* maint: dialyzer: Fix opaque bug dialyzer: Fix opaque bugs
2016-10-13Merge branch 'hasse/dialyzer/fix_opaque_bugs/OTP-13693' into maintHans Bolinder
* hasse/dialyzer/fix_opaque_bugs/OTP-13693: dialyzer: Fix opaque bug dialyzer: Fix opaque bugs
2016-10-12Merge branch 'lukas/erts/beam_func_info_struct/OTP-13821'Lukas Larsson
* lukas/erts/beam_func_info_struct/OTP-13821: erts: Fix some dtrace related compile issues erts: Refactor rename Export.code[] to Export.beam[] erts: Improve printouts for some etp commands erts: Fix erts_debug:df with new func_info erts: Refactor find_function_from_pc to return MFA erts: Refactor out func_info into struct
2016-10-12erts: Add strict size assert to fix allocSverker Eriksson
and remove outdated min size adjustment. The is similar to lost commit 31bc414dc9639ccf94f9011ed32 except we now assume and assert strict size equality.
2016-10-12erts: Fix some dtrace related compile issuesLukas Larsson
2016-10-12erts: Refactor rename Export.code[] to Export.beam[]Sverker Eriksson
to avoid scary merge errors.
2016-10-12erts: Improve printouts for some etp commandsLukas Larsson
Specifically etp-stacktrace/stackdump/process-info have been changed
2016-10-12erts: Fix erts_debug:df with new func_infoLukas Larsson
2016-10-12erts: Refactor find_function_from_pc to return MFALukas Larsson
2016-10-12erts: Refactor out func_info into structLukas Larsson
This commit adds two new structs to be used to represent erlang code in erts. ErtsCodeInfo is used to describe the i_func_info header that is part of all Export entries and the prelude of each function. This replaces all the BeamInstr * that were previously used to point to these locations. After this change the code should never use BeamInstr * with offsets to figure out different parts of the func_info header. ErtsCodeMFA is a struct that is used to descripe a MFA in code. It is used within ErtsCodeInfo and also in Process->current. All function that previously took Eterm * or BeamInstr * to identify a MFA now use the ErtsCodeMFA or ErtsCodeInfo where appropriate. The code has been tested to work when adding a new field to the ErtsCodeInfo struct, but some updates are needed in ops.tab to make it work.
2016-10-12Merge branch 'maint'Hans Bolinder
* maint: Update Dialyzer documentation
2016-10-12Merge branch 'xsipewe/dialyzer/doc_cleanup' into maintHans Bolinder
* xsipewe/dialyzer/doc_cleanup: Update Dialyzer documentation
2016-10-12Implement state timeoutsRaimo Niskanen
2016-10-11Fix all whitespace-related issues in erlang.elBozhidar Batsov
Having a consistent whitespace usage in the source makes it easier for future contributors to send patches. This commit does the following: * Replace tabs with spaces * Kill trailing whitespace * Disable indent-tabs-mode for erlang.el to prevent tabs from creeping in
2016-10-11Reformat docgen xml encodingBjörn-Egil Dahlberg
epp:default_encoding/0 returns 'utf8' and needs to be re-encoded to "UTF-8" to be correct.
2016-10-11Merge branch 'legoscia/ssl_in_fips_mode/PR-1180/OTP-13921'Hans Nilsson
Conflicts: lib/crypto/c_src/crypto.c lib/ssl/src/ssl_cipher.erl
2016-10-11Merge branch 'maint'Ingela Anderton Andin
2016-10-11Merge remote-tracking branch 'github/pr/1199' into maintIngela Anderton Andin
* github/pr/1199: Correct a typo in mod_esi documentation
2016-10-11Merge branch 'maint'Ingela Anderton Andin
2016-10-11mnesia: Fix double blocked tables which could cause a crashDan Gudmundsson
Fast restarts could cause table to be blocked twice.
2016-10-11Merge branch 'ingela/ssl/algo-check/OTP-13959' into maintIngela Anderton Andin
* ingela/ssl/algo-check/OTP-13959: Properly filter ssl cipher suites reported as supported
2016-10-11Merge branch 'ingela/ssl/crl_SUITE' into maintIngela Anderton Andin
* ingela/ssl/crl_SUITE: ssl: Make sure test has correct input