<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/compiler, branch KennethL-patch-1</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Fix incorrect type interference of integer ranges</title>
<updated>2018-01-29T14:29:06+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2018-01-29T12:00:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=c455dc2ca108e8ffbf5431068223fcff8aeb5361'/>
<id>c455dc2ca108e8ffbf5431068223fcff8aeb5361</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #1674 from bjorng/bjorn/compiler/beam_validator</title>
<updated>2018-01-10T10:34:13+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bgustavsson@gmail.com</email>
</author>
<published>2018-01-10T10:34:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=df8499995b4994d3f85f4b80fc3c2cf941a99cdc'/>
<id>df8499995b4994d3f85f4b80fc3c2cf941a99cdc</id>
<content type='text'>
beam_validator: Strengthen validation of GC instructions

OTP-14863
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
beam_validator: Strengthen validation of GC instructions

OTP-14863
</pre>
</div>
</content>
</entry>
<entry>
<title>beam_validator: Strengthen validation of GC instructions</title>
<updated>2018-01-08T07:06:43+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2018-01-04T12:28:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=1ee21858db7e55b15c2f947ddfa00ae5af5c009d'/>
<id>1ee21858db7e55b15c2f947ddfa00ae5af5c009d</id>
<content type='text'>
beam_validator did not verify that the Y registers were initialized
before executing the following instructions that could cause a GC:

    bs_append/8
    bs_init2/6
    bs_init_bits/6
    gc_bif1/5
    gc_bif2/6
    gc_bif3/7
    test_heap/2

That means that, for example, an incorrect optimization that replaced
an 'allocate_zero' instruction with an 'allocate' instruction when it
was not safe, would not be rejected by beam_validtor, but would
instead cause a crash or other undefined behavior at runtime.

Also fix a minor bug in beam_type exposed by the stronger checking.
When compiling from .S files, beam_type did not handle the
init/1 instruction and could produce unsafe code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
beam_validator did not verify that the Y registers were initialized
before executing the following instructions that could cause a GC:

    bs_append/8
    bs_init2/6
    bs_init_bits/6
    gc_bif1/5
    gc_bif2/6
    gc_bif3/7
    test_heap/2

That means that, for example, an incorrect optimization that replaced
an 'allocate_zero' instruction with an 'allocate' instruction when it
was not safe, would not be rejected by beam_validtor, but would
instead cause a crash or other undefined behavior at runtime.

Also fix a minor bug in beam_type exposed by the stronger checking.
When compiling from .S files, beam_type did not handle the
init/1 instruction and could produce unsafe code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unsafe is_record/test_arity optimizations</title>
<updated>2018-01-04T19:17:53+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2018-01-04T17:08:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=19b7ccfe076d88a96b62f3222f38be31bb087df2'/>
<id>19b7ccfe076d88a96b62f3222f38be31bb087df2</id>
<content type='text'>
The type optimizations for is_record and test_arity checked whether
the arity was equal to the size stored in the type information,
which is incorrect since said size is the *minimum* size of the
tuple (as determined by previous instructions) and not its exact
size.

A future patch to the 'master' branch will restore these
optimizations in a safe manner.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The type optimizations for is_record and test_arity checked whether
the arity was equal to the size stored in the type information,
which is incorrect since said size is the *minimum* size of the
tuple (as determined by previous instructions) and not its exact
size.

A future patch to the 'master' branch will restore these
optimizations in a safe manner.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update release notes</title>
<updated>2017-12-08T09:57:50+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2017-12-08T09:57:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=47198f179ab14cf8cfcdab0d976650cd1519b236'/>
<id>47198f179ab14cf8cfcdab0d976650cd1519b236</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update version numbers</title>
<updated>2017-12-08T09:53:22+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2017-12-08T09:53:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=f3a74a7dfb633b21b7d06e48bf430071cdc0f779'/>
<id>f3a74a7dfb633b21b7d06e48bf430071cdc0f779</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'lukas/compiler/add_to_dis/OTP-14784' into maint</title>
<updated>2017-11-20T09:32:25+00:00</updated>
<author>
<name>Lukas Larsson</name>
<email>lukas@erlang.org</email>
</author>
<published>2017-11-20T09:32:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=3b5fced77873fa6ee87a81a6162acf9d9f43c6de'/>
<id>3b5fced77873fa6ee87a81a6162acf9d9f43c6de</id>
<content type='text'>
* lukas/compiler/add_to_dis/OTP-14784:
  compiler: Add +to_dis option that dumps loaded asm
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lukas/compiler/add_to_dis/OTP-14784:
  compiler: Add +to_dis option that dumps loaded asm
