Age | Commit message (Collapse) | Author |
|
Also, remove unused field 'counter' from #state{}.
|
|
|
|
Profiling showed that hipe_sdi spent most of its time in updateParents,
discarding nodes that were already deleted. By introducing a delete
operation to the segment trees, we can pay this cost only once, when
deleting the node from the graph.
Instead of keeping the ranges around, we recompute the range of the node
when we delete it, since this can be done in constant time, without any
memory allocation.
Although segment trees are not designed to be modified once built,
implementing a delete operation turned out to be a simple matter of
repeating insertion, but deleting the index from, instead of consing it
on, the appropriate nodes' values (segment lists).
This optimisation drastically sped up hipe_sdi to the point of no longer
being the bottleneck in the Assembly stage.
|
|
This speeds up parentsOfChild/2 from O(n) to O(lg n + k).
A new module misc/hipe_segment_trees.erl is introduced.
|
|
hipe_icode_bincomp:find_bs_get_integer/3 was quadratic for no good reason. By observing
that NewSuccs and Rest are always disjoint, we can see that the worklist
does not need to be a set. Furthermore, by replacing the ordset Visited
with a map, we reduce complexity to (a very low) O(n lg n).
On cuter_binlib, this change reduced the time for hipe_icode_bincomp
from 60s to .25s. Using a gb_set for Visited gives .5s, and a sets:set
1s.
We apply the same optimisation to hipe_icode_range.
|
|
* siri/cuddle-maint:
[sasl test] Skip tests on slow host
[sasl test] Catch erlang:port_close/1
[ct test] Extent node startup timeouts in netconfc_remote_SUITE
[ct test] Monitor netconf server during transaction
[sasl test] Extend wait time when starting nodes
[ct test] Skip system time related tests on TimeWarpingOS
|
|
* ingela/odbc/ctify:
odbc: Convert doc clauses form test_server to ct
odbc: Replace test_server with ct eqvivalents
odbc: Remove legacy config macros
odbc: Remove legacy suite clauses from test suites
|
|
In TLS-1.2 the selection of the servers algorithms and the the
possible selection of algorithms for the client certificate verify
message have different requirements.
|
|
Tests in ECC_SUITE did not always use the certs implied by the
name. Variable naming also confused the intent.
ssl_certificate_verify_SUITE did not clean up properly and tests could
fail due to cache problems.
|
|
release_handler_SUITE:otp_9395_update_many_mods and
otp_9395_rm_many_mods often fail on test host 'nain' due to a very
slow sys call. These tests are now skipped on this host.
|
|
After starting a node with open_port({spawn_executable,...},...), the
resulting port is closed both automatically and by the calling
rh_test_lib:cmd/3. To avoid 'badarg' in the case when the automatic is
faster, the call to erlang:port_close/1 is now catched.
|
|
|
|
Netconf client tests fail every now and then with
'table_trans_timeout' with no obvious reason. A monitor of the maint
netconf server process is now added - in case this process crashes
during the transaction.
|
|
Create correct links to datatypes outside of the wx application.
The added time for generating the doc/specs/specs_* files is unwelcome
(they are currently not used).
|
|
|
|
Extract specs och types from source files, which ensures that
seealso:s referring to, for example, erl_parse:abstract_form(), are
assigned working links.
|
|
|
|
Create links to types, but generate no links to local types.
|
|
Show map fields correctly.
|
|
Create `Module:Type()' instead of `Type() (see module Module)'.
|
|
|
|
See also http://bugs.erlang.org/browse/ERL-151.
|
|
into maint
* margnus1/dialyzer/suppress_warns/ERL-159/PR-1121/OTP-13723:
dialyzer: Suppress warns on generated case stmts
|
|
* iilyak/stdlib/correct_ets_specs/PR-1113/OTP-13721:
Fix return value spec for ets:match_object
|
|
Warnings about clauses that cannot match and are also compiler generated
are suppressed unless none of the clauses return.
This feature is useful for non-Erlang BEAM languages (such as Elixir)
that compile to Erlang and expand certain language constructs into case
statements. In that case, as long as the language construct can succeed,
these warnings are undesired and appear spurious to users that do not
check the Erlang code that their program expands into.
Thanks to José Valim for the test (slightly modified).
|
|
ets:match_object/1 and ets:match_object/3 return list of matches
|
|
An attempt to shut off Dialyzer's unmatched return warnings made
a change that simply ignored the return type of a function.
It's arguably better to modify the code of this function to not
return something "by accident." While at it, rewrote a slighty
confusing use of a list comprehension without a generator to a
case statement.
|
|
* ingela/ssl/dist-stop-nodes:
ssl: All started test nodes must be cleaned up
|
|
* goertzenator/snmpstring/PR-1100/OTP-13706:
add snmp_agent_conf_test to modules.mk
Fix ERL-164 for agent, vacm, and usm config files
snmp tests demonstrating ERL-164, no string escaping for SNMP config files
|
|
|
|
* aronisstav/compiler/fix-compile-forms-spec/PR-1109:
Fix spec of compile:(noenv_)forms/2
|
|
|
|
|
|
* hans/ssh/ssh_patches/OTP-13715:
ssh: Update ssh version
ssh: Remove possible hanging in TCs when server and client is on the same node
ssh: added dbg keys to ssh:connection_info/2 and ssh:channel_info/3
ssh: Extend experimental ssh_dbg.erl
ssh: remove 'sync sleeps'
|
|
* hans/ssh/retry_passwd_patch/OTP-13674:
ssh: update vsn.mk
ssh: polishing of password prompt's linefeed
ssh: Fix a hazard bug in ssh_auth
ssh: Some code cuddling in ssh_io
ssh: Fix type error in args of ssh_auth:sort_selected_mthds
ssh: Make client send a faulty pwd only once, ssh_connection_handler part
ssh: Make client send a faulty pwd only once, ssh_auth part
ssh: test cases for no repetition of bad passwords
|
|
* hans/inets/ftp_debug_printout/OTP-13712:
inets: updated version
inets: unused var in ftp.erl anonymized
inets: ftp debug printout removed
|
|
* hasse/tools/fix_xref/ERL-173/OTP-13708:
tools: Fix a bug adding multiple modules to an Xref server
|
|
maint-19
* margnus1/dialyzer/fix_map_bug/ERL-177/PR-1115/OTP-13709:
erl_types: Normalise X:=none() pairs in t_map/3
|
|
|
|
|
|
|
|
1) extend ssh_dbg:message with second arg, a fun/1 that is intended to replace pids in the trace printouts with better descriptions.
2) printout improvments
|
|
|
|
|
|
|
|
|
|
* legoscia/compiler/error-handling/PR-1112/OTP-13701:
Fix try-catch when writing makefile
Show error reason when compiler cannot write file
|
|
|
|
The bug when introduced in OTP-19.0.
Optimize adding multiple modules to an Xref server
|
|
t_map/3 previously required callers to perform this normalisation, but
as t_from_form/5 would sometimes fail to do so, this requirement is
relaxed.
Bug (ERL-177) reported and shrunk by Luke Imhoff.
|