1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* method.h: change fileds order to gather frequent acces fields.

* vm_insnhelper.c (vm_call_method): add LIKELY().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2015-06-03 02:48:43 +00:00
parent 419b0da453
commit b5cd6ba214
3 changed files with 8 additions and 2 deletions

View file

@ -1,3 +1,9 @@
Wed Jun 3 11:47:15 2015 Koichi Sasada <ko1@atdot.net>
* method.h: change fileds order to gather frequent acces fields.
* vm_insnhelper.c (vm_call_method): add LIKELY().
Wed Jun 03 10:35:45 2015 Koichi Sasada <ko1@atdot.net>
* method.h: split rb_method_definition_t::flag to several flags.

View file

@ -80,8 +80,8 @@ typedef struct rb_method_alias_struct {
typedef struct rb_method_definition_struct {
struct {
rb_method_visibility_t visi: 3;
unsigned int basic: 1;
unsigned int safe: 3;
unsigned int basic: 1;
} flags;
rb_method_type_t type; /* method type */

View file

@ -1911,7 +1911,7 @@ vm_call_method(rb_thread_t *th, rb_control_frame_t *cfp, rb_call_info_t *ci)
start_method_dispatch:
if (ci->me != 0) {
if (ci->me->def->flags.visi == METHOD_VISI_PUBLIC && ci->me->def->flags.safe == 0) {
if (LIKELY(ci->me->def->flags.visi == METHOD_VISI_PUBLIC && ci->me->def->flags.safe == 0)) {
VALUE klass;
normal_method_dispatch: