Age | Commit message (Collapse) | Author |
|
* maint:
erts: add space before '*' in some function prototypes
ic: add space before '*' in some function prototypes
Fix a bug regarding spaces in C function prototypes
Update preloaded
Add tests for problems with handling of primary archive
Add comments to make erl_prim_loader primary archive handling more readable
Fix erl_prim_loader errors in handling of primary archive
Conflicts:
erts/preloaded/ebin/erl_prim_loader.beam
|
|
* hb/erl_docgen/cref_spaces/OTP-10138:
erts: add space before '*' in some function prototypes
ic: add space before '*' in some function prototypes
Fix a bug regarding spaces in C function prototypes
|
|
* siri/erl_prim_loader/archive-scripts/OTP-10071:
Update preloaded
Add tests for problems with handling of primary archive
Add comments to make erl_prim_loader primary archive handling more readable
Fix erl_prim_loader errors in handling of primary archive
|
|
OTP-10051
* lukas/erts/fix_enable_proc_lcnt:
Use process macro instead of array
|
|
|
|
|
|
Thanks to Richard O'Keefe for pointing the bug out.
|
|
|
|
into maint
* gustav/stdlib/gen_server_enter_loop_global_scope/OTP-10130:
Change testcase of gen_server:enter_loop/4 with global scope to match on result of a gen_server:call/2
Correct guard matching in gen_server:enter_loop/4 to match global scope in ServerName without timeout.
|
|
erl_prim_loader.beam
|
|
Thanks to Tuncer Ayaz for co-authoring.
|
|
This commit introduces no functional change. It only adds comments and
changes some function/variable names.
|
|
The following errors have been corrected:
* If primary archive was named "xxx", then a file in the same
directory named "xxxyyy" would be interpreted as a file named yyy
inside the archive.
* erl_prim_loader did not correctly create and normalize absolute
paths for primary archive and files inside it, so unless given with
exact same path files inside the archive would not be found. E.g. if
escript was started as /full/path/to/xxx then "./xxx/file" would not
be found since erl_prim_loader would try to match /full/path/to/xxx
with /full/path/to/./xxx. Same problem with ../.
* Depending on how the primary archive was built,
erl_prim_loader:list_dir/1 would sometimes return an empty string
inside the file list. This was a virtual element representing the
top directory of the archive. This has been removed.
Thanks to Tuncer Ayaz and Shunichi Shinohara for reporting and
co-authoring corrections.
|
|
|
|
* slf/dtrace-nif-N-probes:
Remove crufty scaffolding code
Add 1024 separate USDT probes to dyntrace.erl and dyntrace.c
Conflicts:
lib/runtime_tools/src/dyntrace.erl
OTP-10143
|
|
* slf/dyntrace-comment-and-func-cleanup:
dyntrace.erl comment cleanup and unused function removal
OTP-10141
|
|
* sz/dtrace-message-send-fix:
DTrace bug in message-send
OTP-10142
|
|
* sverk/missing-distr-stats:
Fix missing accounting for outbound distribution bytes.
|
|
* sverk/opt-inet-tcp-ctrl-proc:
Optimize inet:tcp_controlling_process
erts: Update obsolete HARD_DEBUG code
|
|
* sverk/opt-check-io:
Revert conceptually wrong little fix as part of check_io opt
Make allocation of check_io tables more scalable.
|
|
|
|
* sverk/hipe-arm-fix:
hipe_arm.c: remove dead code
Workaround gcc bug affecting ARM debug build
Fix compile error of HIPE enabled DEBUG emulator for ARM
Fix hipe bif calling bug on ARM
Add armv7l and armv5tejl as a recognized ARM architectures
OTP-10137
|
|
to match on result of a gen_server:call/2
|
|
to match global scope in ServerName without timeout.
OTP-10130
|
|
* maint:
Correct the type of the disk log header
|
|
* hb/kernel/fix_spec_disk_log/OTP-10131:
Correct the type of the disk log header
|
|
|
|
Thanks to Niclas Eklund.
|
|
|
|
|
|
|
|
|
|
* bjorn/erts/breakpoints/OTP-10122:
Strengthen trace test cases
Don't go to single-scheduler mode when managing breakpoints
Refactor the code for managing breakpoints
Change the data structures for breakpoints
Add trace_local_SUITE:concurrency/1
Make the lock check in erts_is_code_ix_locked() stronger
|
|
|
|
erts/emulator/hipe/hipe_arm.c started out as a clone of hipe_ppc.c,
with #ifdefs to select ARM-specific code. Somehow those #ifdefs
never got cleaned out, resulting in fairly ugly-looking code.
This eliminates the #ifdefs, deletes dead PowerPC-specific code, and
keeps only the ARM-specific code. I've verified that the exact same
assembly code is generated for hipe_arm.c before and after this patch
(if you compile without -g, with -g there are unavoidable changes to
the debug data).
Signed-off-by: Mikael Pettersson <[email protected]>
|
|
|
|
|
|
Bug introduced in R15.
|
|
|
|
* maint:
Update primary bootstrap
sys_pre_expand: Eliminate bottleneck for modules with many functions
Conflicts:
bootstrap/bin/start.boot
bootstrap/bin/start_clean.boot
bootstrap/lib/kernel/ebin/file.beam
bootstrap/lib/kernel/ebin/hipe_unified_loader.beam
|
|
|
|
* bjorn/compiler/eliminate-bottleneck/OTP-10123:
sys_pre_expand: Eliminate bottleneck for modules with many functions
|
|
Calls to erlang:set_trace_pattern/3 will no longer block all
other schedulers.
We will still go to single-scheduler mode when new code is loaded
for a module that is traced, or when loading code when there is a
default trace pattern set. That is not impossible to fix, but that
requires much closer cooperation between tracing BIFs and the loader
BIFs.
|
|
To allow us to manage breakpoints without going to single-scheduler
mode, we will need to update the breakpoints in several stages with
memory barriers in between each stage. Prepare for that by splitting
up the breakpoint setting and clearing functions into several smaller
functions.
|
|
Change the data structures for breakpoints to make it possible
(in a future commit) to manage breakpoints without taking down the
system to single-scheduling mode.
The current "breakpoint wheel" data structure (a circular,
double-linked list of breakpoints) was invented before the
SMP emulator. To support it in the SMP emulator, there is essentially
one breakpoint wheel per scheduler. As more breakpoint types have
been added, the implementation has become messy and hard to understand
and maintain.
Therefore, the time for a rewrite has come. Use one struct to hold
all breakpoint data for a breakpoint in a function. Use a flag field
to indicate what different type of break actions that are enabled.
|
|
|
|
Make sure that the the currently running thread has the lock,
not only that that some thread has the lock.
|
|
|
|
* rj/fix-eprof-doc:
Fix nonsense of eprof doc
OTP-10121
|
|
* tab/fix-indentation-records-emacs:
Fix indentation of record fields in Emacs
OTP-10120
|