aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2011-11-23Avoid slow code loading of BEAM code in a hipe-enabled emulatorBjörn Gustavsson
On my Linux computer, building the entire Erlang/OTP system with hipe disabled took about 8 minutes. With hipe enabled, but without any native code, the build took about 23 minutes, i.e. more than 3 times slower. (The computer has 4 cores, and I used 'make -j6'.) On my eight-core Mac (running 'make -j10') there was only a slight slowdown when hipe was enabled. The culprit is hipe_unified_loader:post_beam_load/1, which will be called every time a module is loaded (even if the module contains no native code). If post_beam_load/1 is called in a hipe-enabled emulator, it will block multi-scheduling, even if no work needs to be done. Apparently the cost for blocking multi-scheduling can vary greatly, depending on the operating system and system load. As a quick and conservative fix, don't call post_beam_load/1 unless some native code has been previously loaded.
2011-11-22Revert "Update version numbers for pre-release of R15"Björn-Egil Dahlberg
This reverts commit e21ff9b0b69219ab3853be7e80813156113152b7.
2011-11-22Update version numbers for pre-release of R15OTP_R15ABjörn Gustavsson
2011-11-19Merge branch 'dgud/observer/gui/OTP-4779'Dan Gudmundsson
* dgud/observer/gui/OTP-4779: [observer] Implemented basic tracing functionality [observer] Work around wxWidgets windows bug [observer] Rework tracing part of the gui [observer] Fix portability bugs [observer] Improve process_info window [observer] Misc cleanup and fixes [observer] Clean up code [observer] Add a [d]ets viewer, tv replacement [observer] Started on a wx gui
2011-11-18Merge branch 'pan/osx_gcc_fixes'Patrik Nyblom
* pan/osx_gcc_fixes: Fix typo in erts/configure.in Make OTP build w/alternative gcc on MacOS Lion OTP-9712
2011-11-18Merge branch 'pan/binary_match_scope/OTP-9701'Patrik Nyblom
* pan/binary_match_scope/OTP-9701: Remove remaining gcc 4.6 assigned-but-not-used warnings from erts Remove GCC 4.6 set-but-not-used warning from erl_bif_binary Make binary:match with scope return correct values
2011-11-18Merge branch 'sverk/hipe-without-fpe/OTP-9724'Sverker Eriksson
* sverk/hipe-without-fpe/OTP-9724: otp_build: Disable FPE by default on Linux stdlib: Make sure qlc_SUITE:otp_6964 restores backtrace_depth erts: Add test for inf/NaN intermediate float results hipe,erts: Allow hipe without floating point exceptions hipe: Fix bug in hipe_rtl_lcm:calc_killed_expr_bb erts: Rename macros used by float instructions without FPE
2011-11-18Merge branch 'sa/dialyzer-behaviours'Henrik Nord
* sa/dialyzer-behaviours: Wrap up behaviours patch for Dialyzer Detection of callback-spec discrepancies Allow none() as return value in callbacks Behaviour callback discrepancy detection for Dialyzer Add lookup function for callbacks Store callbacks in codeserver and PLT Collect callback definitions during compilation Update inets results OTP-9731
2011-11-18[observer] Implemented basic tracing functionalityDan Gudmundsson
Use ttb which does most of the work already.
2011-11-18Merge branch 'ia/public_key/ssl/git-ignore'Ingela Anderton Andin
* ia/public_key/ssl/git-ignore: Updated public_key and ssl ignores
2011-11-18Merge branch 'lukas/common_test/make_cth_non_alpha/OTP-9449'Björn-Egil Dahlberg
* lukas/common_test/make_cth_non_alpha/OTP-9449: Remove alpha notice since CTH are now final
2011-11-18Merge branch 'peppe/common_test/css_and_xhtml'Peter Andersson
* peppe/common_test/css_and_xhtml: Make absolute paths in log files relative Fix bad error printout Copy default CSS file to log directory before test run Add CSS stylesheet for the text and tables in Common Test and Test Server OTP-9706
2011-11-18Wrap up behaviours patch for DialyzerStavros Aronis
Enable warnings by default, add two options for suppressing them, fix warning formatting and update testsuites.
2011-11-18Detection of callback-spec discrepanciesStavros Aronis
2011-11-18Allow none() as return value in callbacksStavros Aronis
2011-11-18Behaviour callback discrepancy detection for DialyzerStavros Aronis
2011-11-18[orber] Remove usage of ssl:seed/1Lars Thorsen
2011-11-18Make absolute paths in log files relativePeter Andersson
2011-11-18Merge branch 'siri/sasl/upgrade-erts/OTP-9438'Siri Hansen
* siri/sasl/upgrade-erts/OTP-9438: Fix bug in erts upgrade on windows Add release vsn info to erts_vsn_changed warning Check for sasl application in systools:make_script and make_relup Add syntax check of relup to check_install_release and install_release Add documentation for upgrade from pre R15 to post R15 sasl Handle upgrade from pre R15 to post R15 sasl Step version of sasl to 2.2 for R15 Document upgrade instructions restart_new_emulator and restart_emulator Wait for two restarts in upgrade_restart test Add restart_new_emulator instruction to kernel, stdlib and sasl appups Distinguish restart_new_emulator from restart_emulator in upgrade instructions Upgrade erts: merge sys.config for tmp release instead of using old Allow regexp for version in .appup Restart emulator before running upgrade script when erts is upgraded Conflicts: lib/sasl/src/release_handler.erl lib/sasl/test/release_handler_SUITE.erl
2011-11-18Add lookup function for callbacksStavros Aronis
2011-11-18Store callbacks in codeserver and PLTStavros Aronis
2011-11-18Collect callback definitions during compilationStavros Aronis
2011-11-18Update inets resultsStavros Aronis
2011-11-18[erl_docgen] Add an application ref pageLars Thorsen
2011-11-18[erl_docgen] Added the info file.Lars Thorsen
2011-11-18[erl_docgen] Tidy up the documentation moved from docbuilder to erl_docgenLars Thorsen
2011-11-18[erl_docgen] Add missing xhtml-special.ent and xhtml-symbol.entLars Thorsen
2011-11-18Remove docbuilder applicationLars Thorsen
2011-11-18[erl_docgen] Update references to modules that changed nameLars Thorsen
2011-11-18[erl_docgen] Move files from docbuilder to erl_docgenLars Thorsen
2011-11-18Fix syntax bug in generated eix filesLars Thorsen
2011-11-18gen_udp_SUITE:buffer_size test case fixRaimo Niskanen
2011-11-18[observer] Work around wxWidgets windows bugDan Gudmundsson
wxCheckListBox:setClientData crashes on windows
2011-11-18Merge branch 'pr/mnesia_frag_hash'Henrik Nord
* pr/mnesia_frag_hash: add mnesia_frag_hash test Reduce calls to phash in key_to_frag_number OTP-9722
2011-11-18Merge branch 'jw/release_handler-which-releases'Henrik Nord
* jw/release_handler-which-releases: Add release_handler:which_releases/1 OTP-9717
2011-11-18Merge branch 'mh/odbc-shutdown-normal-exit'Henrik Nord
* mh/odbc-shutdown-normal-exit: An ODBC process should exit normally if its client exits with 'shutdown' OTP-9716
2011-11-18Merge branch 'bmk/inets/httpd/content_len_in_mod_log/OTP-9715'Micael Karlberg
2011-11-18Merge branch 'dgud/wx/system_opts/OTP-9702'Dan Gudmundsson
* dgud/wx/system_opts/OTP-9702: [wx] Change libGL loading [wx] Fix deadlock in callback handling [wx] Add wxSystemOptions [wx] Fix whitespaces OTP-9725
2011-11-17Merge branch 'bmk/snmp/r15_integration'Micael Karlberg
2011-11-17Fix bug in erts upgrade on windowsSiri Hansen
The service which represents the temporary release during erts upgrade on windows was never deleted. This has been corrected. The service is now renamed just after the emulator restart.
2011-11-17Add release vsn info to erts_vsn_changed warningSiri Hansen
2011-11-17Check for sasl application in systools:make_script and make_relupSiri Hansen
make_script will give warning but allow it make_relup will fail since it is not possible to upgrade if sasl is not included in both releases.
2011-11-17Add syntax check of relup to check_install_release and install_releaseSiri Hansen
This commit adds a check that all instructions in the relup are valid. Earlier, the last part (after point_of_no_return) was not checked before the actual installation started, meaning that if the relup was hand written, there was a potential for crashing the upgrade here.
2011-11-17Add documentation for upgrade from pre R15 to post R15 saslSiri Hansen
2011-11-17Handle upgrade from pre R15 to post R15 saslSiri Hansen
New emulator upgrade mechanism introduced in R15 can only work if the sasl version to upgrade from is 2.2 or later. I.e. if we are already running at least R15. This commit adds backwards compatiblity for upgrades from earlier versions, meaning that the new code is loaded into the old emulator and code_change is executed - then after all application code is updated, the emulator is restarted with the new erts version. Note that this might cause problems if the new code is compiled with the new emulator and there have been updates to the beam format. If this happens, the workaround is to compile the new code with the old emulator.
2011-11-17Step version of sasl to 2.2 for R15Siri Hansen
This is needed for sasl_SUITE:appup_test to work, therefore we do not wait until release time.
2011-11-17Document upgrade instructions restart_new_emulator and restart_emulatorSiri Hansen
2011-11-17Wait for two restarts in upgrade_restart testSiri Hansen
This is an attempt to correct a failing test case. It the test fails on having restarted only once, we give it another try to see if the second restart will happen.
2011-11-17Add restart_new_emulator instruction to kernel, stdlib and sasl appupsSiri Hansen
The appup files for kernel, stdlib and sasl did not contain any UpFromVsn and DownToVsn. This means that it was not possible to create a relup file with systool:make_relup if any of these applications had changed. This commit adds entries in the appup files for a maximum of two major releases back - all with only one upgrade instruction: restart_new_emulator. The point is to allow relups to be generated, but ensure that no soft upgrade is done for these three applications - i.e. they will always cause a restart of the emulator prior to all other upgrade instructions from other applications. Test cases (appup_test) are added to kernel_SUITE, stdlib_SUITE and sasl_SUITE. These all check that expected versions are matched in the appups, and illegal versions (older than two major releases, or in any other way illegal) do not match. The test is written in a general way where it is assumed that the version of these applications are stepped according the the rule that major releases step the second number, maintenance releases step the third number and patches step the fourth number.
2011-11-17Distinguish restart_new_emulator from restart_emulator in upgrade instructionsSiri Hansen
Earlier, there was only one valid instruction to restart the emulator in an appup/relup script, 'restart_new_emulator'. A new instuction, 'restart_emulator', is now added, and the meaning is as follows: 'restart_new_emulator' is mainly for the core applications (erts, kernel, stdlib and sasl), and it indicates that there is new core functionality in the release and the emulator needs to be restarted before executing the upgrade scripts. If this instruction exists, a temporary release will be created which consists of the new version erts, kernel, stdlib and sasl, and the old versions of all other applications. After restarting the emulator with this temporary release, the rest of the upgrade instructions are executed, including loading of new versions. 'restart_emulator' can be used by any application if a restart of the emulator is needed after the upgrade instructions have been executed. In this case, the emulator will be restarted with the new release (i.e. not a tempoarary one) after all other upgrade instructions for all applications have been excecuted.