aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib
AgeCommit message (Collapse)Author
2015-05-26Merge branch 'egil/cuddle-tests'Björn-Egil Dahlberg
* egil/cuddle-tests: erts: Relax monitor_SUITE:mixer/1 erts: Refactor monitor_SUITE:mixer/1 stdlib: Minor change of unicode_SUITE stdlib: Relax iterations in binary_module_SUITE:random_ref_sr_comp/1 Remove ?line macro in binary_module_SUITE:random_ref_sr_comp/1 stdlib: Relax iterations in binary_module_SUITE:random_ref_comp/1 stdlib: Remove ?line macro in binary_module_SUITE:random_ref_comp/1 stdlib: Relax filesize of io_proto_SUITE:unicode_options_gen/1 stdlib: Relax rand_SUITE timeout debugger: Relax test map_SUITE:t_guard_receive_large/1 tools: Relax lcnt test time stdlib: ets_SUITE cuddling
2015-05-26Merge branch 'josevalim/jv-annotate-form'Henrik Nord
* josevalim/jv-annotate-form: Only annotate forms when linting in the compiler OTP-12772
2015-05-25stdlib: Minor change of unicode_SUITEBjörn-Egil Dahlberg
2015-05-25stdlib: Relax iterations in binary_module_SUITE:random_ref_sr_comp/1Björn-Egil Dahlberg
2015-05-25Remove ?line macro in binary_module_SUITE:random_ref_sr_comp/1Björn-Egil Dahlberg
2015-05-25stdlib: Relax iterations in binary_module_SUITE:random_ref_comp/1Björn-Egil Dahlberg
2015-05-25stdlib: Remove ?line macro in binary_module_SUITE:random_ref_comp/1Björn-Egil Dahlberg
2015-05-25stdlib: Relax filesize of io_proto_SUITE:unicode_options_gen/1Björn-Egil Dahlberg
2015-05-25stdlib: Relax rand_SUITE timeoutBjörn-Egil Dahlberg
2015-05-22Merge branch 'egil/fix-hipe_libs'Björn-Egil Dahlberg
* egil/fix-hipe_libs: stdlib: Relax maps test suite for HiPE
2015-05-22Merge branch 'bjorn/stdlib/erl_lint'Björn Gustavsson
* bjorn/stdlib/erl_lint: Remove final (?) vestiges of support for parameterized modules
2015-05-22Only annotate forms when linting in the compilerJosé Valim
A lot of time spent on linting is due to eval_file_attribute/2 function that recursively traverses all the AST, annotating the file name on the AST nodes. This traversal happens so it is easier to add errors and warnings later on by simply introspecting the node. This patch changes eval_file_attribute/2 to only annotate forms (i.e. attributes and functions) and rely on the #lint record to keep the proper file information (which it already did before this patch). To summarize, both pre scan and pos scan will use the annotated file attribute in forms, however form/2 already maintains the proper file in #lint, which we pass around when retrieving the location information. After this patch, linting of a regular erlang module with 500LOC became twice faster when measured with eprof.
2015-05-21Merge branch 'sverk/ets-tab2file-syn/OTP-12737'Sverker Eriksson
* sverk/ets-tab2file-syn/OTP-12737: stdlib: Add 'sync' option to ets:tab2file/3
2015-05-21Remove final (?) vestiges of support for parameterized modulesBjörn Gustavsson
Parameterized modules were removed in cdf8060868575, but a few vestiges still remained in erl_lint.
2015-05-21Update runtime dependenciesRickard Green
2015-05-20stdlib: ets_SUITE cuddlingBjörn-Egil Dahlberg
Time measurement of ets-lookups, too fast for windows.
2015-05-20stdlib: Relax maps test suite for HiPEBjörn-Egil Dahlberg
2015-05-20Merge branch 'josevalim/jv-nowarn-bif-clash'Zandra Hird
* josevalim/jv-nowarn-bif-clash: Cache nowarn_bif_clash functions in erl_lint OTP-12754
2015-05-20Merge branch 'josevalim/patch-4'Zandra Hird
* josevalim/patch-4: Speed up linting by not traversing filenames in erl_anno
2015-05-20Merge branch 'richcarl/add-uptime-function'Henrik Nord
* richcarl/add-uptime-function: Add uptime() shell command OTP-12752
2015-05-19stdlib: Use lc to implement maps:map/2Björn-Egil Dahlberg
2015-05-19stdlib: Test maps:filter/2Björn-Egil Dahlberg
2015-05-18stdlib: Document maps:filter/2Björn-Egil Dahlberg
2015-05-18stdlib: Add maps:filter/2Björn-Egil Dahlberg
2015-05-18stdlib: Add gb_sets:iterator_fromHans Bolinder
2015-05-18stdlib: Add gb_trees:iterator_frombeaver
2015-05-14Speed up linting by not traversing filenames in erl_annoJosé Valim
Compilation on Erlang 18.0-rc2 is about 10% slower than in Erlang 17. After some debugging, we have noticed that linting is on average 30% to 50% slower being the main responsible for the performance reduction. Later profiling revealed is_filename/1 to be the biggest culprit. The change in this commit brings compilation times to about the same times as Erlang 17. Note this commit doesn't change the compiler behaviour compared to Erlang 17 because we didn't sanity check the value given to the file annotation in the past. I would say checking the filename is not worth it if it means compilation becomes 10% slower on average. After all, there are many places in the compiler where it will fail if we give it a malformed tree, I wouldn't then special case file annotation.
2015-05-14Cache nowarn_bif_clash functions in erl_lintJosé Valim
When compiling parser files, because they rely heavily on inline annotations, retrieving the nowarn_bif_clash information from the compiler options is expensive. This patch stores nowarn_bif_clash in the lint record. By using erlc +'{eprof,lint_module}' when compiling the erlang parser, we noticed the time spent on nowarn_function/2 reduced from 30% to 0.01%.
2015-05-13stdlib: Add 'sync' option to ets:tab2file/3Sverker Eriksson
to improve the chance of some real disk persistence before tab2file returns.
2015-05-13Revert "Prepare release"Henrik Nord
This reverts commit e09dd66dc4d89c62ddfd8c19791f9678d5d787c6.
2015-05-12Prepare releaseErlang/OTP
2015-05-12ssl: add ssl:connection_information/[1,2]Qijiang Fan
This commit adds a new function, ssl:connection_information/[1,2] to retrive the connection information from a SSLSocket. And also, this deprecates a function ssl:connection_info/1, and reimplements connection_info/1 with the new function.
2015-05-12Add uptime() shell commandRichard Carlsson
2015-05-11Merge branch 'kejv/export-digraph-label'Zandra Hird
* kejv/export-digraph-label: digraph: export label type
2015-05-11Merge branch 'egil/fix-maps-copy-shallow'Björn-Egil Dahlberg
* egil/fix-maps-copy-shallow: erts: Make hashmap_get halfword safe erts: Fix ETS db_has_variable check for large Maps stdlib: Strengthen ETS Maps tests erts: Fix copy shallow for large Maps stdlib: Strengthen ETS Maps tests erts: ETS ordered_set cannot use it's optimization with Maps stdlib: Strengthen ETS Maps tests stdlib: Refactor away ?line macro
2015-05-08digraph: export label typeDavid Kubecka
Together with vertex and edge, label is a core type of digraph module according to documentation and therefore should be exported as well.
2015-05-08Fixed a typo in Maps docBruce Yinhe
2015-05-08Delete superfluous comma from `filtermap' exampleAndras Horvath
The code explaining the behaviour of `filtermap/2` had a syntax error and wouldn't compile
2015-05-08Merge branch 'bjorn/stdlib/fix-filename-split/OTP-12716'Björn Gustavsson
* bjorn/stdlib/fix-filename-split/OTP-12716: Correct filename:split(<<"">>)
2015-05-08Merge branch 'dgud/stdlib/rand/OTP-12586'Dan Gudmundsson
* dgud/stdlib/rand/OTP-12586: stdlib: Document and add normal distributed random value function stdlib: Add new random functionality/module
2015-05-07stdlib: Strengthen ETS Maps testsBjörn-Egil Dahlberg
Ensure db_has_variable is tested for large Maps as well.
2015-05-07stdlib: Strengthen ETS Maps testsBjörn-Egil Dahlberg
Strengthen tests of large Maps in ETS.
2015-05-07stdlib: Strengthen ETS Maps testsBjörn-Egil Dahlberg
The additional tests in match_object focus on ordered sets.
2015-05-07stdlib: Refactor away ?line macroBjörn-Egil Dahlberg
2015-05-06Correct filename:split(<<"">>)Björn Gustavsson
filename:split("") returns [], while filename:split(<<"">>) returns [<<"/">>]. Since the support in the filename module for binary arguments is much more recent than support for strings, change filename:split(<<"">>) so that it returns []. Noticed-by: KOUCHANG
2015-05-04Merge branch 'peppe/jcl_mode_improvements'Peter Andersson
* peppe/jcl_mode_improvements: Fix problem with unitialized edlin text buffer Fix shell crash when in switch command mode OTP-12673
2015-04-30stdlib: Document and add normal distributed random value functionDan Gudmundsson
It is needed in various tests. It uses the Ziggurat algorithm, which is the fastest that I know.
2015-04-30Ensure that erl_anno is used when building the primary bootstrapBjörn Gustavsson
As the erl_anno module is used by the compiler, it must be included in the set of modules that are used when building the primary bootstrap.
2015-04-30stdlib: Silence some of qlc's warningsHans Bolinder
As long as the Erlang Compiler and qlc do not agree on the location of LC warnings, qlc's own warnings about patterns and filters that always fail have been silenced.
2015-04-30stdlib: Use module erl_annoHans Bolinder