summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--proc.c1
-rw-r--r--vm.c4
3 files changed, 6 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index a49b56f392..593c4c8455 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Nov 3 18:15:24 2012 Kazuki Tsujimoto <kazuki@callcc.net>
+
+ * vm.c, proc.c: avoid unnecessary `rb_vm_rewrite_ep_in_errinfo'
+ calls.
+
Sat Nov 3 17:53:43 2012 Kouhei Sutou <kou@cozmixng.org>
* bin/testrb: Use only Test::Unit::AutoRunner in test-unit gem
diff --git a/proc.c b/proc.c
index d339967220..b387eb0ba7 100644
--- a/proc.c
+++ b/proc.c
@@ -421,7 +421,6 @@ proc_new(VALUE klass, int is_lambda)
}
procval = rb_vm_make_proc(th, block, klass);
- rb_vm_rewrite_ep_in_errinfo(th, cfp);
if (is_lambda) {
rb_proc_t *proc;
diff --git a/vm.c b/vm.c
index 7e243cbc2f..f468d04e18 100644
--- a/vm.c
+++ b/vm.c
@@ -435,9 +435,6 @@ vm_make_env_each(rb_thread_t * const th, rb_control_frame_t * const cfp,
/* TODO */
env->block.iseq = 0;
}
- else {
- rb_vm_rewrite_ep_in_errinfo(th, cfp);
- }
return envval;
}
@@ -486,6 +483,7 @@ rb_vm_make_env_object(rb_thread_t * th, rb_control_frame_t *cfp)
VALUE envval;
envval = vm_make_env_each(th, cfp, cfp->ep, VM_CF_LEP(cfp));
+ rb_vm_rewrite_ep_in_errinfo(th, th->cfp);
if (PROCDEBUG) {
check_env_value(envval);