<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/stdlib/test, branch OTP_R15A</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Merge branch 'pan/binary_match_scope/OTP-9701'</title>
<updated>2011-11-18T19:47:31+00:00</updated>
<author>
<name>Patrik Nyblom</name>
<email>pan@erlang.org</email>
</author>
<published>2011-11-18T19:47:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=49052a3d7422e0e776a8df83fa3d8280686cab0f'/>
<id>49052a3d7422e0e776a8df83fa3d8280686cab0f</id>
<content type='text'>
* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'sverk/hipe-without-fpe/OTP-9724'</title>
<updated>2011-11-18T16:42:28+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2011-11-18T16:42:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=7d9ef0fdde8119e1be0a47e3e45c9cdb85f926d8'/>
<id>7d9ef0fdde8119e1be0a47e3e45c9cdb85f926d8</id>
<content type='text'>
* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'siri/sasl/upgrade-erts/OTP-9438'</title>
<updated>2011-11-18T13:55:40+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2011-11-18T13:55:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=405322cc25ae4343ec824c2d611553534d1b1b92'/>
<id>405322cc25ae4343ec824c2d611553534d1b1b92</id>
<content type='text'>
* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Add restart_new_emulator instruction to kernel, stdlib and sasl appups</title>
<updated>2011-11-17T15:47:28+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2011-10-14T10:34:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d221b34133a8da8d62bdc57ebb724f86d7cd2fc0'/>
<id>d221b34133a8da8d62bdc57ebb724f86d7cd2fc0</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>stdlib: Make sure qlc_SUITE:otp_6964 restores backtrace_depth</title>
<updated>2011-11-17T13:16:17+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2011-11-11T17:28:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=11892310e0a681aff0ce1fb8f5411b2098f5c9ba'/>
<id>11892310e0a681aff0ce1fb8f5411b2098f5c9ba</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make binary:match with scope return correct values</title>
<updated>2011-11-16T16:07:37+00:00</updated>
<author>
<name>Patrik Nyblom</name>
<email>pan@erlang.org</email>
</author>
<published>2011-11-10T16:52:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=b764d3fe3446a5744fc0441ba4ecf5ac169612e7'/>
<id>b764d3fe3446a5744fc0441ba4ecf5ac169612e7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove the undocumented function global:safe_whereis_name/1</title>
<updated>2011-11-14T13:16:00+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2011-11-14T13:16:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=c5b73b36525237458cf4138564f17f94ef8635a6'/>
<id>c5b73b36525237458cf4138564f17f94ef8635a6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove all use of global:safe_whereis_name/1</title>
<updated>2011-11-14T13:10:58+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2011-11-14T12:49:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=4db61fcf79516ff9cd6fd04c89376f063ccae7e8'/>
<id>4db61fcf79516ff9cd6fd04c89376f063ccae7e8</id>
<content type='text'>
Calls to global:whereis_name/1 have been substituted for calls to
global:safe_whereis_name/1 since the latter is not safe at all.

The reason for not doing this earlier is that setting a global lock
masked out a bug concerning the restart of supervised children. The
bug has now been fixed by a modification of global:whereis_name/1.
(Thanks to Ulf Wiger for code contribution.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Calls to global:whereis_name/1 have been substituted for calls to
global:safe_whereis_name/1 since the latter is not safe at all.

The reason for not doing this earlier is that setting a global lock
masked out a bug concerning the restart of supervised children. The
bug has now been fixed by a modification of global:whereis_name/1.
(Thanks to Ulf Wiger for code contribution.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'rickard/alloc-opt/OTP-7775'</title>
<updated>2011-11-13T20:41:11+00:00</updated>
<author>
<name>Rickard Green</name>
<email>rickard@erlang.org</email>
</author>
<published>2011-11-13T20:41:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=c12befbdc957f7f166598c6d5143ce27a0d10fa8'/>
<id>c12befbdc957f7f166598c6d5143ce27a0d10fa8</id>
<content type='text'>
* rickard/alloc-opt/OTP-7775:
  Optimize memory allocation

Conflicts:
	erts/aclocal.m4
	erts/emulator/hipe/hipe_bif_list.m4
	erts/preloaded/ebin/erl_prim_loader.beam
	erts/preloaded/ebin/erlang.beam
	erts/preloaded/ebin/init.beam
	erts/preloaded/ebin/otp_ring0.beam
	erts/preloaded/ebin/prim_file.beam
	erts/preloaded/ebin/prim_inet.beam
	erts/preloaded/ebin/prim_zip.beam
	erts/preloaded/ebin/zlib.beam
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* rickard/alloc-opt/OTP-7775:
  Optimize memory allocation

Conflicts:
	erts/aclocal.m4
	erts/emulator/hipe/hipe_bif_list.m4
	erts/preloaded/ebin/erl_prim_loader.beam
	erts/preloaded/ebin/erlang.beam
	erts/preloaded/ebin/init.beam
	erts/preloaded/ebin/otp_ring0.beam
	erts/preloaded/ebin/prim_file.beam
	erts/preloaded/ebin/prim_inet.beam
	erts/preloaded/ebin/prim_zip.beam
	erts/preloaded/ebin/zlib.beam
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize memory allocation</title>
<updated>2011-11-13T19:39:30+00:00</updated>
<author>
<name>Rickard Green</name>
<email>rickard@erlang.org</email>
</author>
<published>2010-09-15T20:14:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a67e91e658bdbba24fcc3c79b06fdf10ff830bc9'/>
<id>a67e91e658bdbba24fcc3c79b06fdf10ff830bc9</id>
<content type='text'>
A number of memory allocation optimizations have been implemented. Most
optimizations reduce contention caused by synchronization between
threads during allocation and deallocation of memory. Most notably:
* Synchronization of memory management in scheduler specific allocator
  instances has been rewritten to use lock-free synchronization.
* Synchronization of memory management in scheduler specific
  pre-allocators has been rewritten to use lock-free synchronization.
* The 'mseg_alloc' memory segment allocator now use scheduler specific
  instances instead of one instance. Apart from reducing contention
  this also ensures that memory allocators always create memory
  segments on the local NUMA node on a NUMA system.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A number of memory allocation optimizations have been implemented. Most
optimizations reduce contention caused by synchronization between
threads during allocation and deallocation of memory. Most notably:
* Synchronization of memory management in scheduler specific allocator
  instances has been rewritten to use lock-free synchronization.
* Synchronization of memory management in scheduler specific
  pre-allocators has been rewritten to use lock-free synchronization.
* The 'mseg_alloc' memory segment allocator now use scheduler specific
  instances instead of one instance. Apart from reducing contention
  this also ensures that memory allocators always create memory
  segments on the local NUMA node on a NUMA system.
</pre>
</div>
</content>
</entry>
</feed>
