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:
parent
6d625e4b6e
commit
ab109c36f1
3 changed files with 8 additions and 2 deletions
|
@ -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>
|
Wed Jul 2 01:58:19 2008 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
* insns.def (trace): C99ism.
|
* insns.def (trace): C99ism.
|
||||||
|
|
4
proc.c
4
proc.c
|
@ -271,11 +271,13 @@ binding_clone(VALUE self)
|
||||||
return bindval;
|
return bindval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rb_control_frame_t *vm_get_ruby_level_next_cfp(rb_thread_t *th, rb_control_frame_t *cfp);
|
||||||
|
|
||||||
VALUE
|
VALUE
|
||||||
rb_binding_new(void)
|
rb_binding_new(void)
|
||||||
{
|
{
|
||||||
rb_thread_t *th = GET_THREAD();
|
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);
|
VALUE bindval = binding_alloc(rb_cBinding);
|
||||||
rb_binding_t *bind;
|
rb_binding_t *bind;
|
||||||
|
|
||||||
|
|
2
vm.c
2
vm.c
|
@ -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)
|
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)) {
|
while (!RUBY_VM_CONTROL_FRAME_STACK_OVERFLOW_P(th, cfp)) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue