1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* proc.c, vm.c: fix to refer next ruby level cfp to make binding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2008-07-01 17:11:35 +00:00
parent 6d625e4b6e
commit ab109c36f1
3 changed files with 8 additions and 2 deletions

View file

@ -1,3 +1,7 @@
Wed Jul 2 02:02:34 2008 Koichi Sasada <ko1@atdot.net>
* proc.c, vm.c: fix to refer next ruby level cfp to make binding.
Wed Jul 2 01:58:19 2008 NAKAMURA Usaku <usa@ruby-lang.org>
* insns.def (trace): C99ism.

4
proc.c
View file

@ -271,11 +271,13 @@ binding_clone(VALUE self)
return bindval;
}
rb_control_frame_t *vm_get_ruby_level_next_cfp(rb_thread_t *th, rb_control_frame_t *cfp);
VALUE
rb_binding_new(void)
{
rb_thread_t *th = GET_THREAD();
rb_control_frame_t *cfp = vm_get_ruby_level_caller_cfp(th, th->cfp);
rb_control_frame_t *cfp = vm_get_ruby_level_next_cfp(th, th->cfp);
VALUE bindval = binding_alloc(rb_cBinding);
rb_binding_t *bind;

2
vm.c
View file

@ -96,7 +96,7 @@ vm_set_eval_stack(rb_thread_t * th, VALUE iseqval, const NODE *cref)
}
}
static rb_control_frame_t *
rb_control_frame_t *
vm_get_ruby_level_next_cfp(rb_thread_t *th, rb_control_frame_t *cfp)
{
while (!RUBY_VM_CONTROL_FRAME_STACK_OVERFLOW_P(th, cfp)) {