summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--eval.c4
-rw-r--r--vm.c2
3 files changed, 8 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 3a5c72b..445940b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,13 @@
-Wed May 1 11:38:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed May 1 11:40:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* 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 <zachary@zacharyscott.net>
diff --git a/eval.c b/eval.c
index 79f4a0a..3880a0e 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("<ifunc>");
+ 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("<ifunc>");
+ return idIFUNC;
}
me_local = method_entry_of_iseq(cfp, iseq);
if (me_local) {
diff --git a/vm.c b/vm.c
index 03057be..c6c9720 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, "<ifunc>");
+ if (idp) *idp = idIFUNC;
if (klassp) *klassp = 0;
return 1;
}