<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/compiler/src, branch OTP_R15B</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Update copyright years</title>
<updated>2011-12-09T15:22:23+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2011-12-09T15:22:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=984f4e1c21f2c9f4a03024d36afd393515276a65'/>
<id>984f4e1c21f2c9f4a03024d36afd393515276a65</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>beam_validator: Fix type for failure label for bs_start_match2/5</title>
<updated>2011-12-06T12:22:18+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2011-12-05T08:22:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=1687a490039698fab6ccabdbbd61faa5d9d5eb41'/>
<id>1687a490039698fab6ccabdbbd61faa5d9d5eb41</id>
<content type='text'>
A bs_start_match2/5 instruction will never fail (take the branch) if
given a match state or a binary. Therefore, the type at the failure
label should be 'term', not match state or binary. Without this
correction, the beam_validator will reject safe programs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A bs_start_match2/5 instruction will never fail (take the branch) if
given a match state or a binary. Therefore, the type at the failure
label should be 'term', not match state or binary. Without this
correction, the beam_validator will reject safe programs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Teach the compiler the 'no_dead' option</title>
<updated>2011-12-06T11:21:46+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2011-12-05T08:05:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6c91e303fe844ec9a795216bb9e4d39e760cecb8'/>
<id>6c91e303fe844ec9a795216bb9e4d39e760cecb8</id>
<content type='text'>
To facilitate debugging of compiler bugs, teach the compiler the
'no_dead' option. Since the beam_dead pass used to do the necessary
splitting of basic blocks to expose all labels, we must move that
splitting into a separate pass that is always run.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To facilitate debugging of compiler bugs, teach the compiler the
'no_dead' option. Since the beam_dead pass used to do the necessary
splitting of basic blocks to expose all labels, we must move that
splitting into a separate pass that is always run.
</pre>
</div>
</content>
</entry>
<entry>
<title>compiler: Turn calls to math:pi/0 into constant values</title>
<updated>2011-11-30T14:03:30+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2011-11-30T13:30:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=5adf009cb09295893e6bb01b4666a569590e0f19'/>
<id>5adf009cb09295893e6bb01b4666a569590e0f19</id>
<content type='text'>
Mark math:pi/0 as pure, informing the compiler that the value
can be calculated at compile time.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mark math:pi/0 as pure, informing the compiler that the value
can be calculated at compile time.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'bjorn/compiler/options/OTP-9752'</title>
<updated>2011-11-28T14:05:23+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2011-11-28T14:05:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=aa6824a16ba83c35ad35f9dde40c5a198c7002a2'/>
<id>aa6824a16ba83c35ad35f9dde40c5a198c7002a2</id>
<content type='text'>
* bjorn/compiler/options/OTP-9752:
  filename documentation: Recommend against using filename:find_src/1,2
  Teach filename:find_src/1,2 to handle slim or stripped BEAM files
  filename: Eliminate failing call to Mod:module_info(source_file)
  filename.erl:filter_options/1: Remove handling of dead options
  compiler: Don't include {cwd,_} in module_info(compile)
  compiler: Don't include source code options in module_info(compile)
  hipe: Teach hipe to handle slim or stripped BEAM files
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bjorn/compiler/options/OTP-9752:
  filename documentation: Recommend against using filename:find_src/1,2
  Teach filename:find_src/1,2 to handle slim or stripped BEAM files
  filename: Eliminate failing call to Mod:module_info(source_file)
  filename.erl:filter_options/1: Remove handling of dead options
  compiler: Don't include {cwd,_} in module_info(compile)
  compiler: Don't include source code options in module_info(compile)
  hipe: Teach hipe to handle slim or stripped BEAM files
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'bjorn/major-release-cleanups'</title>
<updated>2011-11-28T12:47:47+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2011-11-28T12:47:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=3bcf603c4790768d60f57fb2fdfb8efa47dad9a3'/>
<id>3bcf603c4790768d60f57fb2fdfb8efa47dad9a3</id>
<content type='text'>
* bjorn/major-release-cleanups:
  observer tests: Test compatibility with R13, not R12
  emulator tests: Test compatibility with R13, not R12
  Teach the compiler the 'r14' option
  erl_lint: The types introduced in R12B-5 are no longer "newly introduced"
  otp_internal: Stop warning for functions removed in R12 or earlier

