<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/erts/emulator/utils/make_preload, 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>Update copyright year</title>
<updated>2017-05-04T13:42:21+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2017-05-04T13:42:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=83e20c62057ebc1d8064bf57b01be560cd244e1d'/>
<id>83e20c62057ebc1d8064bf57b01be560cd244e1d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Teach make_preload to handle the new 'AtU8' chunk</title>
<updated>2017-02-17T11:35:49+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2017-02-17T11:03:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=5263d10ba361cf0666cb6b2730132a018ba67bd6'/>
<id>5263d10ba361cf0666cb6b2730132a018ba67bd6</id>
<content type='text'>
26b59dfe67 introduced the new 'AtU8' chunk to support
Unicode atoms.

make_preload strips the pre-loaded BEAM files so that they
only contain essential chunks. It expects to find the old
'Atom' chunk.

Teach make_preload to read the new 'AtU8' chunk instead of the old
chunk. Also produce a nice error message if someone by mistake
compiles the pre-loaded modules with an OTP 19 compiler.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
26b59dfe67 introduced the new 'AtU8' chunk to support
Unicode atoms.

make_preload strips the pre-loaded BEAM files so that they
only contain essential chunks. It expects to find the old
'Atom' chunk.

Teach make_preload to read the new 'AtU8' chunk instead of the old
chunk. Also produce a nice error message if someone by mistake
compiles the pre-loaded modules with an OTP 19 compiler.
</pre>
</div>
</content>
</entry>
<entry>
<title>make_preload: Save some memory by making preloaded code 'const'</title>
<updated>2016-06-17T08:28:13+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2016-06-17T03:11:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=4443bc775442d568357f72d96e2fbdae2ea58c3d'/>
<id>4443bc775442d568357f72d96e2fbdae2ea58c3d</id>
<content type='text'>
Mark the preloaded code 'const' to allow the compiler to put it into
the 'text' segment instead of into the 'data' segment. Since the
'text' segment is shared among all instances of the Erlang virtual
machine, this change could potentially reduce memory consumption
(slightly).

Before the change:

$ size bin/x86_64-unknown-linux-gnu/beam.smp
   text	   data	    bss	    dec	    hex	filename
2920246	 352273	 158472	3430991	 345a4f	bin/x86_64-unknown-linux-gnu/beam.smp

After the change:

$ size bin/x86_64-unknown-linux-gnu/beam.smp
   text	   data	    bss	    dec	    hex	filename
3081046	 191473	 158472	3430991	 345a4f	bin/x86_64-unknown-linux-gnu/beam.smp

Roughly speaking, this change cuts the size of the data segment in half.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mark the preloaded code 'const' to allow the compiler to put it into
the 'text' segment instead of into the 'data' segment. Since the
'text' segment is shared among all instances of the Erlang virtual
machine, this change could potentially reduce memory consumption
(slightly).

Before the change:

$ size bin/x86_64-unknown-linux-gnu/beam.smp
   text	   data	    bss	    dec	    hex	filename
2920246	 352273	 158472	3430991	 345a4f	bin/x86_64-unknown-linux-gnu/beam.smp

After the change:

$ size bin/x86_64-unknown-linux-gnu/beam.smp
   text	   data	    bss	    dec	    hex	filename
3081046	 191473	 158472	3430991	 345a4f	bin/x86_64-unknown-linux-gnu/beam.smp

Roughly speaking, this change cuts the size of the data segment in half.
</pre>
</div>
</content>
</entry>
<entry>
<title>update copyright-year</title>
<updated>2016-03-15T14:19:56+00:00</updated>
<author>
<name>Henrik Nord</name>
<email>henrik@erlang.org</email>
</author>
<published>2016-03-15T14:19:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6664eed554974336909d3ffe03f20349cc4c38fd'/>
<id>6664eed554974336909d3ffe03f20349cc4c38fd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Change license text to APLv2</title>
<updated>2015-06-18T09:31:02+00:00</updated>
<author>
<name>Bruce Yinhe</name>
<email>bruce@erlang.org</email>
</author>
<published>2015-06-18T09:31:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=738c34d4bb8f1a3811acd00af8c6c12107f8315b'/>
<id>738c34d4bb8f1a3811acd00af8c6c12107f8315b</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 years</title>
<updated>2012-08-31T12:48:46+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2012-08-31T12:48:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=2d03ab7ffde828d3b56f8b7738fd0c00d0f5b630'/>
<id>2d03ab7ffde828d3b56f8b7738fd0c00d0f5b630</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>make_preload: Don't fail if Perl's default file encoding is UTF-8</title>
<updated>2012-08-27T07:29:02+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2012-08-23T10:29:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a6024f8d7786664378dae8814997405c6f795f3f'/>
<id>a6024f8d7786664378dae8814997405c6f795f3f</id>
<content type='text'>
Setting Perl's default encoding for files to UTF-8, for example
like this:

  PERL_UNICODE=DS make

would crash the build with a message similar to:

  form size 1413 greater than size 1237 of module at
  utils/make_preload line 175, &lt;FILE&gt; chunk 1.

Tell Perl to interpret the data in BEAM files as binary by
using the binmode() function. The binmode() function existed
before Unicode support was added to Perl, which means that
make_preload should work even in old versions of Perl.

Noticed-by: Aaron Harnly
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Setting Perl's default encoding for files to UTF-8, for example
like this:

  PERL_UNICODE=DS make

would crash the build with a message similar to:

  form size 1413 greater than size 1237 of module at
  utils/make_preload line 175, &lt;FILE&gt; chunk 1.

Tell Perl to interpret the data in BEAM files as binary by
using the binmode() function. The binmode() function existed
before Unicode support was added to Perl, which means that
make_preload should work even in old versions of Perl.

Noticed-by: Aaron Harnly
</pre>
</div>
</content>
</entry>
<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>Build Win64 Erlang emulator using MSYS</title>
<updated>2011-12-02T14:21:10+00:00</updated>
<author>
<name>unknown</name>
<email>pan@.otp.ericsson.se</email>
</author>
<published>2011-02-22T16:29:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=7b3596ba1521f201c9416fc7a0385cb7e6c6f495'/>
<id>7b3596ba1521f201c9416fc7a0385cb7e6c6f495</id>
<content type='text'>
Still does not run, just compiles.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Still does not run, just compiles.
</pre>
</div>
</content>
</entry>
<entry>
<title>make_preload: Don't output a C comment start inside a comment</title>
<updated>2011-10-13T09:12:42+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2011-10-12T10:27:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a0f45f929092c8d3355a8604780a4f4df49f3759'/>
<id>a0f45f929092c8d3355a8604780a4f4df49f3759</id>
<content type='text'>
We already avoid outputting a comment terminator ("*/") inside
a comment to avoid causing a syntax error. Also avoid outputting
the start of a comment ("/*") to avoid causing a compiler warning.

Noticed-by: Tuncer Ayaz
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We already avoid outputting a comment terminator ("*/") inside
a comment to avoid causing a syntax error. Also avoid outputting
the start of a comment ("/*") to avoid causing a compiler warning.

Noticed-by: Tuncer Ayaz
</pre>
</div>
</content>
</entry>
</feed>
