From b203f6734434bb100bb9e7874516d7fcae47f841 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 9 Oct 2013 04:27:39 +0000 Subject: vm_backtrace.c: copy without creating prefix string * vm_backtrace.c (rb_profile_frame_full_label): copy from label directly, without creating prefix string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm_backtrace.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'vm_backtrace.c') diff --git a/vm_backtrace.c b/vm_backtrace.c index 74a9df2ed0..4a0cc304b2 100644 --- a/vm_backtrace.c +++ b/vm_backtrace.c @@ -1357,8 +1357,8 @@ rb_profile_frame_full_label(VALUE frame) else { long label_length = RSTRING_LEN(label); long base_label_length = RSTRING_LEN(base_label); - VALUE prefix = rb_str_new(RSTRING_PTR(label), label_length - base_label_length); + int prefix_len = rb_long2int(label_length - base_label_length); - return rb_sprintf("%"PRIsVALUE"%"PRIsVALUE, prefix, qualified_method_name); + return rb_sprintf("%.*s%"PRIsVALUE, prefix_len, RSTRING_PTR(label), qualified_method_name); } } -- cgit v1.2.3