aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2010-08-10Merge branch 'rickard/ethread-rewrite/OTP-8544' into devRickard Green
* rickard/ethread-rewrite/OTP-8544: Rewrite ethread library
2010-08-10Rewrite ethread libraryRickard Green
Large parts of the ethread library have been rewritten. The ethread library is an Erlang runtime system internal, portable thread library used by the runtime system itself. Most notable improvement is a reader optimized rwlock implementation which dramatically improve the performance of read-lock/read-unlock operations on multi processor systems by avoiding ping-ponging of the rwlock cache lines. The reader optimized rwlock implementation is used by miscellaneous rwlocks in the runtime system that are known to be read-locked frequently, and can be enabled on ETS tables by passing the `{read_concurrency, true}' option upon table creation. See the documentation of `ets:new/2' for more information. The ethread library can now also use the libatomic_ops library for atomic memory accesses. This makes it possible for the Erlang runtime system to utilize optimized atomic operations on more platforms than before. Use the `--with-libatomic_ops=PATH' configure command line argument when specifying where the libatomic_ops installation is located. The libatomic_ops library can be downloaded from: http://www.hpl.hp.com/research/linux/atomic_ops/ The changed API of the ethread library has also caused modifications in the Erlang runtime system. Preparations for the to come "delayed deallocation" feature has also been done since it depends on the ethread library. Note: When building for x86, the ethread library will now use instructions that first appeared on the pentium 4 processor. If you want the runtime system to be compatible with older processors (back to 486) you need to pass the `--enable-ethread-pre-pentium4-compatibility' configure command line argument when configuring the system.
2010-08-03Merge branch 'pg/optimize_beam_dict_string_table' into devBjörn Gustavsson
2010-07-30Merge branch 'db/tv_nthtail_fix' into devBjörn Gustavsson
OTP-8751
2010-07-29Merge branch 'cg/small-typos' into devBjörn Gustavsson
2010-07-29Merge branch 'ta/doc-fixes' into devBjörn Gustavsson
2010-07-29Merge branch 'pg/load-native-code-for-early-modules' into devBjörn Gustavsson
OTP-8750
2010-07-29beam_asm: Simplify string table generation for beamsPaul Guyot
The code for generating the string table (which is now only used for bit syntax matching) in a BEAM file is quite complicated and potentially expensive when compiling modules with many thousands of clauses doing bit syntax matching. Simplify and optimize the code using bit syntax and binary:match/2 instead of the list operations in the original code.
2010-07-28Load native code for modules loaded before the code serverPaul Guyot
When configuring erlang with --enable-native-libs, some core modules are compiled with hipe, yet because they are loaded before the code server, their native code is not loaded. The fix consists in quietly trying to load the native code for all loaded modules just after the code server is started.
2010-07-27Merge branch 'egil/fix-edoc-deprecations/OTP-8749' into devBjörn-Egil Dahlberg
* egil/fix-edoc-deprecations/OTP-8749: Fix deprecated references to http:request/4 in edoc
2010-07-27Merge branch 'egil/clean-inviso-warnings/OTP-8747' into devBjörn-Egil Dahlberg
* egil/clean-inviso-warnings/OTP-8747: Update guards to the modern interface
2010-07-27Fix compiler warnings in erl_interfaceBjörn-Egil Dahlberg
- Removed unused variable in ei_decode_term.c - Fixed faulty deallocation
2010-07-26Fix deprecated references to http:request/4 in edocBjörn-Egil Dahlberg
2010-07-26Update guards to the modern interfaceBjörn-Egil Dahlberg
2010-07-26Fix typos in the distribution handshake docMichael Santos
2010-07-26Remove extra leading spaces in filename docTuncer Ayaz
2010-07-26Remove wrong ')' in eunit overview edocTuncer Ayaz
2010-07-26Correct a couple of reltool documentation errorsTuncer Ayaz
Fix typos and other errors.
2010-07-26Fix minor typos and errors in documentationCristian Greco
2010-07-20Merge branch 'sverker/one_offheap_list/OTP-8737' into devSverker Eriksson
* sverker/one_offheap_list/OTP-8737: One off-heap list, to eliminate two words per ETS object.
2010-07-20One off-heap list, to eliminate two words per ETS object.Sverker Eriksson
Merging the three off-heap lists (binaries, funs and externals) into one list. This reduces memory consumption by two words (pointers) per ETS object.
2010-07-20Merge branch 'sverker/ets_select_hang/OTP-8732' into devSverker Eriksson
* sverker/ets_select_hang/OTP-8732: Fix ets:select hanging on ordered_set with empty list as key.
2010-07-08Merge branch 'sverker/full_INTEGER_EXT/OTP-8540' into devSverker Eriksson
* sverker/full_INTEGER_EXT/OTP-8540: term_to_binary use all 32 bits of INTEGER_EXT
2010-07-08Fix type spec error in cryptoSverker Eriksson
Changed return types from "binary" to "binary()" for md5_mac, md5_mac_96, sha_mac and sha_mac_96.
2010-07-07Merge branch 'ia/ssl/dsa_client_cert/OTP-8721' into devIngela Anderton Andin
2010-07-07Fix ets:select hanging on ordered_set with empty list as key.Sverker Eriksson
erl_db_tree.c incorrectly used NIL (empty list) as "lastkey" to mark start of the iteration. A real NIL key could then cause a select or match iteration to be restarted over and over again if the last key before a trap happended to be NIL. Changed NIL to THE_NON_VALUE. Should be ok as the initial key value can never be put into any continuation tuple.
2010-07-07Merge branch 'peppe/common_test/dev/OTP-8725' of super:peppe_otp into devRaimo Niskanen
* 'peppe/common_test/dev/OTP-8725' of super:peppe_otp: Fix bug that crashes common_test when running cover Bump version numbers for common_test and test_server Add documentation for group specifications and for the label option Improve handling of test case group specifications Add textured backgound to html log files Improve handling of test case group specifications Add new option to label test runs Implement handling of group specifications Fix problem with using the wrong logdir setting Rewrite handling of group definitions in Common Test test suites
2010-07-07Fix a bug in the type of lists:flatmap/2.Kostis Sagonas
The code handling this BIF did not take into account that the fun in the first argument that could return [] and therefore the return value of the BIF could also be [].
2010-07-07Merge branch 'rani/sctp-udp-recv-error' into devRaimo Niskanen
* rani/sctp-udp-recv-error: Fix inet_drv to detect passive mode UDP errors for SCTP builds
2010-07-07Fix inet_drv to detect passive mode UDP errors for SCTP buildsRaimo Niskanen
Debug and patch by Per Hedeland for R13B04 on erlang-patches: Connected UDP (and handling of any other errors in UDP recv()) is broken in passive mode for all SCTP-enabled builds.
2010-07-07Merge branch 'pg/beam_lib_cmp_2_return_type_specification' into devRaimo Niskanen
* pg/beam_lib_cmp_2_return_type_specification: Fix beam_lib:cmp/2 return type specification
2010-07-07Merge branch 'ta/filetypo' into devRaimo Niskanen
* ta/filetypo: Correct trivial typos in file manual
2010-07-07Merge branch 'ks/auth-specs' into devRaimo Niskanen
* ks/auth-specs: auth: Fix types and specs
2010-07-07Merge branch 'cf/timer_tc' into devRaimo Niskanen
* cf/timer_tc: Add timer:tc/2 to measure the elapsed time of anonymous functions Conflicts: lib/stdlib/doc/src/timer.xml
2010-07-07Merge branch 'gl/jinterface-pom' into devRaimo Niskanen
* gl/jinterface-pom: Generate pom.xml during jinterface build
2010-07-07Merge branch 'ks/cleanups' into devRaimo Niskanen
* ks/cleanups: compiler: Fix incorrect types and specs escript: Add more types to records debugger: Clean up as suggested by tidier docbuilder: Clean up as suggested by tidier Conflicts: lib/debugger/src/dbg_iload.erl lib/debugger/src/dbg_ui_trace_win.erl
2010-07-06Documentation clarifications for now/0 and timer:tc/3Raimo Niskanen
2010-07-06Fix bug that crashes common_test when running coverPeter Andersson
2010-07-06Bump version numbers for common_test and test_serverPeter Andersson
2010-07-06Add documentation for group specifications and for the label optionPeter Andersson
2010-07-06Improve handling of test case group specificationsPeter Andersson
Still a few things missing: * Documentation * More tests * Fix old broken test cases
2010-07-06Add textured backgound to html log filesPeter Andersson
The overview html log files now have a textured background. This default new look can be switched off with the 'basic_html' option.
2010-07-06Improve handling of test case group specificationsPeter Andersson
2010-07-06Add new option to label test runsPeter Andersson
With the option 'label', the test run gets a user defined name that Common Test prints in the overview log files.
2010-07-06Implement handling of group specificationsPeter Andersson
It's possible now to specify execution of test case groups (and test cases within groups) by means of run_test options and test specification terms. From test specifications, groups (and test cases) may also be skipped. ct_run has been improved to report errors better. New test suites have been introduced.
2010-07-06Fix problem with using the wrong logdir settingPeter Andersson
The default logdir value "." overrides setting in test specification if logdir start flag/option is missing.
2010-07-06Rewrite handling of group definitions in Common Test test suitesPeter Andersson
This is to enable execution of specific groups, and/or test cases within groups, by means of run_test options or test specifications.
2010-07-05term_to_binary use all 32 bits of INTEGER_EXTSverker Eriksson
Earlier, external format INTEGER_EXT was only produced for 28-bit signed integers. Now full 32-bit signed integers are produced as INTEGER_EXT to avoid the more costly SMALL_BIG_EXT format. Both old and new code can read 32-bit INTEGER_EXT. Also fixed integer encoding bugs in erl_interface erl_encode/erl_decode. (Thanks to Alexander Demidenko for reporting)
2010-07-05gen_sctp: Fix documentation typoRaimo Niskanen
2010-06-29Updated version.Ingela Anderton Andin