summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-17 14:29:20 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-17 14:29:20 +0000
commit18fdf525ca9ca3d483860417711ec817d4b8dcee (patch)
treea9f66478d496707fd4df055cdec51470e4bfb9ad /eval.c
parent4a4a92dfbec54a4775fab24d369f8cc6c2b6d821 (diff)
downloadruby-18fdf525ca9ca3d483860417711ec817d4b8dcee.tar.gz
ruby-18fdf525ca9ca3d483860417711ec817d4b8dcee.tar.xz
ruby-18fdf525ca9ca3d483860417711ec817d4b8dcee.zip
* eval.c (rb_thread_start_1): initialize newly pushed frame.
fixed: [ruby-dev:25707] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index 78fa74d1c..911a10a2f 100644
--- a/eval.c
+++ b/eval.c
@@ -11756,7 +11756,9 @@ rb_thread_start_1()
ruby_cref = ip->cref;
ruby_dyna_vars = ((struct BLOCK *)DATA_PTR(proc))->dyna_vars;
PUSH_FRAME();
- _frame.iter = ITER_CUR;
+ *ruby_frame = *ip->frame;
+ ruby_frame->prev = ip->frame;
+ ruby_frame->iter = ITER_CUR;
PUSH_TAG(PROT_NONE);
if ((state = EXEC_TAG()) == 0) {
if (THREAD_SAVE_CONTEXT(th) == 0) {