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

* vm_core.h, proc.c, vm_backtrace.c, vm_trace.c:

remove rb_binding_new_with_cfp, and use rb_vm_make_binding instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ktsj 2014-10-18 11:46:41 +00:00
parent 231f45ad36
commit a2608f293d
5 changed files with 8 additions and 10 deletions

View file

@ -1,3 +1,8 @@
Sat Oct 18 20:40:52 2014 Kazuki Tsujimoto <kazuki@callcc.net>
* vm_core.h, proc.c, vm_backtrace.c, vm_trace.c:
remove rb_binding_new_with_cfp, and use rb_vm_make_binding instead.
Sat Oct 18 20:38:48 2014 Kazuki Tsujimoto <kazuki@callcc.net>
* vm_core.h, vm.c, proc.c: fix GC mark miss on bindings.

8
proc.c
View file

@ -301,17 +301,11 @@ binding_clone(VALUE self)
return bindval;
}
VALUE
rb_binding_new_with_cfp(rb_thread_t *th, const rb_control_frame_t *src_cfp)
{
return rb_vm_make_binding(th, src_cfp);
}
VALUE
rb_binding_new(void)
{
rb_thread_t *th = GET_THREAD();
return rb_binding_new_with_cfp(th, th->cfp);
return rb_vm_make_binding(th, th->cfp);
}
/*

View file

@ -1159,7 +1159,7 @@ collect_caller_bindings(rb_thread_t *th)
if (!NIL_P(cfp_val)) {
rb_control_frame_t *cfp = GC_GUARDED_PTR_REF(cfp_val);
rb_ary_store(entry, CALLER_BINDING_BINDING, rb_binding_new_with_cfp(th, cfp));
rb_ary_store(entry, CALLER_BINDING_BINDING, rb_vm_make_binding(th, cfp));
}
}

View file

@ -913,7 +913,6 @@ VALUE rb_vm_make_proc(rb_thread_t *th, const rb_block_t *block, VALUE klass);
VALUE rb_vm_make_binding(rb_thread_t *th, const rb_control_frame_t *src_cfp);
VALUE rb_vm_make_env_object(rb_thread_t *th, rb_control_frame_t *cfp);
VALUE rb_vm_env_local_variables(VALUE envval);
VALUE rb_binding_new_with_cfp(rb_thread_t *th, const rb_control_frame_t *src_cfp);
VALUE *rb_binding_add_dynavars(rb_binding_t *bind, int dyncount, const ID *dynvars);
void rb_vm_inc_const_missing_count(void);
void rb_vm_gvl_destroy(rb_vm_t *vm);

View file

@ -811,7 +811,7 @@ rb_tracearg_binding(rb_trace_arg_t *trace_arg)
cfp = rb_vm_get_binding_creatable_next_cfp(trace_arg->th, trace_arg->cfp);
if (cfp) {
return rb_binding_new_with_cfp(trace_arg->th, cfp);
return rb_vm_make_binding(trace_arg->th, cfp);
}
else {
return Qnil;