[#63592] [ruby-trunk - Bug #10009] IO operation is 10x slower in multi-thread environment — normalperson@...
Issue #10009 has been updated by Eric Wong.
3 messages
2014/07/08
[#63682] [ruby-trunk - Feature #10030] [PATCH] reduce rb_iseq_struct to 296 bytes — ko1@...
Issue #10030 has been updated by Koichi Sasada.
3 messages
2014/07/13
[#63703] [ruby-trunk - Feature #10030] [PATCH] reduce rb_iseq_struct to 296 bytes — ko1@...
Issue #10030 has been updated by Koichi Sasada.
3 messages
2014/07/14
[#63743] [ruby-trunk - Bug #10037] Since r46798 on Solaris, "[BUG] rb_vm_get_cref: unreachable" during make — ngotogenome@...
Issue #10037 has been updated by Naohisa Goto.
3 messages
2014/07/15
[#64136] Ruby 2.1.2 (and 2.1.1 and probably others) assumes a libffi with 3 version numbers in extconf.rb — "Jeffrey 'jf' Lim" <jfs.world@...>
As per subject.
4 messages
2014/07/31
[#64138] Re: Ruby 2.1.2 (and 2.1.1 and probably others) assumes a libffi with 3 version numbers in extconf.rb
— "Jeffrey 'jf' Lim" <jfs.world@...>
2014/07/31
On Thu, Jul 31, 2014 at 6:03 PM, Jeffrey 'jf' Lim <[email protected]>
[ruby-core:63938] [ruby-trunk - Bug #10080] Functions marked as "static inline" are not inlined by gcc
From:
gustavo.pedrosa@...
Date:
2014-07-22 18:48:13 UTC
List:
ruby-core #63938
Issue #10080 has been updated by Gustavo Frederico Temple Pedrosa. Eric Wong wrote: > [email protected] wrote: > > So, can I close this issue? > > Sure. I don't have permissions to close, can you close for me, please? Thank you very much, indeed. ---------------------------------------- Bug #10080: Functions marked as "static inline" are not inlined by gcc https://bugs.ruby-lang.org/issues/10080#change-47963 * Author: Gustavo Frederico Temple Pedrosa * Status: Open * Priority: Normal * Assignee: Nobuyoshi Nakada * Category: build * Target version: * ruby -v: ruby 2.1.2p95 (2014-05-08 revision 45877) * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- Since GCC 4.8.3, some static inline functions (such as rb_call0) are not inlined in the generated machine code. This happens in both x86-64 and ppc64 platforms and it can be verified by using the following commands: ~~~ (in ppc64) objdump -dS ruby | grep bl.*rb_call0 155838: c1 f8 ff 4b bl 1550f8 <rb_call0+0x8> 1558a4: 55 f8 ff 4b bl 1550f8 <rb_call0+0x8> 1559e4: 15 f7 ff 4b bl 1550f8 <rb_call0+0x8> 158b88: 71 c5 ff 4b bl 1550f8 <rb_call0+0x8> 15bf40: b9 91 ff 4b bl 1550f8 <rb_call0+0x8> 15c0f8: 01 90 ff 4b bl 1550f8 <rb_call0+0x8> 15c490: 69 8c ff 4b bl 1550f8 <rb_call0+0x8> 15c4cc: 2d 8c ff 4b bl 1550f8 <rb_call0+0x8> 15c8bc: 3d 88 ff 4b bl 1550f8 <rb_call0+0x8> 15cc94: 65 84 ff 4b bl 1550f8 <rb_call0+0x8> 15d344: b5 7d ff 4b bl 1550f8 <rb_call0+0x8> 15d3c4: 35 7d ff 4b bl 1550f8 <rb_call0+0x8> (in x86-64) objdump -dS ruby | grep call\.*rb_call0 126280: e8 cb f9 ff ff callq 125c50 <rb_call0> 126347: e8 04 f9 ff ff callq 125c50 <rb_call0> 1264cc: e8 7f f7 ff ff callq 125c50 <rb_call0> 128a9e: e8 ad d1 ff ff callq 125c50 <rb_call0> 12ade9: e8 62 ae ff ff callq 125c50 <rb_call0> 12af6a: e8 e1 ac ff ff callq 125c50 <rb_call0> 12b2e6: e8 65 a9 ff ff callq 125c50 <rb_call0> 12b5d7: e8 74 a6 ff ff callq 125c50 <rb_call0> 12b899: e8 b2 a3 ff ff callq 125c50 <rb_call0> 12bccd: e8 7e 9f ff ff callq 125c50 <rb_call0> 12bdf0: e8 5b 9e ff ff callq 125c50 <rb_call0> ~~~ This behaviour can be fixed if every inlined function were marked with the always_inline attribute when compiling with GCC. -- https://bugs.ruby-lang.org/