Age | Commit message (Collapse) | Author |
|
* maint:
Remove duplicate docs for the priority inet option
|
|
|
|
|
|
* maint:
Update primary bootstrap
document {yield/nb_yield}() limitation
Suppress warnings from v3_kernel when inlining is turned on
|
|
|
|
|
|
|
|
Hardware watchdog support was removed from heart in R13A, but there were
still some vestiges in the code and the documentation.
- Remove mentions of the HW_WD_DISABLE variable, as it's no longer used.
- Remove the HEART_BEAT_BOOT_DELAY variable, as it was only used for the
hardware watchdog.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* siri/appups-20.0:
Update sasl/test/test_lib.hrl with recent versions of kernel and stdlib
Update appups in kernel, stdlib and sasl for OTP-20
|
|
|
|
'gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/OTP-14022' into maint
* gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/OTP-14022:
controlling_process can return {error, badarg}
|
|
|
|
* sverker/kernel-erts-dependency:
kernel: Add lost dependency to erts-8.1
|
|
In OTP-19.1 (c70ca686fe269db6079a2ca1c7e09cdfc0cfa903)
erts_code_purger:finish_after_on_load/2 was added
and called by code_server.erl.
|
|
|
|
For gen_tcp, gen_udp and gen_sctp controlling_process/2 can return
badarg if erlang:port_connect/2 fails with badarg. This can easily
happen if the new owner is not alive but in some race condition also
when the socket is closed right before port_connect/2 (and after the
previous socket function)
This commit documents this behaviour.
|
|
|
|
|
|
in code_SUITE:upgrade. Combining both takes time.
|
|
from code_SUITE:upgrade
|
|
|
|
|
|
The code of add_ref/6 contained an assertion that somehow appeared
twice. Also, a recent commit (2b2de61) suppressed an unmatched
return warning in a non-optimal way. By changing the return type
of hipe_bifs:add_ref/2 to be 'ok' instead of [] the code can be
cleaned up and simplified.
While at it, fixed the wrong indentation of some nearby code.
|
|
In commit 3d70cee4034e, this text was changed to suggest that a list of Unix-specific permission bits would follow, but no such list was added. Let's revert back to the previous wording, so people won't look for a list that isn't there.
|
|
* 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
...
|
|
|
|
|
|
when failing to load native code.
|
|
by introducing hipe_bifs:commit_patch_load/1
that creates the HipeModule.
|
|
|
|
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.
|
|
to get some coverage in beam_load.c:hash_internal_genop_arg().
|
|
and hipe_bifs:update_code_size
|
|
A step toward better integration of hipe load and purge
Highlights:
* code_server no longer needs to call hipe_unified_loader:post_beam_load/1
Instead new internal function hipe_redirect_to_module()
is called by loading BIFs to patch native call sites if needed.
* hipe_purge_module() is called by erts_internal:purge_module/2
to purge any native code.
* struct hipe_mfa_info redesigned and only used for exported
functions that are called from or implemented by native code.
A list of native call sites (struct hipe_ref) are kept for each hipe_mfa_info.
* struct hipe_sdesc used by hipe_find_mfa_from_ra()
to build native stack traces.
|
|
as they are lists of #fundef records
|
|
* rickard/time-unit/OTP-13831:
Replace usage of deprecated time units
|
|
* nathanl/kernel/write_file-uses-writev/PR-1149/OTP-13909:
Let file:write_file/3 use writev
|
|
|
|
code:add_pathsa/1 reverts the list of directories when adding it at
the beginning of the code path. The command line option '-pa' behaves
in the same way. This is now documented.
|
|
|
|
|
|
|
|
Previously, this function would turn any input into a single binary
before writing. This meant it could not take advantage of the `writev`
system call if it was given a list of binaries and told to write with
`raw` mode.
To see this, start an erlang shell on the parent commit, and also
start this dtrace script:
https://github.com/evanmiller/tracewrite
like this:
sudo dtrace -s tracewrite.d -p $(pgrep beam)
In the erlang shell, run the following:
file:write_file("/tmp/tmp.txt", [<<97,98>>, <<98,97>>], [raw]).
In the dtrace output, you will see that the system call used is `write`.
Now repeat with this commit, and you will see that `writev` is used.
|