diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-05-09 05:06:41 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-05-09 05:06:41 +0000 |
commit | 9d09240d9e329bbe5a8168dd850f5bb3549fbaa9 (patch) | |
tree | e22cadfa88ec235f9630197c0c3a56ce6cbe4850 /proc.c | |
parent | 62b885b0900fa8949d794fccce44787e5669f16e (diff) |
rb_execution_context_t: move stack, stack_size and cfp from rb_thread_t
The goal is to reduce rb_context_t and rb_fiber_t size
by removing the need to store the entire rb_thread_t in
there.
[ruby-core:81045] Work-in-progress: soon, we will move more fields here.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'proc.c')
-rw-r--r-- | proc.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -338,7 +338,7 @@ VALUE rb_binding_new(void) { rb_thread_t *th = GET_THREAD(); - return rb_vm_make_binding(th, th->cfp); + return rb_vm_make_binding(th, th->ec.cfp); } /* @@ -652,7 +652,7 @@ proc_new(VALUE klass, int8_t is_lambda) { VALUE procval; rb_thread_t *th = GET_THREAD(); - rb_control_frame_t *cfp = th->cfp; + rb_control_frame_t *cfp = th->ec.cfp; VALUE block_handler; if ((block_handler = rb_vm_frame_block_handler(cfp)) == VM_BLOCK_HANDLER_NONE) { @@ -1002,7 +1002,7 @@ rb_block_arity(void) { int min, max; rb_thread_t *th = GET_THREAD(); - rb_control_frame_t *cfp = th->cfp; + rb_control_frame_t *cfp = th->ec.cfp; VALUE block_handler = rb_vm_frame_block_handler(cfp); struct rb_block block; @@ -1844,7 +1844,7 @@ rb_mod_define_method(int argc, VALUE *argv, VALUE mod) body = rb_block_lambda(); #else rb_thread_t *th = GET_THREAD(); - VALUE block_handler = rb_vm_frame_block_handler(th->cfp); + VALUE block_handler = rb_vm_frame_block_handler(th->ec.cfp); if (block_handler == VM_BLOCK_HANDLER_NONE) rb_raise(rb_eArgError, proc_without_block); switch (vm_block_handler_type(block_handler)) { |