Age | Commit message (Collapse) | Author |
|
* maint:
Fix is-dirty-cpu/is-dirty-io scheduler predicates
|
|
|
|
|
|
|
|
|
|
* rickard/time-unit/OTP-13735:
Update test-cases to use new symbolic time units
Replace misspelled symbolic time units
Conflicts:
erts/doc/src/erlang.xml
erts/emulator/test/long_timers_test.erl
|
|
* maint:
Fix dirty schedulers build on windows
|
|
* rickard/ds-win-32bit/OTP-13759:
Fix dirty schedulers build on windows
|
|
|
|
* sverker/load-corrupt-beam/ERL-216:
erts:: Unsignify a bunch of loader variables
erts: Reject an invalid beam code header size
erts: Fix load of beam with invalid imports and atom numbers
|
|
* 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.
|
|
|
|
Besides using two words for 'milliseconds' et. al. they are
also changed from plural to singular.
|
|
that otherwise may produce warning from compilers
that think T* and T[] are incompatible types (?).
|
|
|
|
|
|
|
|
|
|
|
|
* lukas/erts/port_monitor_mem_leak/OTP-13818:
erts: Fix port monitor memory leak
|
|
|
|
|
|
|
|
* maint:
Updated OTP version
Prepare release
Avoid segfault when printing slogan after crashdumping
Fix race causing lost wakeup on receive-after timeout
Conflicts:
OTP_VERSION
|
|
* maint-19:
Updated OTP version
Prepare release
Avoid segfault when printing slogan after crashdumping
Fix race causing lost wakeup on receive-after timeout
|
|
Note: Minor GC option is a hint, and GC may still decide to run fullsweep.
Test case for major and minor gc on self
Test case for major and minor gs on some other process + async gc test check
docs fix
|
|
|
|
* lukas/erts/tracing/fix_sparc_align_issue/OTP-13803:
erts: Align ErtsThrPrgrLaterOp when free'ing tracer
|
|
On Sparc all structs with a double word element in are assumed
to be allocated on a two word boundary. So we have to make sure
that the ErtsThrPrgrLaterOp * points to 8 / 16 byte aligned memory.
As it only costs one word I've done it on all architectures in case
some unknown other arch also needs this.
|
|
|
|
* rickard/erl-crash-dump-bug/OTP-13799:
Avoid segfault when printing slogan after crashdumping
|
|
* rickard/proc-tmo-bug/OTP-13798:
Fix race causing lost wakeup on receive-after timeout
|
|
|
|
|
|
|
|
|
|
* egil/erts/dont-copy-literals/OTP-13529:
erts: Refactor literal purge area arguments
erts: No need to literal opt message token
erts: Don't copy literals in enif_send
erts: Fix literal size calculation in check_process_code
erts: Remove the need for copying of literals
|
|
|
|
|
|
|
|
We want to know the total size of literals of all heap fragmens.
|
|
* Literals are not copied between processes for messages or spawn
Increases performance of message sent and processes spawned when
literals are involved in messages or arguments.
|
|
|
|
* margnus1/erts/fix-hipe-literal-gc/PR-1122/OTP-13777:
check_process_code: Sweep HiPE stack for literals
|