Age | Commit message (Collapse) | Author |
|
This speeds up the compilation of binary literals
with string values in them. For example, compiling
a file with a ~340kB binary would yield the following
times by the compiler:
Compiling "foo"
parse_module : 0.130 s 5327.6 kB
transform_module : 0.000 s 5327.6 kB
lint_module : 0.011 s 5327.8 kB
expand_module : 0.508 s 71881.2 kB
v3_core : 0.463 s 11.5 kB
Notice the increase in memory and processing time
in expand_module and v3_core. This happened because
expand_module would expand the string in binaries
into chars. For example, the binary <<"foo">>, which
is represented as
{bin, 1, [
{bin_element, 1, {string, 1, "foo"}, default, default}
]}
would be converted to
{bin, 1, [
{bin_element, 1, {char, 1, $f}, default, default},
{bin_element, 1, {char, 1, $o}, default, default},
{bin_element, 1, {char, 1, $o}, default, default}
]}
However, v3_core would then traverse all of those
characters and convert it into an actual binary, as it
is a literal value.
This patch addresses this issue by moving the expansion
of string into chars to v3_core and only if a literal
value cannot not be built. This reduces the compilation
time of the file mentioned above to the values below:
Compiling "bar"
parse_module : 0.134 s 5327.6 kB
transform_module : 0.000 s 5327.6 kB
lint_module : 0.005 s 5327.8 kB
expand_module : 0.000 s 5328.7 kB
v3_core : 0.013 s 11.2 kB
|
|
into maint
* falkevik/erts/configure_to_check_in_libsctp_for_sctp_funcs:
Check libsctp for sctp funcs in configure.in
|
|
* schwartz/system/doc_fix:
Fix verb conjugation in statem docs
|
|
* lukas/erts/dirty_msacc_cleanup/OTP-13744:
erts: Update msacc docs with dirty scheduler info
erts: Cleanup a bunch of un-neccesary #ifndefs
erts: Fix some msacc inline directives
erts: Add extra bif msacc states
erts: Add erts_map_from_ks_and_vs
erts: Fix msacc for dirty scheduler and heap_limit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* lukas/erts/remove_benchmark_code/OTP-13743:
hipe: Remove performance profiling code
|
|
This type of statistics is now available through the microstate
accounting API.
|
|
* lukas/erts/tracing/get_seq_tracer_mem_leak/OTP-13742:
erts: Make sure to de-allocate the old seq tracer
|
|
* pw/erts/documentation-editorial-changes/OTP-13740:
erts: Review of documentation changes
erts: Editorial changes
erts: Move all functions in docs to be in alphabetical order
|
|
* elbrujohalcon/fix-lc-doc/PR-1125/OTP-13739:
Add clarification on LC semantics (#1)
|
|
|
|
|
|
'We' wait.
|
|
|
|
* siri/reltool/dep_in_app_not_xref/ERL-167/OTP-11993:
[reltool] Fix dependency bug for applications not in 'rel' specs
[reltool] Fix dependency bug for applications in 'rel' specs
[reltool] Add test for ERL-167
|
|
This commit only changes the order of functions and does some
other rearrangements to that the diff with the next commit will
be easier to follow. No content or XML tags are changed.
|
|
It addresses the special case of generator-less LCs.
As a bonus, I fixed a typo :)
|
|
For applications that are not included in a 'rel' spec in the reltool
config, dependencies in the .app file are not followed. This is now
corrected.
|
|
For applications that are included in a 'rel' spec in the reltool
config, some dependency chains are not followed. E.g.
* Application x has y as included application, and y in turn has z as
included application. Then z is not included.
* Application x has y in its 'applications' tag in the .app file, and
y in turn has z as included application. Then z is not included.
This is now corrected - all app-file dependencies are recusively
followed for all applications that are included in a 'rel' spec in the
reltool config.
|
|
For applications that are explicitly included in the reltool config,
but that are not included in a 'rel' spec, dependencies in the .app
file are not followed (only xref dependencies are taken care of).
|
|
* 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
|
|
* lukas/erts/tracing/bif_return_to_trace_fix/OTP-13734:
erts: After a call to a tracer nif, reset htop
erts: Check if return_to trace is enabled for bif
|
|
This is needed in order for the heap to never contain
any pointers to invalid memory. This is good for performance
and debugging reasons.
|
|
* lukas/erts/spawn_driver_relative_cd/ERL-175/OTP-13733:
erts: Add port_SUITE:cd invalid dir testcase
erts: Fix spawn driver with relative cd option
erts: Fix HARD_DEBUG printouts in erl_child_setup
erts: Improve error printouts in erl_child_setup
Conflicts:
erts/emulator/test/port_SUITE.erl
|
|
* 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
|
|
* ingela/ssl/ECC-select-hash-sign/OTP-13711:
ssl: Correct handling of signature algorithm selection
ssl: Simplify and refactor tests
|
|
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.
|
|
We have to do an extra check if the return_to trace is enabled here
as it may have been cleared by the bif after the flags where
created by the call_trace.
|
|
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.
|
|
|
|
|
|
maint
* hasse/erl_docgen/generated_type_links/ERL-120/OTP-13720:
wx: Prepare for using Erlang types and specs
syntax_tools: Improve types
syntax_tools: Improve seealso:s referring to types
erl_docgen: Allow 'seealso' in 'name'
erl_docgen: Generate type links in callback module creating erlref
erl_docgen: Correct callback module for creating erlref
erl_docgen: Improve callback module for creating erlref
edoc: Correct types
|
|
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)'.
|
|
|
|
'mbucc/syntax_tools/fix_erl_tidy_tilde/ERL-151/PR-1071/OTP-13725' into maint
* mbucc/syntax_tools/fix_erl_tidy_tilde/ERL-151/PR-1071/OTP-13725:
syntax_tools: Make erl_tidy work on input file with tilde
|