From 0feaa041e765c30338146631ba6979eec0572ded Mon Sep 17 00:00:00 2001 From: normal Date: Sun, 24 Jan 2016 10:36:16 +0000 Subject: [PATCH] vm_insnhelper.c (vm_check_if_namespace): tiny size reduction Take advantage of "%+" modifier in the format string instead of explicitly calling rb_inspect to reduce object size. On x86 32-bit: text data bss dec hex filename before: 2949572 12448 30680 2992700 2daa3c miniruby after: 2949464 12448 30680 2992592 2da9d0 miniruby git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ vm_insnhelper.c | 5 +---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index d887edd323..66c2ec73f3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Jan 24 19:34:23 2016 Eric Wong + + * vm_insnhelper.c (vm_check_if_namespace): tiny size reduction + Sun Jan 24 18:12:36 2016 Martin Duerst * common.mk: Simplifying Unicode data file download logic to make diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 86f6c4b2be..022a64df12 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -643,11 +643,8 @@ vm_get_const_base(const VALUE *ep) static inline void vm_check_if_namespace(VALUE klass) { - VALUE str; if (!RB_TYPE_P(klass, T_CLASS) && !RB_TYPE_P(klass, T_MODULE)) { - str = rb_inspect(klass); - rb_raise(rb_eTypeError, "%s is not a class/module", - StringValuePtr(str)); + rb_raise(rb_eTypeError, "%+"PRIsVALUE" is not a class/module", klass); } }