Age | Commit message (Collapse) | Author |
|
fprof: Sum callers and callees
|
|
* john/erts/runtime-lcnt:
Document rt_mask and add warnings about copy_save
Add an emulator test suite for lock counting
Break erts_debug:lock_counters/1 into separate BIFs
Allow toggling lock counting at runtime
Move lock flags to a common header
Enable register_SUITE for lcnt builds
Enable lcnt smoke test on all builds that have lcnt enabled
Make lock counter info independent of the locks being counted
OTP-14412
OTP-13170
OTP-14413
|
|
|
|
When sampling multiple processes and analyzing with totals true sum
together all caller and callee entries which concerns the same
function. Previous behaviour was to report each contributing entry.
|
|
|
|
|
|
And use correct encoding when printing to files.
|
|
|
|
AGAIN
* sverker/remove-latin1-atom-encoding:
tools: Fix more assumptions in lcnt about external format
|
|
Also tried to prepare for large creation.
|
|
* siri/make/include-path/ERL-395/OTP-14339:
[tools/make] Add current directory to include path
|
|
* sverker/remove-latin1-atom-encoding:
kernel: Fix erl_distribution_wb_SUITE:whitebox
kernel: Remove pg2_SUITE:compat
erts: Remove fun_r13_SUITE
stdlib: Remove test cases for R12 io protocol
kernel: Make DFLAG_UTF8_ATOMS mandatory
kernel: Rewrite distribution flag verification
tools: Update assumptions in lcnt about external atom format
stdlib: Tweak beam_lib_SUITE whitebox assumptions
orber: Remove hard dependency to external atom format
kernel: Try mend disk_log whitebox tests
erts: Mark latin1 atom encoding as deprecated
jinterface: Do not generate atoms on old latin1 external format
erl_interface: Do not generate atoms on old latin1 ext format
erts: Do not generate atoms on old latin1 external format
erts: Fix faulty ASSERT for failed dec_term
|
|
This is to ensure that files are recompiled if a .hrl file in the
current directory is changed.
|
|
Commit d8ff1e3 removed cover_web and therefore
tools no longer depends on inets.
|
|
|
|
This allows build scripts to use emake without needing to generate
an Emakefile before running make:all/0,1 or make:file/1,2.
|
|
* maint:
Update copyright-year
Conflicts:
lib/dialyzer/src/dialyzer.hrl
lib/dialyzer/src/dialyzer_options.erl
lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer.hrl
lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer_races.erl
lib/hipe/icode/hipe_icode.erl
lib/hipe/main/hipe.erl
lib/hipe/main/hipe.hrl.src
lib/hipe/main/hipe_main.erl
|
|
|
|
|
|
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.
|
|
|
|
The comment in the catch-all clause in munge_expr/2 will always be
stale. There is no way it can be kept up to date.
For example, 'eof' is listed, but 'eof' is a top-level form and is
actually handled in the catch-all clause for munge/4.
|
|
* bjorn/fix-make/OTP-13855:
make, ct_make: Handle warning attributes in source files
|
|
* raimo/gen_statem-callback_mode/OTP-13752:
ssl: Upgrade suite testing skipped if stdlib upgrade is required
Fix version numbers and dependencies
Conflicts:
lib/ssl/src/ssl.appup.src
lib/ssl/vsn.mk
|
|
epp learned to handle the -warning() directive in 14d72f02, but
make and ct_make were not updated to expect a {warning,_} return
value from epp:parse_erl_form/1.
|
|
|
|
|
|
The bug when introduced in OTP-19.0.
Optimize adding multiple modules to an Xref server
|
|
Extracting data from debug info in BEAM files is parallelized.
The speed-up is not outstanding. If memory is not an issue, adding
`{spawn_opt, [{min_heap_size, <large number>}]}' to the option list of
xref:start/2 can make a (small) difference.
Reading of modules from a directory is parallelized. Attempts to
parallelize all modules when adding a release have been rejected since
the gain showed to be small compared to the increased complexity of
the code.
Using a process for coordinating the reading has not been attempted.
|
|
|
|
|
|
|
|
The return value of trace_clock is never used, return 'ok' instead.
|
|
|
|
|
|
|
|
|
|
OTP-13499
|
|
|
|
The expression in a bit string comprehension is limited to a
literal bit string expression. That is, the following code
is legal:
<< <<X>> || X <- List >>
but not this code:
<< foo(X) || X <- List >>
The limitation is annoying. For one thing, tools that transform
the abstract format must be careful not to produce code such as:
<< begin
%% Some instrumentation code.
<<X>>
end || X <- List >>
One reason for the limitation could be that we'll get
reduce/reduce conflicts if we try to allow an arbitrary
expression in a bit string comprehension:
binary_comprehension -> '<<' expr '||' lc_exprs '>>' :
{bc,?anno('$1'),'$2','$4'}.
Unfortunately, there does not seem to be an easy way to work
around that problem. The best we can do is to allow 'expr_max'
expressions (as in the binary syntax):
binary_comprehension -> '<<' expr_max '||' lc_exprs '>>' :
{bc,?anno('$1'),'$2','$4'}.
That will work, but functions calls must be enclosed in
parentheses:
<< (foo(X)) || X <- List >>
|
|
* maint:
xmerl: Remove 'no_return' Dialyzer warnings
xmerl: Add suppression of Dialyzer warnings
eunit: Add suppression of Dialyzer warnings
debugger: Add suppression of Dialyzer warnings
kernel: Add suppression of Dialyzer warnings
mnesia: Add suppression of Dialyzer warnings
observer: Add suppression of Dialyzer warnings
runtime_tools: Add suppression of Dialyzer warnings
stdlib: Add suppression of Dialyzer warnings
test_server: Add suppression of Dialyzer warnings
tools: Add suppression of Dialyzer warnings
Conflicts:
lib/stdlib/src/erl_lint.erl
lib/stdlib/src/otp_internal.erl
|
|
|
|
|
|
|
|
* maint:
tools: Add a Cover test
tools: Fix wrong instrumentation of binary comprehensions
|
|
When cover instruments binary comprehensions it's generating a
{block, ...} abstract code term inside a {bc, ...} term that is causing
the evaluation to fail at runtime. Removing the block statement
eliminates the error.
The template of a bit string comprehension cannot have a counter since
it is not allowed to be a block.
|
|
|
|
|
|
cover:compile_beam and cover:compile_beam_directory crashed when
trying to compile a beam file without a 'file' attribute. This has
been corrected, so an error is returned instead.
|
|
|