diff --git a/ChangeLog b/ChangeLog index 3a5c72b2e9..445940b295 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,13 @@ -Wed May 1 11:38:37 2013 Nobuyoshi Nakada +Wed May 1 11:40:25 2013 Nobuyoshi Nakada * defs/id.def (predefined): add "idProc". + * eval.c (frame_func_id): use predefined IDs. + * proc.c (mnew, mproc, mlambda): use predefined IDs. + * vm.c (rb_vm_control_frame_id_and_class): ditto. + * vm.c (Init_VM): ditto. Tue Apr 30 23:18:00 2013 Zachary Scott diff --git a/eval.c b/eval.c index 79f4a0add7..3880a0edce 100644 --- a/eval.c +++ b/eval.c @@ -860,7 +860,7 @@ frame_func_id(rb_control_frame_t *cfp) if (RUBY_VM_IFUNC_P(iseq)) { NODE *ifunc = (NODE *)iseq; if (ifunc->nd_aid) return ifunc->nd_aid; - return rb_intern(""); + return idIFUNC; } me_local = method_entry_of_iseq(cfp, iseq); if (me_local) { @@ -890,7 +890,7 @@ frame_called_id(rb_control_frame_t *cfp) if (RUBY_VM_IFUNC_P(iseq)) { NODE *ifunc = (NODE *)iseq; if (ifunc->nd_aid) return ifunc->nd_aid; - return rb_intern(""); + return idIFUNC; } me_local = method_entry_of_iseq(cfp, iseq); if (me_local) { diff --git a/vm.c b/vm.c index 03057bef1c..c6c972032e 100644 --- a/vm.c +++ b/vm.c @@ -1460,7 +1460,7 @@ rb_vm_control_frame_id_and_class(const rb_control_frame_t *cfp, ID *idp, VALUE * } while (iseq) { if (RUBY_VM_IFUNC_P(iseq)) { - if (idp) CONST_ID(*idp, ""); + if (idp) *idp = idIFUNC; if (klassp) *klassp = 0; return 1; }