aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tools/src
AgeCommit message (Collapse)Author
2016-11-02Merge branch 'maint'Lukas Larsson
2016-10-13handle send_to_non_existing_process trace event in fprofAndreas Schultz
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.
2016-09-01xref: Eliminate use of sys_pre_expandBjörn Gustavsson
2016-09-01cover: Remove always stale commentBjörn Gustavsson
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.
2016-08-31Merge branch 'bjorn/fix-make/OTP-13855' into maintBjörn Gustavsson
* bjorn/fix-make/OTP-13855: make, ct_make: Handle warning attributes in source files
2016-08-31Merge branch 'raimo/gen_statem-callback_mode/OTP-13752' into maintRaimo Niskanen
* 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
2016-08-30make, ct_make: Handle warning attributes in source filesBjörn Gustavsson
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.
2016-08-25Fix version numbers and dependenciesRaimo Niskanen
2016-07-29fix gc_start\end bugTihon
2016-06-28tools: Fix a bug adding multiple modules to an Xref serverHans Bolinder
The bug when introduced in OTP-19.0. Optimize adding multiple modules to an Xref server
2016-06-10tools: Optimize adding multiple modules to an Xref serverHans Bolinder
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.
2016-05-10xref: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-10tags: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-10lcnt: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-10fprof: Fix unmatched return warningsBjörn-Egil Dahlberg
The return value of trace_clock is never used, return 'ok' instead.
2016-05-10fprof: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-10eprof: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-10cover: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-04-29tools: Update fprof with new gc tracesBjörn-Egil Dahlberg
2016-04-15fprof: update to work with new spawned trace eventLukas Larsson
OTP-13499
2016-03-15update copyright-yearHenrik Nord
2016-03-01Generalize bit string comprehensionsBjörn Gustavsson
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 >>
2016-02-17Merge branch 'maint'Hans Bolinder
* 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
2016-02-17tools: Add suppression of Dialyzer warningsHans Bolinder
2016-02-11Merge branch 'maint'Björn-Egil Dahlberg
2016-02-10tools: Remove dead code in lcntBjörn-Egil Dahlberg
2016-02-03Merge branch 'maint'Hans Bolinder
* maint: tools: Add a Cover test tools: Fix wrong instrumentation of binary comprehensions
2016-02-03tools: Fix wrong instrumentation of binary comprehensionsLuis Rascao
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.
2016-01-22Merge branch 'maint'Siri Hansen
2016-01-20tools: Fix a Dialyzer warningHans Bolinder
2015-12-17[cover] Don't crash when compiling beam without 'file' attributeSiri Hansen
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.
2015-11-16Merge branch 'maint'Henrik Nord
2015-11-16Merge branch 'legoscia/erl-make-exit-code' into maintHenrik Nord
* legoscia/erl-make-exit-code: Make erl -make return non-zero exit code on failure OTP-13107
2015-10-26Make erl -make return non-zero exit code on failureMagnus Henoch
This makes it behave like similar Unix tools.
2015-10-14Remove the deprecated webtool applicationBjörn Gustavsson
2015-10-09Update ToolsHans Bolinder
Record field types have been modified due to commit 8ce35b2: "Take out automatic insertion of 'undefined' from typed record fields".
2015-09-09Fix cover output fileYuki Ito
This is introduced by ab435488a. If a module includes lines which are less than 1, for example a module which includes `eunit.hrl`, its cover output file misses the coverage lines.
2015-06-18Change license text to APLv2Bruce Yinhe
2015-06-15Merge branch 'gomoripeti/tools/cover-no-beam/OTP-12806'Björn Gustavsson
* gomoripeti/tools/cover-no-beam/OTP-12806: cover: handle undefined module when analysing to file
2015-06-10cover: handle undefined module when analysing to filePéter Gömöri
It is possible that not just the source but even the beam of a module is not available when calling analyse_to_file. For example when coverdata is imported from an old file and since then a module was removed. Before this fix cover:analyse_to_file/3 could possibly never return because of a helper process crashed with error:undef and never reply to the caller. At the same time link the helper process to cover_server so any further error won't let the caller waiting indefinitely.
2015-06-09cover: Unstick modules before loading remoteBjörn-Egil Dahlberg
If not unstuck: faulty error messages will appear in error_logger_warn_SUITE.
2015-05-25Update runtime_dependencies in application resource filesHans Bolinder
Applications that use the new erl_anno module are depending on STDLIB 2.5. Note that CosNotification, Megaco, SNMP, Xmerl, and Parsetools use the erl_anno module via the Yecc parsers only (the header file in lib/parsetools/include/yeccpre.hrl calls the erl_anno module). HiPE does not call the erl_anno module, but uses an exported type. We have chosen to make HiPE dependent on the erl_anno module.
2015-04-30tools: Use module erl_annoHans Bolinder
2015-04-21tools: Add printout of total number of calls and time in eprofBjörn-Egil Dahlberg
2015-03-20Merge branch 'rickard/time_api/OTP-11997'Rickard Green
* rickard/time_api/OTP-11997: (22 commits) Update primary bootstrap inets: Suppress deprecated warning on erlang:now/0 inets: Cleanup of multiple copies of functions Add inets_lib with common functions used by multiple modules inets: Update comments Suppress deprecated warning on erlang:now/0 Use new time API and be back-compatible in inets Remove unused functions and removed redundant test asn1 test SUITE: Eliminate use of now/0 Disable deprecated warning on erlang:now/0 in diameter_lib Use new time API and be back-compatible in ssh Replace all calls to now/0 in CT with new time API functions test_server: Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API otp_SUITE: Warn for calls to erlang:now/0 Replace usage of erlang:now() with usage of new API Multiple timer wheels Erlang based BIF timer implementation for scalability Implement ethread events with timeout ... Conflicts: bootstrap/bin/start.boot bootstrap/bin/start_clean.boot bootstrap/lib/compiler/ebin/beam_asm.beam bootstrap/lib/compiler/ebin/compile.beam bootstrap/lib/kernel/ebin/auth.beam bootstrap/lib/kernel/ebin/dist_util.beam bootstrap/lib/kernel/ebin/global.beam bootstrap/lib/kernel/ebin/hipe_unified_loader.beam bootstrap/lib/kernel/ebin/inet_db.beam bootstrap/lib/kernel/ebin/inet_dns.beam bootstrap/lib/kernel/ebin/inet_res.beam bootstrap/lib/kernel/ebin/os.beam bootstrap/lib/kernel/ebin/pg2.beam bootstrap/lib/stdlib/ebin/dets.beam bootstrap/lib/stdlib/ebin/dets_utils.beam bootstrap/lib/stdlib/ebin/erl_tar.beam bootstrap/lib/stdlib/ebin/escript.beam bootstrap/lib/stdlib/ebin/file_sorter.beam bootstrap/lib/stdlib/ebin/otp_internal.beam bootstrap/lib/stdlib/ebin/qlc.beam bootstrap/lib/stdlib/ebin/random.beam bootstrap/lib/stdlib/ebin/supervisor.beam bootstrap/lib/stdlib/ebin/timer.beam erts/aclocal.m4 erts/emulator/beam/bif.c erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_db_hash.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_process.h erts/emulator/beam/erl_thr_progress.c erts/emulator/beam/utils.c erts/emulator/sys/unix/sys.c erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam erts/preloaded/ebin/init.beam erts/preloaded/src/erts_internal.erl lib/common_test/test/ct_hooks_SUITE_data/cth/tests/empty_cth.erl lib/diameter/src/base/diameter_lib.erl lib/kernel/src/os.erl lib/ssh/test/ssh_basic_SUITE.erl system/doc/efficiency_guide/advanced.xml
2015-03-20Replace usage of erlang:now() with usage of new APIDan Gudmundsson
2015-03-18Merge branch 'maint'Hans Bolinder
* maint: tools: Fix a Unicode bug in the tags module
2015-03-17tools: Fix a Unicode bug in the tags moduleHans Bolinder
2015-02-25cover: Optimize file operationsBjörn Gustavsson
Use the 'raw', 'delayed_write', and 'read_head' options to speed up file operations. The analysis at the end of: ts:run(compiler, [batch,cover]). is now roughly twice as fast.
2015-02-20[cover] Improve performanceSiri Hansen
Add functions for cover compilation and analysis on multiple files. This allows for more parallelisation. All functions for cover compilation can now take a list of modules/files. cover:analyse/analyze and cover:analyse_to_file/analyze_to_file can be called without the Modules arguement in order to analyse all cover compiled and imported modules, or with a list of modules. Also, the number of lookups in ets tables is reduced, which has also improved the performance when analysing and resetting cover data.