summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-06-17 21:07:02 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-06-17 21:07:02 +0000
commitfa5d0d24793157e1ff7c5f85f06a4b06b2062039 (patch)
treee52fe6f0b4f110a0015fa2923c42f9a491368ef5
parent04d13d06622de01c7e612517f2846a67998f8f6d (diff)
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
-rw-r--r--ChangeLog5
-rw-r--r--compile.c8
2 files changed, 7 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 66eb1c2..b5393f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jun 18 06:02:42 2015 Eric Wong <e@80x24.org>
+
+ * 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 <nobu@ruby-lang.org>
* common.mk (ENC_MK): needs fake.rb if cross compilation.
diff --git a/compile.c b/compile.c
index cdcb19b..6757ea3 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) {