Age | Commit message (Collapse) | Author |
|
This commit utilizes the new bif erlang:check_old_code/1 to check if a
module has old code in the system or not before running
erlang:check_process_code/2. This is to optimize
release_handler:install_release (and
release_handler:check_install_release).
A new test is added which checks that after traversing all
processes/modules once and purging all old code, the second run
through this part of the code is "sufficiently" much faster.
A note is also added in the reference manual for
release_handler:install_release about how to go around the efficiency
problem of this function.
|
|
* hb/inet_types_and_specs/OTP-9260:
Improve types and specifications of the inet modules
|
|
* bjorn/erts/old-code-checking-improvements/OTP-9495:
code: Optimize purge/1 and soft_purge/1 using check_old_code/1
Add erlang:check_old_code/1
check_process_code/2: Quickly return 'false' if there is no old code
|
|
While at it, eliminate an unnecessary use of throw/catch in the
implementation of soft_purge/1.
|
|
|
|
Add erlang:check_old_code/1 to quickly check whether a module
has old code. If there is no old code, there is no need to call
erlang:check_process_code/2 for all processes, which will save
some time if there are many processes.
|
|
There is no need to suspend the process if the module has no old
code. Measurements show that this change will make
erlang:check_process_code/2 in an SMP emulator about four times
faster if the module has no old code.
|
|
* anders/diameter/augment_inherited_enums/OTP-9469:
Allow @enum when AVP is defined in an inherited dictionary.
|
|
* anders/diameter/optional_appid_in_spec/OTP-9467:
@id required in dictionary files only when @messages is specified.
|
|
|
|
* hw/update-chmod-without-f:
Again: Call chmod without the "-f" flag
OTP-9491
|
|
* ao/fix-percept-msgs:
Fix message handling in select requests
Add demonitor to avoid keeping DOWN message in the queue
OTP-9490
|
|
percept_db used to send results in untagged messages, and use
a non selective receive to extract them. When percept is used
from the shell process, this can confuse other messages with
the actual result.
Add a tag to the message to be {result, Result}.
|
|
fix one spec in do_start/0
|
|
* sa/dialyzer-server-loop-fix:
Fix server loop detection
OTP-9489
|
|
* rc/r14-gc-fix:
fix 64-bit issues in the garbage collection
OTP-9488
|
|
* ta/nif-strict-aliasing:
erts: use a union to avoid strict aliasing issues
erts: adapt matrix_nif to R14 erl_nif API changes
OTP-9487
|
|
* gs/yecc-example:
Fix incorrect order of pseudo variables in yecc example
OTP-9484
|
|
* sa/dialyzer-small-fixes:
Fix dialyzer warning on default clause for binary comprehension
Update results of race_SUITE/extract_translations
Update results of small_SUITE/flatten
Add codec_can and list_to_bitstring tests
Fix bug when reporting unused functions
Update Dialyzer's r9c_suite results
OTP-9483
|
|
into dev
* nick/ssh/stop_channel_tampers_with_trap_exit_flag/OTP-9386:
Corrected year in license header.
OTP-9386 - Calling ssh_sftp:stop_channel/1 resulted in that the trap_exit flag was set to true for the invoking process.
|
|
* nick/lht-idl-compiler-opt/OTP-9460:
[IC] Changed version, added release note and updated license headers.
ic: Fix typo, #ifudef -> #ifndef
|
|
Courtesy of William B. Morgan at Bigpoint Inc.
|
|
* hb/correction_zip_open/OTP-9472:
Fix a bug in zip:zip_open/1,2.
|
|
The example is for converting from infix to prefix. This change
uses to correct ordering of the triplet.
|
|
|
|
zip:zip_open/1,2 did not accept binary archives.
Also corrected the contracts of t/1 and tt/1.
|
|
* hb/correction_of_zip_contracts/OTP-9471:
Correct contracts in the zip module
|
|
* hb/et/remove_dialyzer_warnings/OTP-9470:
Remove Dialyzer warnings
|
|
The contracts of zip:zip_list_dir/1 and zip:zip_get/2 have been
corrected.
|
|
* ia/odbc/skip-tests-because-of-driver-issues:
Skip test if not applicable
|
|
|
|
3GPP standards (for one) extend the values allowed for RFC 3588
AVP's of type Enumerated. Previously, extending an AVP was only
possible by completely redefining the AVP.
|
|
@id defines an application identifier and this is used only when sending
or receiving messages. A dictionary can define only AVP's however,
to be included by other dictionaries using @inherits, in which case it
makes no sense to require @id.
Note that message definitions are not inherited with @inherits, only
AVP's
|
|
Fixed dialyzer warning occuring on binary comprehension of form
"<< <<>> || {A, B} <- [{a, b}] >>" caused by default clause
inserted by compiler. Since this clause is different from the
case of list comprehension, dialyzer fails to suppress that warning.
|
|
|
|
|
|
* kj/eunit-surefire-fixes:
Generate separate surefire XMLs for each test suite
OTP-9465
|
|
* cr/trivia:
replace "a ssl" with "an ssl"
reindent pkix_path_validation/3
Trivial documentation fixes
OTP-9464
|
|
* rc/edoc-minor:
forgot to ensure that xmerl is found in path for include_lib to work
fix -spec declaration that doesn't work in R13B04
eliminate warnings about unused imports
removed CVS-keywords from source files
synchronized with edoc development version
OTP-9463
|
|
* hb/stdlib/contract_correction/OTP-9450:
Correct the contract of timer:now_diff/2
|
|
Use a union for pointer type conversion to avoid compiler warnings
about strict-aliasing violations with gcc-4.1. gcc >= 4.2 does not
emit the warning.
TODO: Reconsider use of union once gcc-4.1 is obsolete?
|
|
|
|
We discovered that if a single Erlang process tried to grow above 32
GB (i.e., more 64-bit words than can be counted by a 32-bit number),
the VM failed to find the next larger heap size, even though there
were plenty more heap sizes left to pick from and even though we had a
lot more memory available on the machine. (Obviously, this is only
applicable on 64-bit Erlang.)
It turned out to be due to some 'int' variables in the heap resizing
parts of erl_gc.c not being properly updated to 'Uint' or 'Sint'. Once
that was fixed, I got segfaults instead as soon as the heap got larger
than 2^32 words, due to even more 'int' declarations in the same file,
but now in the GC code.
After fixing this as well, I successfully ran an Erlang node in which
a single Erlang process had a heap so large that I'm not at liberty to
divulge the exact size, but I think the scientific term is
"humongous", and I'm confident that there are no further immediate
problems with very very large individual process heaps.
|
|
The contract of timer:now_diff() has been corrected.
(Thanks to Alex Morarash).
|
|
* nick/lht-idl-compiler-opt/OTP-9460:
Changed version, added release note and updated license headers.
ic: Implement multiple include optimization
ic: Fix preprocessor double expanded included files
ic: Improve ic_pragma performance by using ets:match
|
|
|
|
* lars/xmerl/attr_val_bug/OTP-9411:
Added test case for ticket 9411.
Entity replacement in attributes doesn't work poperly.
|
|
* lars/xmerl/cant_locate_xsd/OTP-9410:
Added ticket test case.
Fixed problem with relative paths to schemas.
|
|
|
|
|