aboutsummaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-02-23 07:05:30 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-02-23 07:05:30 +0000
commit0d20fbe3bd654faf6be82a00ea140880a9d9481a (patch)
tree7a1d3af88f13eb9759458a0df01aaf0ccd23aa34 /eval.c
parent556515bf69a098c146b7856395a0e804e9159115 (diff)
downloadruby-0d20fbe3bd654faf6be82a00ea140880a9d9481a.tar.gz
eval.c: static IDs
* eval.c (ruby_static_id_signo, ruby_static_id_status): add static IDs, signo and status. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index 3fef29a831..faa80ff5db 100644
--- a/eval.c
+++ b/eval.c
@@ -24,6 +24,10 @@ NORETURN(void rb_raise_jump(VALUE, VALUE));
VALUE rb_eLocalJumpError;
VALUE rb_eSysStackError;
+ID ruby_static_id_signo, ruby_static_id_status;
+#define id_signo ruby_static_id_signo
+#define id_status ruby_static_id_status
+
#define exception_error GET_VM()->special_exceptions[ruby_error_reenter]
#include "eval_error.c"
@@ -218,7 +222,7 @@ ruby_cleanup(volatile int ex)
break;
}
else if (rb_obj_is_kind_of(err, rb_eSignal)) {
- VALUE sig = rb_iv_get(err, "signo");
+ VALUE sig = rb_ivar_get(err, id_signo);
state = NUM2INT(sig);
break;
}
@@ -1711,4 +1715,7 @@ Init_eval(void)
rb_define_global_function("untrace_var", rb_f_untrace_var, -1); /* in variable.c */
rb_vm_register_special_exception(ruby_error_reenter, rb_eFatal, "exception reentered");
+
+ id_signo = rb_intern_const("signo");
+ id_status = rb_intern_const("status");
}