diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-07 08:41:16 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-07 08:41:16 +0000 |
commit | 42981462c99c28ae1b87adfb148dee67e83c540d (patch) | |
tree | 1f7e3f579d41dd0ba880d315a9e691421430b18e /vm.c | |
parent | c4d11b0525748343d3bd4827b2d884d2c1a937a2 (diff) |
* vm.c (vm_eval_body): initialize retval. [ruby-dev:34576]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r-- | vm.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -911,8 +911,9 @@ vm_make_jump_tag_but_local_jump(int state, VALUE val) { VALUE result = Qnil; - if (val == Qundef) + if (val == Qundef) { val = GET_THREAD()->tag->retval; + } switch (state) { case 0: break; @@ -1140,8 +1141,10 @@ vm_eval_body(rb_thread_t *th) int state; VALUE result, err; VALUE initial = 0; + VALUE *escape_dfp = NULL; TH_PUSH_TAG(th); + _tag.retval = Qnil; if ((state = EXEC_TAG()) == 0) { vm_loop_start: result = vm_eval(th, initial); @@ -1157,7 +1160,6 @@ vm_eval_body(rb_thread_t *th) unsigned long epc, cont_pc, cont_sp; VALUE catch_iseqval; rb_control_frame_t *cfp; - VALUE *escape_dfp = NULL; VALUE type; err = th->errinfo; |