aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-10-17Merge branch 'sverker/hipe-code-loadnpurge/OTP-13968'Sverker Eriksson
* sverker/hipe-code-loadnpurge: (35 commits) erts: Cleanup dead code kernel,hipe: Fix dialyzer warnings erts: Replace unsafe Module.first_hipe_ref erts: Disable DBG_TRACE_MFA for debug build kernel: Fix code_SUITE:upgrade for non-hipe erts: Cleanup hipe trampoline code erts: Remove dead alloc stats in hipe_amd64.c erts: Remove code_SUITE:make_stub and make_stub_many_funs erts: Let code:make_stub_module raise 'notsup' erts: Fix bug in stack walk on risc erts: Fix old leak for ppc hipe code erts: Fix old leak for arm hipe code erts: Fix old leak of sparc hipe code erts: Fix old leak of hipe code on x86 32-bit erts: Enable exec_alloc for all hipe architectures erts: Remove debug printout for hipe loader state erts: Free hipe_refs and hipe_sdesc of a failed load erts: Refactor out hipe_purge_refs/sdesc erts: Refactor hipe_loader_state_dtor into a true destructor hipe: TRY fix llvm external calls to own module ...
2016-10-17erts: Cleanup dead codeSverker Eriksson
2016-10-17kernel,hipe: Fix dialyzer warningsSverker Eriksson
2016-10-14Merge branch 'sverker/proc-dict-atom-hash/PR-1194'Sverker Eriksson
* sverker/proc-dict-atom-hash: kernel: Add test pdict_SUITE:literals erts: Refactor process dict hash pre-calculation Use atom value as hash value in process dictionary
2016-10-14Merge branch 'sverker/fix-alloc-asserts'Sverker Eriksson
2016-10-14Merge branch 'maint'Ingela Anderton Andin
2016-10-14Merge branch 'ingela/ssl/tune-timeouts-basic_SUITE' into maintIngela Anderton Andin
* ingela/ssl/tune-timeouts-basic_SUITE: ssl: Tune timeout for old solaris machine
2016-10-14ssl: Tune timeout for old solaris machineIngela Anderton Andin
2016-10-14Merge branch 'master' into sverker/hipe-code-loadnpurgeSverker Eriksson
Conflicts: erts/emulator/beam/beam_bif_load.c erts/emulator/beam/beam_load.c and added macro DBG_TRACE_MFA_P in beam_load.h
2016-10-14erts: Replace unsafe Module.first_hipe_refSverker Eriksson
with hash table mod2mfa_tab
2016-10-14erts: Disable DBG_TRACE_MFA for debug buildSverker Eriksson
2016-10-14kernel: Fix code_SUITE:upgrade for non-hipeSverker Eriksson
2016-10-14erts: Cleanup hipe trampoline codeSverker Eriksson
2016-10-14erts: Remove dead alloc stats in hipe_amd64.cSverker Eriksson
erlang:system_info({allocator, exec_alloc}) have stats if we need it.
2016-10-14erts: Remove code_SUITE:make_stub and make_stub_many_funsSverker Eriksson
Hard to unit test now when it takes a magic HipeLoaderState as argument. All hipe testing should be enough exercise for code:make_stub_module.
2016-10-14erts: Let code:make_stub_module raise 'notsup'Sverker Eriksson
if hipe is disabled. Makes the code simpler to just ifdef away a lot of hipe stuff.
2016-10-14erts: Fix bug in stack walk on riscSverker Eriksson
Symptom: Got ra==NULL at nsp==nsp_end when running basic_SUITE:basic_arith on arm why has this not been detected before?
2016-10-14erts: Fix old leak for ppc hipe codeSverker Eriksson
* Use erts_alloc(ERTS_ALC_T_HIPE_EXEC,_) * Each module has its own trampolines
2016-10-14erts: Fix old leak for arm hipe codeSverker Eriksson
* Use erts_alloc(ERTS_ALC_T_HIPE_EXEC,_) * Each module has its own trampolines * Stubs do not use trampolines, they do their own long jumps.
2016-10-14erts: Fix old leak of sparc hipe codeSverker Eriksson
2016-10-14erts: Fix old leak of hipe code on x86 32-bitSverker Eriksson
2016-10-14erts: Enable exec_alloc for all hipe architecturesSverker Eriksson
For non-amd64 it's a "normal" allocator with a wrapper around mseg_alloc to call mprotect(PROT_EXEC).
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-14Merge branch 'maint'Hans Nilsson
Conflicts: OTP_VERSION
2016-10-14Merge branch 'maint-19' into maintHans Nilsson
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-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