From fa5d0d24793157e1ff7c5f85f06a4b06b2062039 Mon Sep 17 00:00:00 2001 From: normal Date: Wed, 17 Jun 2015 21:07:02 +0000 Subject: [PATCH] compile.c: use %+PRIsVALUE instead of rb_inspect * compile.c (get_exception_sym2type, iseq_build_from_ary_body): rely on %+PRIsVALUE instead of calling rb_inspect directly This yields a minor size reduction on 32-bit x86: text data bss dec hex filename 96807 772 48 97627 17d5b compile.o 96851 772 48 97671 17d87 compile.orig git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ compile.c | 8 ++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 66eb1c20d3..b5393f00b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Jun 18 06:02:42 2015 Eric Wong + + * compile.c (get_exception_sym2type, iseq_build_from_ary_body): + rely on %+PRIsVALUE instead of calling rb_inspect directly + Wed Jun 17 20:59:25 2015 Nobuyoshi Nakada * common.mk (ENC_MK): needs fake.rb if cross compilation. diff --git a/compile.c b/compile.c index cdcb19b0ef..6757ea3595 100644 --- a/compile.c +++ b/compile.c @@ -5792,7 +5792,6 @@ get_exception_sym2type(VALUE sym) { #undef rb_intern #define rb_intern(str) rb_intern_const(str) - VALUE sym_inspect; static VALUE symRescue, symEnsure, symRetry; static VALUE symBreak, symRedo, symNext; @@ -5811,9 +5810,7 @@ get_exception_sym2type(VALUE sym) if (sym == symBreak) return CATCH_TYPE_BREAK; if (sym == symRedo) return CATCH_TYPE_REDO; if (sym == symNext) return CATCH_TYPE_NEXT; - sym_inspect = rb_inspect(sym); - rb_raise(rb_eSyntaxError, "invalid exception symbol: %s", - StringValuePtr(sym_inspect)); + rb_raise(rb_eSyntaxError, "invalid exception symbol: %+"PRIsVALUE, sym); return 0; } @@ -5965,8 +5962,7 @@ iseq_build_from_ary_body(rb_iseq_t *iseq, LINK_ANCHOR *anchor, if (st_lookup(insn_table, (st_data_t)insn, &insn_id) == 0) { /* TODO: exception */ rb_compile_error(RSTRING_PTR(iseq->location.path), line_no, - "unknown instruction: %"PRIsVALUE, - rb_inspect(insn)); + "unknown instruction: %+"PRIsVALUE, insn); } if (argc != insn_len((VALUE)insn_id)-1) {