Age | Commit message (Collapse) | Author |
|
|
|
|
|
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
|
|
|
|
|
|
to not be transformed to local calls.
code_SUITE:uprade still fails if run with compile option
{hipe,to_llvm}
|
|
when failing to load native code.
|
|
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.
|
|
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.
|
|
Conflicts:
OTP_VERSION
|
|
|
|
|
|
Running 'dbg:fun2ms(fun([]) -> return_trace() end' resulted in an error
"dbg:fun2ms requires fun with single variable or list parameter"
But the empty list is actually a list and it is a valid value as a
match-spec head (matching on arity-0 functions).
Although its practical use is questionable this commit eliminates a
small limitation of ms_transform which is not present in the match-spec
grammar.
|
|
|
|
|
|
|
|
This tests an illegal client that sends an info line and closes 'immediatly'.
|
|
fprof did not handle this trace event. Sending to a non existing
process should not be much different from sending to an existing
process, so duplicate that logic.
|
|
|
|
|
|
* maint:
dialyzer: Fix opaque bug
dialyzer: Fix opaque bugs
|
|
* hasse/dialyzer/fix_opaque_bugs/OTP-13693:
dialyzer: Fix opaque bug
dialyzer: Fix opaque bugs
|
|
* maint:
Update Dialyzer documentation
|
|
* xsipewe/dialyzer/doc_cleanup:
Update Dialyzer documentation
|
|
|
|
Having a consistent whitespace usage in the source makes it easier for
future contributors to send patches. This commit does the following:
* Replace tabs with spaces
* Kill trailing whitespace
* Disable indent-tabs-mode for erlang.el to prevent tabs from creeping
in
|
|
epp:default_encoding/0 returns 'utf8' and needs to be re-encoded
to "UTF-8" to be correct.
|
|
Conflicts:
lib/crypto/c_src/crypto.c
lib/ssl/src/ssl_cipher.erl
|
|
|
|
* github/pr/1199:
Correct a typo in mod_esi documentation
|
|
|
|
Fast restarts could cause table to be blocked twice.
|
|
* ingela/ssl/algo-check/OTP-13959:
Properly filter ssl cipher suites reported as supported
|
|
* ingela/ssl/crl_SUITE:
ssl: Make sure test has correct input
|
|
Conflicts:
OTP_VERSION
|
|
|
|
Language cleaned up by the technical writer xsipewe from
Combitech. Proofreading and corrections by Hans Bolinder.
|
|
to get some coverage in beam_load.c:hash_internal_genop_arg().
|
|
|
|
|
|
|
|
This reverts commit 28baf1314b556bb592c24181f6967e1f324f44a7.
|
|
* sverker/load_nif-print-init-error:
crypto: Return source line number from failed load/upgrade
erts: Print error code from failed NIF load/upgrade/reload
|
|
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
|
|
Adapted from commit 675ee6860d2c273bcc6c6a0536634a107e2a3d9f.
Conflicts:
lib/ssl/src/ssl_cipher.erl
|
|
* maint:
beam_bsm: Eliminate unsafe optimization
|