Conflicts:
	lib/stdlib/src/otp_internal.erl
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bjorn/major-release-cleanups:
  observer tests: Test compatibility with R13, not R12
  emulator tests: Test compatibility with R13, not R12
  Teach the compiler the 'r14' option
  erl_lint: The types introduced in R12B-5 are no longer "newly introduced"
  otp_internal: Stop warning for functions removed in R12 or earlier

Conflicts:
	lib/stdlib/src/otp_internal.erl
</pre>
</div>
</content>
</entry>
<entry>
<title>compiler: Don't include {cwd,_} in module_info(compile)</title>
<updated>2011-11-24T14:17:51+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2011-09-09T10:09:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=02c4d9a4a08ebb511833539e3937593fb956a6c9'/>
<id>02c4d9a4a08ebb511833539e3937593fb956a6c9</id>
<content type='text'>
The {cwd,Dir} option is always included if the module has been
compiled by erlc. Since its presence cannot be relied upon and it
wastes memory, get rid of it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The {cwd,Dir} option is always included if the module has been
compiled by erlc. Since its presence cannot be relied upon and it
wastes memory, get rid of it.
</pre>
</div>
</content>
</entry>
<entry>
<title>compiler: Don't include source code options in module_info(compile)</title>
<updated>2011-11-24T14:17:46+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2011-09-09T08:22:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=70e44417259e47cc1b170f8c6758771c626ddc6b'/>
<id>70e44417259e47cc1b170f8c6758771c626ddc6b</id>
<content type='text'>
As far as I know, the purpose of the compiler options included in
Mod:module_info(compile) has never been documented.

An educated guess is that they are there in case you want to
re-compile the module with the same options, and also to aid in
debugging when you need to know how a module was compiled.

In neither case is there any need to include options given in the
source itself in options included in Mod:module_info(compile).
Including those options will only waste memory.

Therefore, only include in the BEAM file the options that were
given to compile:file/2.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As far as I know, the purpose of the compiler options included in
Mod:module_info(compile) has never been documented.

An educated guess is that they are there in case you want to
re-compile the module with the same options, and also to aid in
debugging when you need to know how a module was compiled.

In neither case is there any need to include options given in the
source itself in options included in Mod:module_info(compile).
Including those options will only waste memory.

Therefore, only include in the BEAM file the options that were
given to compile:file/2.
</pre>
</div>
</content>
</entry>
<entry>
<title>Teach the compiler the 'r14' option</title>
<updated>2011-11-24T09:40:49+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2011-11-24T09:40:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=fedd77f437b5b248d7bfdd7c8511bb1e2a15094f'/>
<id>fedd77f437b5b248d7bfdd7c8511bb1e2a15094f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>sys_expand_pmod: Handle external funs in parameterized modules</title>
<updated>2011-11-24T08:26:08+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2011-11-24T08:17:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=f5b7411b6f3ea3a79d7998b59c5610fa795d556a'/>
<id>f5b7411b6f3ea3a79d7998b59c5610fa795d556a</id>
<content type='text'>
Starting in ff432e262e65243cbc983fcb002527f8fae8c78b, sys_pre_expand
passes external funs through to the downstream passes. It used to
translate external funs to a call to erlang:make_fun/3. Therefore, we
will now need to handle external funs in sys_expand_pmod.

Noticed-by: Stavros Aronis
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Starting in ff432e262e65243cbc983fcb002527f8fae8c78b, sys_pre_expand
passes external funs through to the downstream passes. It used to
translate external funs to a call to erlang:make_fun/3. Therefore, we
will now need to handle external funs in sys_expand_pmod.

Noticed-by: Stavros Aronis
</pre>
</div>
</content>
</entry>
</feed>
