<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/compiler, branch OTP-19.3</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Prepare release</title>
<updated>2017-03-14T14:59:23+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2017-03-14T14:59:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=4d658008be5a08ddadbe75ebadb9ef124436b76e'/>
<id>4d658008be5a08ddadbe75ebadb9ef124436b76e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year</title>
<updated>2017-03-10T14:00:46+00:00</updated>
<author>
<name>Rickard Green</name>
<email>rickard@erlang.org</email>
</author>
<published>2017-03-10T14:00:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=26c3cd82529836cb5b6eefbf7f92f318fd91f847'/>
<id>26c3cd82529836cb5b6eefbf7f92f318fd91f847</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix minor typo in compile:forms/1 doc</title>
<updated>2017-02-26T13:36:57+00:00</updated>
<author>
<name>Péter Gömöri</name>
<email>gomoripeti@gmail.com</email>
</author>
<published>2017-02-26T13:32:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=2e6f6882b36bd4b752c27f1e07a7209d74cd9bd2'/>
<id>2e6f6882b36bd4b752c27f1e07a7209d74cd9bd2</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 'egil/cuddle-tests' into maint</title>
<updated>2017-01-17T15:05:43+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2017-01-17T15:05:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6927f85ed386ea3c0f43bd042ea4c917103d76a2'/>
<id>6927f85ed386ea3c0f43bd042ea4c917103d76a2</id>
<content type='text'>
* egil/cuddle-tests:
  stdlib: Increase timetrap for rand_SUITE
  common_test: Increase timetrap for cth_hooks_SUITE
  compiler: Increase timetrap timeouts for lc_SUITE
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* egil/cuddle-tests:
  stdlib: Increase timetrap for rand_SUITE
  common_test: Increase timetrap for cth_hooks_SUITE
  compiler: Increase timetrap timeouts for lc_SUITE
</pre>
</div>
</content>
</entry>
<entry>
<title>compiler: Do not spawn process when dialyzing</title>
<updated>2017-01-11T08:34:58+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2016-12-15T08:47:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=657760e18087b0cdbaecc5e96e46f6f66bc9497a'/>
<id>657760e18087b0cdbaecc5e96e46f6f66bc9497a</id>
<content type='text'>
Memory consumption is reduced during the compilation phase by keeping
the Core parse tree shared. In particular the file annotation takes a
lot of memory when not shared.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Memory consumption is reduced during the compilation phase by keeping
the Core parse tree shared. In particular the file annotation takes a
lot of memory when not shared.
</pre>
</div>
</content>
</entry>
<entry>
<title>Prepare release</title>
<updated>2016-12-09T10:45:22+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2016-12-09T10:45:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=fc0427be6d482182ec70f3cd87c73027cfb17ea9'/>
<id>fc0427be6d482182ec70f3cd87c73027cfb17ea9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright-year</title>
<updated>2016-12-07T12:15:31+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2016-12-07T12:15:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=3eddb0f762de248d3230b38bc9d478bfbc8e7331'/>
<id>3eddb0f762de248d3230b38bc9d478bfbc8e7331</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Suppress warnings from v3_kernel when inlining is turned on</title>
<updated>2016-11-18T09:52:33+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2016-11-17T15:21:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d8afbc245f28c37c2417c86c9a2d9d27266fe37f'/>
<id>d8afbc245f28c37c2417c86c9a2d9d27266fe37f</id>
<content type='text'>
v3_kernel may produce unwanted and confusing warnings for code that
has been inlined with the new inliner (cerl_inline).  Consider this
code:

-compile(inline).

compute1(X) -&gt;
    add(X, 0).

compute2(X, Y) -&gt;
    add(X, Y).

add(1, 0) -&gt;
    1;
add(1, Y) -&gt;       %% "this clause cannot match..."
    1 + Y;
add(X, Y) -&gt;
    X + Y.

v3_kernel warns because add/2 has been inlined into compute1/1 and only
the first clause in add/2 will match. But the other clauses are needed
when add/2 is inlined into compute2/2, so the user cannot do anything
to eliminate the warning (short of manually inlining add/2, defeating the
purpose of the 'inline' option).

The warning would be reasonable if compute2/2 didn't exist, but it would
be too complicated for the compiler to figure whether a warning make
sense or not.

Therefore, suppress all warnings generated by v3_kernel if cerl_inline
has been run.

ERL-301
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
v3_kernel may produce unwanted and confusing warnings for code that
has been inlined with the new inliner (cerl_inline).  Consider this
code:

-compile(inline).

compute1(X) -&gt;
    add(X, 0).

compute2(X, Y) -&gt;
    add(X, Y).

add(1, 0) -&gt;
    1;
add(1, Y) -&gt;       %% "this clause cannot match..."
    1 + Y;
add(X, Y) -&gt;
    X + Y.

v3_kernel warns because add/2 has been inlined into compute1/1 and only
the first clause in add/2 will match. But the other clauses are needed
when add/2 is inlined into compute2/2, so the user cannot do anything
to eliminate the warning (short of manually inlining add/2, defeating the
purpose of the 'inline' option).

The warning would be reasonable if compute2/2 didn't exist, but it would
be too complicated for the compiler to figure whether a warning make
sense or not.

Therefore, suppress all warnings generated by v3_kernel if cerl_inline
has been run.

ERL-301
</pre>
</div>
</content>
</entry>
<entry>
<title>compiler: Increase timetrap timeouts for lc_SUITE</title>
<updated>2016-11-11T09:59:11+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2016-11-11T09:59:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d6b5ee139db08b36cd7cc6638c77d9a356e94c23'/>
<id>d6b5ee139db08b36cd7cc6638c77d9a356e94c23</id>
<content type='text'>
* valgrind needs a lot of time
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* valgrind needs a lot of time
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't copy funs into guards</title>
<updated>2016-10-27T06:14:08+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2016-10-02T12:21:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=89bf3f5bef9d9f5fb4a0003d6da028900d0f32fc'/>
<id>89bf3f5bef9d9f5fb4a0003d6da028900d0f32fc</id>
<content type='text'>
Funs must not be created in guards. The instruction for creating
a fun clobbers all X registers, which is a bad thing to do in
a guard.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Funs must not be created in guards. The instruction for creating
a fun clobbers all X registers, which is a bad thing to do in
a guard.
</pre>
</div>
</content>
</entry>
</feed>
