aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-06-15erts: Add erts_factory_trim_and_closeSverker Eriksson
2015-06-15erts: Optimize driver_deliver_termSverker Eriksson
Try write directly to process heap (as before) if the term is guaranteed not to contain any big maps that may break the initial size estimation.
2015-06-15ssl: Remove unnecessary suite callbackIngela Anderton Andin
The test cases does not use any hooks and including the ts_install_cth trips up the test case setup on some platforms cuasing the test cases to fail with {error, enoent}
2015-06-15Merge branch 'rc/robustify-module_info/OTP-12820'Björn-Egil Dahlberg
* rc/robustify-module_info/OTP-12820: erts: Add test for module_info on purged modules erts: Remove ?line macros from module_info_SUITE Fix segfault in module_info for deleted modules
2015-06-15erts: Remove hashmap probabilistic heap overestimationSverker Eriksson
by adding a dynamic heap factory. "binary_to_term" is now a hybrid solution with both a call to decoded_size() to calculate needed heap space AND possible dynamic allocation of more heap space if needed for big maps. The heap size returned from decoded_size() is guaranteed to be sufficient for all term heap data except for hashmap nodes. All hashmap nodes are created at the end of dec_term() by invoking the heap factory interface that may allocate more heap space on process heap or in fragments. With this commit it is no longer guaranteed that a message is confined to only one heap fragment.
2015-06-15Merge branch 'sverk/map-merge-trap'Sverker Eriksson
* sverk/map-merge-trap: erts: Optimize maps:merge erts: Yield in maps:merge erts: Refactor arg swapping for maps:merge erts: Add save/restore for PSTACK erts: Fix magic binary alignment on 32-bit erts: Add maps to send_term_SUITE erts: Fix calculation of reclaimed data during full gc erts: Fix warning about const pointer to make_boxed and make_list erts: Fix typo in etp-carrier-blocks
2015-06-15Merge branch 'sverk/ets-file2tab-preserve-opts/OTP-12814'Sverker Eriksson
* sverk/ets-file2tab-preserve-opts/OTP-12814: stdlib: Make ets:file2tab preserve read/write_concurrency stdlib: Fix ets_SUITE:tabfile_ext4
2015-06-15Merge branch 'ia/ssl/test-fips'Ingela Anderton Andin
* ia/ssl/test-fips: ssl: Filter suites for openssl FIPS if necessary
2015-06-15erts: Optimize maps:mergeSverker Eriksson
to be better at reusing entire hashmap sub-trees. Sub-tree reuse is detected in three cases: 1. The sub-tree top node does not exist at all in the other map. Already implemented before this commit. 2. The exact same sub-tree exist in both maps. Must calculate nr of keys in tree to get total size right. 3. We detect that a sub-tree only contains stuff from one of the maps. There is still one case we don't detect. If A and B leafs have equal keys we could also compare the values. If values are equal, further node reuse could propagate up toward the root (by 'mix'==0). The downside would be potentially expensive value comparisons.
2015-06-15erts: Yield in maps:mergeSverker Eriksson
2015-06-15Merge branch 'hb/dialyzer/fix_opaque_types/OTP-12493'Hans Bolinder
* hb/dialyzer/fix_opaque_types/OTP-12493: dialyzer: Fix a minor bug concerning opaque types dialyzer: Modify warning for comparison of opaque types dialyzer: Modify the handling of parametrized opaque types
2015-06-15dialyzer: Fix a minor bug concerning opaque typesHans Bolinder
The test t_is_none() does not check for opaque types (and this is most likely how it should be), why t_opaque() should never be called with none().
2015-06-15dialyzer: Modify warning for comparison of opaque typesHans Bolinder
Comparing two operands for (in)equality is allowed if both operands are of the same unknown opaque type. Since OTP 17, there is a warning if the types of the operands have nothing in common (this cannot happen before OTP 17). However, the warning says there is a test between opaque types, which is wrong. The warning now states that the comparison cannot evaluate to 'true', which is more consistent.
2015-06-15dialyzer: Modify the handling of parametrized opaque typesHans Bolinder
In OTP 17 it is possible to mix types such as dict:dict() and dict:dict(_, _) outside of the dict module (and similarly for some other opaque types in STDLIB), but the results are unfortunately possibly invalid warnings in users' code. In OTP 18 parameterized opaque types with the same name but with different number of parameters are no longer compatible when seen from outside of the module where the types are declared. The types in STDLIB have been updated accordingly; for instance -opaque dict() :: dict(_, _). has been replaced by -type dict() :: dict(_, _).
2015-06-15Merge branch 'ia/ssl/unknown-hash/OTP-12829'Ingela Anderton Andin
* ia/ssl/unknown-hash/OTP-12829: ssl: Add unassigned values ssl: Do not crash on proprietary hash_sign algorithms
2015-06-15Merge branch 'hans/ssh/cuddle_tests'Hans Nilsson
* hans/ssh/cuddle_tests: ssh: fix bad ssh_basic_SUITE dir_options group ssh: add test case + corr for ssh_info:print/1
2015-06-15ssh: fix bad ssh_basic_SUITE dir_options groupHans Nilsson
2015-06-15ssh: add test case + corr for ssh_info:print/1Hans Nilsson
Conflicts: lib/ssh/test/ssh_basic_SUITE.erl
2015-06-15Update prim_inet.beamRaimo Niskanen
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-15Merge branch 'bjorn/mnesia/doc'Björn Gustavsson
* bjorn/mnesia/doc: Update asn1 documentation
2015-06-15stdlib: Make ets:file2tab preserve read/write_concurrencySverker Eriksson
2015-06-15Merge branch 'hb/dialyzer/fix_loop/OTP-12826'Hans Bolinder
* hb/dialyzer/fix_loop/OTP-12826: dialyzer: Simplify some code dialyzer: Fix a bug in the expansion of forms
2015-06-15dialyzer: Simplify some codeHans Bolinder
Remove what it seems redundant checks.
2015-06-15dialyzer: Fix a bug in the expansion of formsHans Bolinder
The check that a modified type of a field is a subtype of the declared type has been moved outside of the expansion of forms to avoid loops.
2015-06-15Merge branch 'dgud/emacs/bifs'Dan Gudmundsson
* dgud/emacs/bifs: tools: Add new bifs to emacs highlighter
2015-06-13Add the link to Fun expressions manual pageYoshihiro Tanaka
2015-06-12Merge branch 'hb/stdlib/types_related/OTP-12492'Hans Bolinder
* hb/stdlib/types_related/OTP-12492: Update the documentation of the abstract format Document abstract format of type-related trees Update primary bootstrap edoc: Add parentheses to Erlang types and specs when needed stdlib: Introduce precedence for operators in types
2015-06-12Update the documentation of the abstract formatHans Bolinder
The parenthesized type with tag 'paren_type' is no longer created by the Erlang Parser as of OTP 18.0. The tag 'user_type' is used for user defined types as of OTP 18.0. In releases before commit 7ad783 'type' is used.
2015-06-12Document abstract format of type-related treesAnthony Ramine
2015-06-12Update primary bootstrapHans Bolinder
2015-06-12edoc: Add parentheses to Erlang types and specs when neededHans Bolinder
Before OTP 18, parentheses are kept by the Erlang Parser, and converted by EDoc ('paren_type' to #t_paren{}). As of OTP 18, the parser no longer keeps parentheses, why EDoc needs to insert them when converting Erlang types and specs to EDoc types and specs. As it seems, it is only annotations that sometimes require parentheses.
2015-06-12stdlib: Introduce precedence for operators in typesHans Bolinder
Add new functions erl_parse:type_inop_prec() and erl_parse:type_preop_prec(). Get rid of paren_type used for parentheses in types.
2015-06-10ssl: Filter suites for openssl FIPS if necessaryIngela Anderton Andin
2015-06-10Merge branch 'rickard/delayed-delete-node/OTP-12802'Rickard Green
* rickard/delayed-delete-node/OTP-12802: Fix error checking for +zdntgc flag
2015-06-10Fix error checking for +zdntgc flagRickard Green
2015-06-10Merge branch 'rickard/delayed-delete-node/OTP-12802'Rickard Green
* rickard/delayed-delete-node/OTP-12802: Delayed node table GC
2015-06-10Merge branch 'rickard/node-table-read-lock/OTP-12777'Rickard Green
* rickard/node-table-read-lock/OTP-12777: Only read lock node table when reading info
2015-06-10Merge branch 'rickard/timer-improvement/OTP-12650'Rickard Green
* rickard/timer-improvement/OTP-12650: Callback timer Disable accessor timer option Aux work flag descriptions Fix test cases
2015-06-10Merge branch 'rickard/lost-multi-aux-work/OTP-12812'Rickard Green
* rickard/lost-multi-aux-work/OTP-12812: Fix lost aux work flags when setting multiple flags
2015-06-10Delayed node table GCRickard Green
2015-06-10Merge branch 'scrapinghub/proxy_addr_for_keeped_alive_request'Zandra Hird
* scrapinghub/proxy_addr_for_keeped_alive_request: inets: set proxy address for requests from keep-alive queue OTP-12822
2015-06-10Merge branch 'egil/fix-purge-literals/OTP-12821'Björn-Egil Dahlberg
* egil/fix-purge-literals/OTP-12821: erts: Fix garbage collect literals in code purge
2015-06-10erts: Add test for module_info on purged modulesBjörn-Egil Dahlberg
2015-06-10erts: Remove ?line macros from module_info_SUITEBjörn-Egil Dahlberg
2015-06-10Fix segfault in module_info for deleted modulesRichard Carlsson
Add a check to protect from segfault when erlang:get_module_info/1/2 is called on a deleted module (i.e. with no current code). Also refactor erts_module_info_0/1 to avoid repeated calls to erts_active_code_ix() and remove some obsolete comments. Add test for module_info on deleted modules.
2015-06-10Merge branch 'gomoripeti/observer_tv_no_refresh'Henrik Nord
* gomoripeti/observer_tv_no_refresh: Don't refresh observer table view if there was no change OTP-12819
2015-06-10Merge branch 'egil/fix-cover-error_logger/OTP-12818'Björn-Egil Dahlberg
* egil/fix-cover-error_logger/OTP-12818: cover: Unstick modules before loading remote kernel: Add module name to sticky_dir error message kernel: Remove ?line macros in error_logger_warn_SUITE
2015-06-10Merge branch 'hans/ssh/unknown_msgfun/OTP-12813'Hans Nilsson
* hans/ssh/unknown_msgfun/OTP-12813: ssh: Option unexpectedfun for ssh:daemon and ssh:connect
2015-06-10Merge branch 'hans/ssh/pwd_correction'Hans Nilsson
* hans/ssh/pwd_correction: ssh: doc change for keyboard-interaction, pwd->password