Age | Commit message (Collapse) | Author |
|
|
|
* maint:
Fix tracing of processes executing dirty
Perform check_process_code while process is executing dirty
Fix purge of code
Reclaim literal area after purge has completed
Separate literal area from code
Conflicts:
erts/emulator/beam/global.h
|
|
* rickard/ds-trace/OTP-13822:
Fix tracing of processes executing dirty
|
|
* rickard/ds-purge-module/OTP-13808:
Perform check_process_code while process is executing dirty
Conflicts:
erts/doc/src/erl_nif.xml
|
|
'rickard/new-purge-strategy/OTP-13833' into maint
* rickard/fun-purge-bug/OTP-13809:
Fix purge of code
Reclaim literal area after purge has completed
Separate literal area from code
Conflicts:
erts/doc/src/erlang.xml
erts/emulator/beam/beam_bif_load.c
erts/emulator/beam/erl_init.c
erts/preloaded/ebin/init.beam
|
|
|
|
|
|
Ensure that we cannot get any dangling pointers into code that
has been purged. This is done by a two phase purge. At first
phase all fun entries pointing into the code to purge are marked
for purge. All processes trying to call these funs will be suspended
and by this we avoid getting new direct references into the code.
When all processes has been checked, these processes are resumed.
The new purge strategy now also completely ignore the existence of
indirect references to the code (funs). If such exist, they will
cause bad fun exceptions to the caller, but will not prevent a
soft purge or cause a kill of a process having such live references
during a hard purge. This since it is impossible to give any
guarantees that no processes in the system have such indirect
references. Even when the system is completely clean from such
references, new ones can appear via distribution and/or disk.
|
|
|
|
of https://github.com/parndt/otp into maint
* 'bugfix/ets-docs-typo' of https://github.com/parndt/otp:
Fix typo: specificationc -> specification
|
|
|
|
* g-andrade/kernel/fetch_ztream_dictionary/PR-1139/OTP-13842:
Update preloaded modules
Specify min zlib ver on inflateGetDictionary doc
Skip inflateGetDictionary test case if unsupported
zlib: Only link inflateGetDictionary if available
zlib: Add test case for inflateGetDictionary
zlib: support extraction of inflation dictionary
|
|
|
|
|
|
|
|
|
|
* peppe/debugger_crash/ERL-191/OTP-13756:
Make sure exit in non-interpreted code doesn't crash the debugger
OTP-13756
|
|
|
|
* siri/reltool/fix-dialyzer-warnings:
[reltool] Fix dialyzer warnings introduced by OTP-11993
|
|
|
|
|
|
* raimo/gen_statem-callback_mode/OTP-13752:
Include trap_exit in server skeletons
Improve sys debug
Handle exceptions in init/1 and callback_mode/0
Clarify error values
Doc fixes
Rewrite SSH for gen_statem M:callback_mode/0
Rewrite SSL for gen_statem M:callback_mode/0
Rewrite Tools for gen_statem M:callback_mode/0
Rewrite gen_statem docs for M:callback_mode/0
Rewrite gen_statem TCs for M:callback_mode/0
Rewrite gen_statem for M:callback_mode/0
|
|
|
|
Register allocation could transform something like
fmove u32, d99
to
fmove $rdx, 0x20($rsp)
which is an invalid instruction.
|
|
Since the link register/return address is restored before stack
arguments are stored to the frame, we must not use it to store a stack
argument. We do that by adding it to the registers clobbered by
pseudo_tailcall_prepare.
|
|
The problem was caused by shift-by-immediate-zero, which wraps to
immediate-32 with some shiftops. TODO: Someplace should be modified to
crash when these are generated so debugging further instances of this
gets easier in the future.
|
|
|
|
|
|
|
|
maint
* gomoripeti/syntax_tools/merl-transform/PR-1123/OTP-13755:
Fix infinite loop in merl_transform
|
|
|
|
* lukas/erts/port_monitor_mem_leak/OTP-13818:
erts: Fix port monitor memory leak
|
|
|
|
|
|
Which at the moment means zlib versions >= 1.2.8.
|
|
* bjorn/compiler/binary-literal-matching:
Reinstate optimization of binary literal matching
Strengthen test case added in 8b83bc0b
|
|
|
|
|
|
|
|
* ingela/ssl/ssl_npn_hello_SUITE_precondition:
ssl: Check precondition for ssl_npn_hello_SUITE
|
|
corrected some typo
|
|
105c5b0071 was reverted in dd1162846e because clauses that were
supposed to match would not match. (See 8b83bc0b.)
Reintroduce the optimization, but make sure that we only shortcut
bs_context_to_binary instructions and not bs_start_match2 instructions.
|
|
Don't only test the case that failed; test it exhaustively.
|
|
|
|
|
|
* maint:
wx: Add missing specs
|
|
* dgud/wx/broken-links:
wx: Add missing specs
|
|
* maint:
Request a larger stacksize for wx thread
|
|
* dgud/wx/increase_wx_stacksize:
Request a larger stacksize for wx thread
|
|
|