<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/include/ruby/defines.h, branch v2_7_8</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) 511b55bcefc81c036294dc9a544d14bd342acd3b: [Backport #17215]</title>
<updated>2021-03-20T05:23:45+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2021-03-20T05:23:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6ef46f71c743507a0e2ae0eef14dce0539b0ff52'/>
<id>6ef46f71c743507a0e2ae0eef14dce0539b0ff52</id>
<content type='text'>
	Enable arm64 optimizations that exist for power/x86 (#3393)

	* Enable unaligned accesses on arm64

	64-bit Arm platforms support unaligned accesses.

	Running the string benchmarks this change improves performance
	by an average of 1.04x, min .96x, max 1.21x, median 1.01x

	* arm64 enable gc optimizations

	Similar to x86 and powerpc optimizations.

	|       |compare-ruby|built-ruby|
	|:------|-----------:|---------:|
	|hash1  |       0.225|     0.237|
	|       |           -|     1.05x|
	|hash2  |       0.110|     0.110|
	|       |       1.00x|         -|

	* vm_exec.c: improve performance for arm64

	|                               |compare-ruby|built-ruby|
	|:------------------------------|-----------:|---------:|
	|vm_array                       |     26.501M|   27.959M|
	|                               |           -|     1.06x|
	|vm_attr_ivar                   |     21.606M|   31.429M|
	|                               |           -|     1.45x|
	|vm_attr_ivar_set               |     21.178M|   26.113M|
	|                               |           -|     1.23x|
	|vm_backtrace                   |       6.621|     6.668|
	|                               |           -|     1.01x|
	|vm_bigarray                    |     26.205M|   29.958M|
	|                               |           -|     1.14x|
	|vm_bighash                     |    504.155k|  479.306k|
	|                               |       1.05x|         -|
	|vm_block                       |     16.692M|   21.315M|
	|                               |           -|     1.28x|
	|block_handler_type_iseq        |       5.083|     7.004|
	|                               |           -|     1.38x|
	---
	 gc.c                           | 13 +++++++++++++
	 gc.h                           |  2 ++
	 include/ruby/internal/config.h |  2 ++
	 regint.h                       |  2 +-
	 siphash.c                      |  2 +-
	 st.c                           |  2 +-
	 vm_exec.c                      |  8 ++++++++
	 7 files changed, 28 insertions(+), 3 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Enable arm64 optimizations that exist for power/x86 (#3393)

	* Enable unaligned accesses on arm64

	64-bit Arm platforms support unaligned accesses.

	Running the string benchmarks this change improves performance
	by an average of 1.04x, min .96x, max 1.21x, median 1.01x

	* arm64 enable gc optimizations

	Similar to x86 and powerpc optimizations.

	|       |compare-ruby|built-ruby|
	|:------|-----------:|---------:|
	|hash1  |       0.225|     0.237|
	|       |           -|     1.05x|
	|hash2  |       0.110|     0.110|
	|       |       1.00x|         -|

	* vm_exec.c: improve performance for arm64

	|                               |compare-ruby|built-ruby|
	|:------------------------------|-----------:|---------:|
	|vm_array                       |     26.501M|   27.959M|
	|                               |           -|     1.06x|
	|vm_attr_ivar                   |     21.606M|   31.429M|
	|                               |           -|     1.45x|
	|vm_attr_ivar_set               |     21.178M|   26.113M|
	|                               |           -|     1.23x|
	|vm_backtrace                   |       6.621|     6.668|
	|                               |           -|     1.01x|
	|vm_bigarray                    |     26.205M|   29.958M|
	|                               |           -|     1.14x|
	|vm_bighash                     |    504.155k|  479.306k|
	|                               |       1.05x|         -|
	|vm_block                       |     16.692M|   21.315M|
	|                               |           -|     1.28x|
	|block_handler_type_iseq        |       5.083|     7.004|
	|                               |           -|     1.38x|
	---
	 gc.c                           | 13 +++++++++++++
	 gc.h                           |  2 ++
	 include/ruby/internal/config.h |  2 ++
	 regint.h                       |  2 +-
	 siphash.c                      |  2 +-
	 st.c                           |  2 +-
	 vm_exec.c                      |  8 ++++++++
	 7 files changed, 28 insertions(+), 3 deletions(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>mark functions that do not return NULL as such.</title>
<updated>2019-11-01T07:58:19+00:00</updated>
<author>
<name>卜部昌平</name>
<email>shyouhei@ruby-lang.org</email>
</author>
<published>2019-11-01T07:48:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=72f997edf66cb766b97feac709888c57852be084'/>
<id>72f997edf66cb766b97feac709888c57852be084</id>
<content type='text'>
Apply __attribute__((__returns_nonnull__)) when available.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apply __attribute__((__returns_nonnull__)) when available.
</pre>
</div>
</content>
</entry>
<entry>
<title>RUBY_ATTR_ALOC_SIZE for clang</title>
<updated>2019-11-01T07:58:19+00:00</updated>
<author>
<name>卜部昌平</name>
<email>shyouhei@ruby-lang.org</email>
</author>
<published>2019-11-01T05:32:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2c889e9b05e2d2902096af02687cc6e3c7424c30'/>
<id>2c889e9b05e2d2902096af02687cc6e3c7424c30</id>
<content type='text'>
clang also supports __attribute__((__alloc_size__)) so why not use
it when the compiler says it does.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
clang also supports __attribute__((__alloc_size__)) so why not use
it when the compiler says it does.
</pre>
</div>
</content>
</entry>
<entry>
<title>Check for nonnull attribute in configure</title>
<updated>2019-10-29T07:38:15+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2019-10-29T03:12:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ad4da86669454dee86844b3e0a3ecf9177084db3'/>
<id>ad4da86669454dee86844b3e0a3ecf9177084db3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>annotate malloc-ish functions</title>
<updated>2019-10-09T03:12:28+00:00</updated>
<author>
<name>卜部昌平</name>
<email>shyouhei@ruby-lang.org</email>
</author>
<published>2019-10-07T04:16:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a220410be70264a0e4089c4d63a9c22dd688ca7c'/>
<id>a220410be70264a0e4089c4d63a9c22dd688ca7c</id>
<content type='text'>
Make them gcc friendly.  Note that realloc canot be __malloc__
attributed, according to the GCC manual.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make them gcc friendly.  Note that realloc canot be __malloc__
attributed, according to the GCC manual.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix CentOS 6 compile error</title>
<updated>2019-09-10T03:25:36+00:00</updated>
<author>
<name>卜部昌平</name>
<email>shyouhei@ruby-lang.org</email>
</author>
<published>2019-09-10T03:22:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=20e428ec40ee1c83708b3ade6a0007ab2a435f83'/>
<id>20e428ec40ee1c83708b3ade6a0007ab2a435f83</id>
<content type='text'>
See also https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos6/ruby-master/log/20190910T003005Z.fail.html.gz
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See also https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos6/ruby-master/log/20190910T003005Z.fail.html.gz
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove IA64 support.</title>
<updated>2019-06-19T11:30:04+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2019-06-19T09:06:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d17344cfc56edc4599252041b3ec0d46af0851fd'/>
<id>d17344cfc56edc4599252041b3ec0d46af0851fd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce "COLDFUNC" function attribute.</title>
<updated>2018-12-05T17:23:32+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2018-12-05T17:23:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=eb79191f16dea9547ded38413b38f4de3fa78569'/>
<id>eb79191f16dea9547ded38413b38f4de3fa78569</id>
<content type='text'>
* include/ruby/defines.h: introduce "COLDFUNC" function attribute
  on several compilers for called unlikely functions.
  Apply to rb_memerror, rb_warn and rb_bug.

  A patch form  methodmissing &lt;lourens@bearmetal.eu&gt;.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* include/ruby/defines.h: introduce "COLDFUNC" function attribute
  on several compilers for called unlikely functions.
  Apply to rb_memerror, rb_warn and rb_bug.

  A patch form  methodmissing &lt;lourens@bearmetal.eu&gt;.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>include/ruby/intern.h: don't modify MJIT_FUNC_EXPORTED</title>
<updated>2018-10-07T14:00:04+00:00</updated>
<author>
<name>k0kubun</name>
<email>k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2018-10-07T14:00:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fd719c59e9ace1a71e3e292c61ecc77e7a1d2318'/>
<id>fd719c59e9ace1a71e3e292c61ecc77e7a1d2318</id>
<content type='text'>
on most of platforms except mswin.

Changing it to static was needed for mswin because it doesn't use
transform_mjit_header, but for platforms that use it, it causes link
error like:

/usr/bin/ld: /tmp/_ruby_mjit_p21652u0.o: relocation R_X86_64_PC32 against undefined symbol `rb_vm_search_method_slowpath' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status

include/ruby/defines.h: MJIT_FUNC_EXPORTED moved to intern.h

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
on most of platforms except mswin.

Changing it to static was needed for mswin because it doesn't use
transform_mjit_header, but for platforms that use it, it causes link
error like:

/usr/bin/ld: /tmp/_ruby_mjit_p21652u0.o: relocation R_X86_64_PC32 against undefined symbol `rb_vm_search_method_slowpath' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status

include/ruby/defines.h: MJIT_FUNC_EXPORTED moved to intern.h

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>use mingw ANSI stdio</title>
<updated>2018-09-04T08:39:14+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2018-09-04T08:39:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1cf2bb4b2085758112503e7da7414d1ef52d4f48'/>
<id>1cf2bb4b2085758112503e7da7414d1ef52d4f48</id>
<content type='text'>
[Bug #13496]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #13496]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
