diff options
| author | Masaki Muranaka <[email protected]> | 2013-03-22 14:22:45 +0900 |
|---|---|---|
| committer | Masaki Muranaka <[email protected]> | 2013-03-22 14:22:45 +0900 |
| commit | f8fa56d8c3d1729bc331b55473667f4d3414d996 (patch) | |
| tree | e8151819f193cb3b9248e23090572ecd1c7a0739 /src/vm.c | |
| parent | f6646f44c2a33147b7f491d1551243c96f72ab25 (diff) | |
| download | mruby-f8fa56d8c3d1729bc331b55473667f4d3414d996.tar.gz mruby-f8fa56d8c3d1729bc331b55473667f4d3414d996.zip | |
Use mrb_intern2() instead of mrb_intern(). This is for avoiding overhead by strlen().
Diffstat (limited to 'src/vm.c')
| -rw-r--r-- | src/vm.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -349,7 +349,7 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, int argc, mr p = mrb_method_search_vm(mrb, &c, mid); if (!p) { undef = mid; - mid = mrb_intern(mrb, "method_missing"); + mid = mrb_intern2(mrb, "method_missing", 14); p = mrb_method_search_vm(mrb, &c, mid); n++; argc++; } @@ -869,7 +869,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) if (!m) { mrb_value sym = mrb_symbol_value(mid); - mid = mrb_intern(mrb, "method_missing"); + mid = mrb_intern2(mrb, "method_missing", 14); m = mrb_method_search_vm(mrb, &c, mid); if (n == CALL_MAXARGS) { mrb_ary_unshift(mrb, regs[a+1], sym); @@ -1011,7 +1011,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) c = mrb->ci->target_class->super; m = mrb_method_search_vm(mrb, &c, mid); if (!m) { - mid = mrb_intern(mrb, "method_missing"); + mid = mrb_intern2(mrb, "method_missing", 14); m = mrb_method_search_vm(mrb, &c, mid); if (n == CALL_MAXARGS) { mrb_ary_unshift(mrb, regs[a+1], mrb_symbol_value(ci->mid)); @@ -1216,8 +1216,8 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) L_RAISE: ci = mrb->ci; - mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "lastpc"), mrb_voidp_value(pc)); - mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->cibase)); + mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern2(mrb, "lastpc", 6), mrb_voidp_value(pc)); + mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern2(mrb, "ciidx", 5), mrb_fixnum_value(ci - mrb->cibase)); eidx = ci->eidx; if (ci == mrb->cibase) { if (ci->ridx == 0) goto L_STOP; @@ -1333,7 +1333,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) if (!m) { mrb_value sym = mrb_symbol_value(mid); - mid = mrb_intern(mrb, "method_missing"); + mid = mrb_intern2(mrb, "method_missing", 14); m = mrb_method_search_vm(mrb, &c, mid); if (n == CALL_MAXARGS) { mrb_ary_unshift(mrb, regs[a+1], sym); |
