aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2010-08-30Fix faulty assertionsRickard Green
2010-08-30Implement automatic detection of CPU topology on WindowsRickard Green
The CPU topology is now automatically detected on Windows systems with less than 33 logical processors. The runtime system will now, also on Windows, by default bind schedulers to logical processors using the 'default_bind' bind type if the amount of schedulers is at least equal to the amount of logical processors configured, binding of schedulers is supported, and a CPU topology is available at startup.
2010-08-18Make it possible to reread and update detected CPU informationRickard Green
Calling erlang:system_info/1 with the new argument 'update_cpu_info' will make the runtime system reread and update the internally stored CPU information. For more information see the documentation of erlang:system_info(update_cpu_info).
2010-08-10Merge branch 'bjorn/remove-clearcase-support' into devBjörn Gustavsson
* bjorn/remove-clearcase-support: Top-level Makefile: Remove clearmake support otp_build: Remove clearmake support otp_build: Remove Clearcase support for primary bootstrap and preloaded files ts: Eliminate Clearcase references in comments ts: Remove Clearcase detection
2010-08-10Merge branch 'rickard/bootstrap_setup/OTP-8756' into devRickard Green
* rickard/bootstrap_setup/OTP-8756: Regenerate bootstrap/{erl,erlc} when switching target
2010-08-10Merge branch 'rickard/trailing-data-alignment/OTP-8754' into devRickard Green
* rickard/trailing-data-alignment/OTP-8754: Align trailing message data for all types of structures
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-09Regenerate bootstrap/{erl,erlc} when switching targetRickard Green
2010-08-07Align trailing message data for all types of structuresRickard Green
Alignment of trailing data in messages has been adjusted. This in order to be able to pass data of any type as trailing data in the future.
2010-08-03Top-level Makefile: Remove clearmake supportBjörn Gustavsson
2010-08-03otp_build: Remove clearmake supportBjörn Gustavsson
2010-08-03otp_build: Remove Clearcase support for primary bootstrap and preloaded filesBjörn Gustavsson
2010-08-03ts: Eliminate Clearcase references in commentsBjörn Gustavsson
2010-08-03ts: Remove Clearcase detectionBjörn Gustavsson
ts_lib:erlang_type/0 used to dectect whether the system was run in Clearcase, in an uninstalled source tree or in an installed system. There now only remain two cases: running in a source tree/git repository or in an installed system. Update ts_lib:erlang_type/0 and all callers accordingly.
2010-08-03Update primary bootstrapBjörn Gustavsson
2010-08-03Fix building of primary bootstrap when versions have changedBjörn Gustavsson
If the versions of kernel or stdlib have changed, attempting to update the primary bootstrap (using "./otp_build update_primary") will fail during the rebuild of the start scripts. The problem is that the app files in bootstrap/lib/*/ebin/*.app will not be refreshed if they exist, because of missing dependencies. Ultimately the dependencies should be fixed, but since there already is a bootstrap_clean target to work around missing dependencies, fix bootstrap_clean to also remove bootstrap/lib/*/ebin/*.app.
2010-08-03Merge branch 'pg/optimize_beam_dict_string_table' into devBjörn Gustavsson
2010-07-30Merge branch 'egil/makefile-fix/OTP-8728' into devBjörn-Egil Dahlberg
2010-07-30Fix libm linking with --as-needed flagBjörn-Egil Dahlberg
When building with "--as-needed" linker flags on Linux the build will fail. This has now been fixed.
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-27Merge branch 'egil/clean-erl_interface-warnings/OTP-8748' into devBjörn-Egil Dahlberg
* egil/clean-erl_interface-warnings/OTP-8748: Fix compiler warnings in erl_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-23Merge branch 'sverker/halfword-heap-fixes/OTP-8745' into devSverker Eriksson
* sverker/halfword-heap-fixes/OTP-8745: Mending halfword heap emulator
2010-07-22Mending halfword heap emulatorSverker Eriksson
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-08Merge branch 'sverker/driver_int64_bug/OTP-8716' into devSverker Eriksson
* sverker/driver_int64_bug/OTP-8716: Fix bug that caused faulty 64-bit integers from drivers.
2010-07-08Merge branch 'sverker/crypto_type_error/OTP-8718' into devSverker Eriksson
* sverker/crypto_type_error/OTP-8718: Fix type spec error in crypto
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-08Merge branch 'sverker/nif_send3_test/OTP-8719' into devSverker Eriksson
* sverker/nif_send3_test/OTP-8719: nif_SUITE send3 stress test
2010-07-08nif_SUITE send3 stress testSverker Eriksson
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.