<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/compiler, branch master</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 'maint'</title>
<updated>2019-08-16T11:20:45+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2019-08-16T11:20:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6ac50b6386149b6825996d58a9c24d442b1b7824'/>
<id>6ac50b6386149b6825996d58a9c24d442b1b7824</id>
<content type='text'>
* maint:
  Fix an internal consistency check failure caused by beam_except
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* maint:
  Fix an internal consistency check failure caused by beam_except
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'john/compiler/recv-test-coverage'</title>
<updated>2019-08-16T07:43:23+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2019-08-16T07:43:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d68d23a129b4c916105a1eff7323a4338092dd2c'/>
<id>d68d23a129b4c916105a1eff7323a4338092dd2c</id>
<content type='text'>
* john/compiler/recv-test-coverage:
  compiler: Improve test coverage for recv_crit_edges
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* john/compiler/recv-test-coverage:
  compiler: Improve test coverage for recv_crit_edges
</pre>
</div>
</content>
</entry>
<entry>
<title>compiler: Improve test coverage for recv_crit_edges</title>
<updated>2019-08-15T12:23:32+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2019-08-15T12:20:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=0d6704ef66eb65cb35665c6a4e5a17a9baed8aa5'/>
<id>0d6704ef66eb65cb35665c6a4e5a17a9baed8aa5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix an internal consistency check failure caused by beam_except</title>
<updated>2019-08-15T04:51:22+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2019-08-15T04:38:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=479eaa7cf2eb0701af7aeb4a94da5cd13ec7de67'/>
<id>479eaa7cf2eb0701af7aeb4a94da5cd13ec7de67</id>
<content type='text'>
https://bugs.erlang.org/browse/ERL-1026
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://bugs.erlang.org/browse/ERL-1026
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2019-08-14T11:42:02+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2019-08-14T11:42:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=e51727f129d6b5667f81e86865d17cf564712054'/>
<id>e51727f129d6b5667f81e86865d17cf564712054</id>
<content type='text'>
* maint:
  Fix compiler crash when compiling some receive statements
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* maint:
  Fix compiler crash when compiling some receive statements
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compiler crash when compiling some receive statements</title>
<updated>2019-08-14T05:10:17+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2019-08-13T04:38:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=c5e36feada9d0362108890f42c40dd2398b1b531'/>
<id>c5e36feada9d0362108890f42c40dd2398b1b531</id>
<content type='text'>
The compiler would crash when compiling the following code:

    do(Acc) -&gt;
        receive
            {Pid, abc} -&gt;
                ok;
            {Pid, []} -&gt;
                ok;
            {Pid, _Res} -&gt;
                exit(_Res)
        end,
        do([Pid | Acc]).

The last clause that always raises an exception would confuse the
compiler so that it would think that the `receive` statement was at the
end of the function and it would generate incorrect code for the `do/1`
call following the `receive`.

https://bugs.erlang.org/browse/ERL-1022
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The compiler would crash when compiling the following code:

    do(Acc) -&gt;
        receive
            {Pid, abc} -&gt;
                ok;
            {Pid, []} -&gt;
                ok;
            {Pid, _Res} -&gt;
                exit(_Res)
        end,
        do([Pid | Acc]).

The last clause that always raises an exception would confuse the
compiler so that it would think that the `receive` statement was at the
end of the function and it would generate incorrect code for the `do/1`
call following the `receive`.

https://bugs.erlang.org/browse/ERL-1022
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'john/compiler/fix-bs_skip-succeeded-oddity'</title>
<updated>2019-08-08T07:41:28+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2019-08-08T07:41:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=9d81adde66efa1f1a70345c70874e42707273db6'/>
<id>9d81adde66efa1f1a70345c70874e42707273db6</id>
<content type='text'>
* john/compiler/fix-bs_skip-succeeded-oddity:
  compiler: Fix awkward match context substitution
  beam_ssa_lint: Use #b_var{} instead of variable names
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* john/compiler/fix-bs_skip-succeeded-oddity:
  compiler: Fix awkward match context substitution
  beam_ssa_lint: Use #b_var{} instead of variable names
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'john/compiler/remove-dead-code-beam_ssa_type'</title>
<updated>2019-08-08T07:41:22+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2019-08-08T07:41:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=1e01e521d89cdf3fb7a52be0d24fd36b0fe30f4a'/>
<id>1e01e521d89cdf3fb7a52be0d24fd36b0fe30f4a</id>
<content type='text'>
* john/compiler/remove-dead-code-beam_ssa_type:
  beam_ssa_type: Remove unreachable code
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* john/compiler/remove-dead-code-beam_ssa_type:
  beam_ssa_type: Remove unreachable code
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #2226 from josevalim/jv-expand-squeeze-literal-integer-utf8</title>
<updated>2019-08-07T14:54:30+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2019-08-07T14:54:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=ac56a30fd3dfca2b9334ed338c162fbec3d38afd'/>
<id>ac56a30fd3dfca2b9334ed338c162fbec3d38afd</id>
<content type='text'>
Expand and squeeze literal integers/utf8 bin segments</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Expand and squeeze literal integers/utf8 bin segments</pre>
</div>
</content>
</entry>
<entry>
<title>compiler: Fix awkward match context substitution</title>
<updated>2019-08-07T14:47:25+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2019-08-07T12:00:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6ae9975689858d0e0c9af0a36869c012bb3762c0'/>
<id>6ae9975689858d0e0c9af0a36869c012bb3762c0</id>
<content type='text'>
This worked out by accident since codegen never actually looks at
the arguments for 'succeeded'; it just assumes that they reference
the preceding instruction.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This worked out by accident since codegen never actually looks at
the arguments for 'succeeded'; it just assumes that they reference
the preceding instruction.
</pre>
</div>
</content>
</entry>
</feed>