</pre>
</div>
</content>
</entry>
<entry>
<title>compiler: Add +to_dis option that dumps loaded asm</title>
<updated>2017-11-20T09:31:17+00:00</updated>
<author>
<name>Lukas Larsson</name>
<email>lukas@erlang.org</email>
</author>
<published>2017-10-19T12:50:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d8d07a7593d811a6adad060951bc425ee0d81446'/>
<id>d8d07a7593d811a6adad060951bc425ee0d81446</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'lukas/docs/xmllint_fixes/OTP-14721' into maint</title>
<updated>2017-11-20T09:15:07+00:00</updated>
<author>
<name>Lukas Larsson</name>
<email>lukas@erlang.org</email>
</author>
<published>2017-11-20T09:15:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=f977d258d3e69da8ce0549f0a7bc3d8d9ccf82a6'/>
<id>f977d258d3e69da8ce0549f0a7bc3d8d9ccf82a6</id>
<content type='text'>
* lukas/docs/xmllint_fixes/OTP-14721:
  ssl/ssh: Remove/ignore unused XML_FILES doc files
  Refactor xmllint check and make it fail on failure
  Add toplevel xmllint make target

Conflicts:
	lib/crypto/doc/src/Makefile
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lukas/docs/xmllint_fixes/OTP-14721:
  ssl/ssh: Remove/ignore unused XML_FILES doc files
  Refactor xmllint check and make it fail on failure
  Add toplevel xmllint make target

Conflicts:
	lib/crypto/doc/src/Makefile
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'maint-18' into maint</title>
<updated>2017-11-16T13:56:00+00:00</updated>
<author>
<name>Hans Nilsson</name>
<email>hans@erlang.org</email>
</author>
<published>2017-11-16T13:56:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=12e3758d65c6fc6d42642fb7d4f59ac9f10081f6'/>
<id>12e3758d65c6fc6d42642fb7d4f59ac9f10081f6</id>
<content type='text'>
* maint-18:
  Updated OTP version
  Prepare release
  ssh: Unicode encoding fix
  ssh: testcases for space trailing Hello msg
  Remove unused test include file from test suites
  eldap: Repair Makefile
  ssh: Don't remove trailing WS in Hello msg

Conflicts:
	OTP_VERSION
	erts/doc/src/notes.xml
	erts/vsn.mk
	lib/compiler/doc/src/notes.xml
	lib/compiler/vsn.mk
	lib/crypto/test/blowfish_SUITE.erl
	lib/eldap/doc/src/notes.xml
	lib/eldap/vsn.mk
	lib/inets/test/httpd_load.erl
	lib/inets/test/httpd_mod.erl
	lib/inets/test/old_httpd_SUITE.erl
	lib/ssh/doc/src/notes.xml
	lib/ssh/vsn.mk
	lib/stdlib/test/zip_SUITE.erl
	otp_versions.table
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* maint-18:
  Updated OTP version
  Prepare release
  ssh: Unicode encoding fix
  ssh: testcases for space trailing Hello msg
  Remove unused test include file from test suites
  eldap: Repair Makefile
  ssh: Don't remove trailing WS in Hello msg

Conflicts:
	OTP_VERSION
	erts/doc/src/notes.xml
	erts/vsn.mk
	lib/compiler/doc/src/notes.xml
	lib/compiler/vsn.mk
	lib/crypto/test/blowfish_SUITE.erl
	lib/eldap/doc/src/notes.xml
	lib/eldap/vsn.mk
	lib/inets/test/httpd_load.erl
	lib/inets/test/httpd_mod.erl
	lib/inets/test/old_httpd_SUITE.erl
	lib/ssh/doc/src/notes.xml
	lib/ssh/vsn.mk
	lib/stdlib/test/zip_SUITE.erl
	otp_versions.table
</pre>
</div>
</content>
</entry>
</feed>
