Age | Commit message (Collapse) | Author |
|
More verbose, but hopefully more readable than before.
|
|
|
|
|
|
* sverk/armata-memset-bug:
erts: Workaround memset bug in test case
|
|
* sverk/safe-purging/OTP-13122:
erts: Ignore unexpected messages to erts_code_purger
erts: Optimize erlang:check_process_code
erts: Refactor check_process_code/3
erts: Make copy_literals more fail safe
erts: Move copy_literals/2 from erlang to erts_internal
erts: Make erlang:purge_module/1 safe
erts: Refactor code:purge/1 and code:soft_purge/1
erts: Introduce erts_code_purger
|
|
|
|
|
|
* sverk/trace-doc-typo:
erts: Correct faulty doc for erlang:trace/3
|
|
The entire MFA tuple is replaced with 0, not just Arity.
|
|
* maint:
Do not allow aux work on dirty schedulers
|
|
* vinoski/dirty-sched-no-aux-work/OTP-13236:
Do not allow aux work on dirty schedulers
|
|
by ignoring literals.
erts_internal:check_process_code will be called again anyway
(with option {copy_literals, true}) before the module is actually purged.
No need to check literals twice.
|
|
Move impl from erlang to erts_internal. Cut and paste.
|
|
* Same process must do enable-disable.
* System process will force it and never get 'aborted'
|
|
as it's not a public interface.
|
|
Problem: erlang:purge_module/1 is not safe in the sense
that very bad things may happen if the code to be purged
is still referred to by live processes.
Introduce erts_internal:purge_module which is the same as the old
erlang:purge_module BIF (except it returns false if no such old module).
Implement erlang:purge_module in Erlang and let it invoke
erts_code_purger for safe purging where all clogging processes
first are killed.
|
|
* sverk/fvisibility-hidden/OTP-13227:
erts: Allow -fvisibility=hidden for NIFs and drivers
erts: Cleanup erl_driver.h for windows
erts: Refactor ERL_NIF_INIT macro
|
|
by moving code from code_server to erts_code_purger.
This is more or less a copy-paste from code_server.erl
to erts_code_purger.erl. All the inner mechanics of
code:purge/1 and code:soft_purge/1 are unchanged.
|
|
as a system process with preloaded code.
|
|
memset seen to fail with values larger than 255
on (armata) 32-bit ARM Debian
with EGLIBC 2.13-38+rpi2+deb7u8
and gcc 4.6.3-14+rpi1.
|
|
as is strongly recommended by gcc man page.
We use __attribute__ ((visibility("default"))) to make sure
the init functions are properly exported.
|
|
The comment is misleading and
no need to "export" static windows drivers.
DRIVER_INIT for dynamic windows drivers
is defined in erl_win_dyn_driver.h
|
|
|
|
OTP-13167
* sverk/proc-dict-opt:
erts: Add new test case pdict_SUITE:mixed
erts: Add 'fill_heap' to erts_debug:state_internal_state
erts: Rename proc dict size to arraySize
erts: Refactor proc dict with 'usedSlots'
erts: Add sizeMask for faster proc dict indexing
erts: Remove ProcDict.used
erts: Add proc dict macros ERTS_PD_START/SIZE
erts: Optimize away function "array_put" in proc dict
erts: Optimize hashing in process dictionary
|
|
* sverk/hipe-mmap-config:
erts: Add config test for MAP_NORESERVE for hipe on 64-bit
|
|
to get a nicer error on FreeBSD and others that does not support
MAP_NORESERVE for mmap.
Q: How to support this?
A: Implement the "literal tag" in hipe
or another way to reserve virtual address space in erl_mmap.c
|
|
* sverk/float_SUITE-arith:
erts: Add new test cases to float_SUITE
|
|
* sverk/check_process_code-fix:
erts: Fix bug in check_process_code for literals
|
|
* maint:
Light weight statistics of run queue lengths
Conflicts:
erts/preloaded/ebin/erlang.beam
|
|
* rickard/rq-len/OTP-13201:
Light weight statistics of run queue lengths
|
|
- statistics(total_run_queue_lengths)
- statistics(run_queue_lengths)
- statistics(total_active_tasks)
- statistics(active_tasks)
Conflicts:
erts/emulator/beam/erl_process.c
|
|
* maint:
Use monotonic time for call_time trace
|
|
* rickard/trace_call_time/OTP-13216:
Use monotonic time for call_time trace
|
|
* rickard/ohmq-fixup/OTP-13047:
Fix asynchronous BIF timer cancellation message reply
|
|
|
|
|
|
* binarin/maint:
Don't wait for twice the delay_write timeout
OTP-13220
|
|
|
|
The nature of aux work is such that dirty schedulers should not
attempt to perform it. Modify the code to ensure that dirty schedulers
avoid aux work.
Also fix an incorrect assumption about the size of a Uint in the
ErtsDirtySchedId type.
|
|
* lv/fix-compilation-with-vm-probes/OTP-13209:
Fix compilation with `--enable-vm-probes`
|
|
Conflicts:
OTP_VERSION
erts/vsn.mk
|
|
* rickard/ohmq-fixup/OTP-13047:
Fix offset_mqueue
|
|
|
|
|
|
* jj1bdx/jj1bdx-18.2-freebsd-hipe-fix-2:
hipe_x86_signal.c: add FreeBSD sigaction code
|
|
This reverts commit 731890f3b4ac62eed1221aa7d9fd2bfa6bf51d8c.
|
|
* erts/emulator/hipe/hipe_x86_signal.c:
add FreeBSD sigaction code, based on the Darwin (OS X) code
|
|
|
|
Custom loaders are no longer supported. Most of the documentation
for them were removed in c8a7d2d7.
|
|
Part of the return value for string_match/3 is not used by
its only caller. Eliminate the unused part of the return value
and the accumulator argument for string_match().
|