Remove unused control frame variable: rb_control_frame_t.block_iseq
rb_control_frame_t.block_iseq does not appear to serve any purpose and can possibly be removed.
Updated by naruse (Yui NARUSE) almost 12 years ago
- Status changed from Open to Assigned
- Assignee set to ko1 (Koichi Sasada)
As you said, it seems useless variable.
But if block_iseq of rb_control_frame_t is simply removed, it breaks ABI compatibility.
I assign this to ko1.
Updated by pweldon (Peter Weldon) almost 12 years ago
I apologise, I did not understand the connection between rb_control_frame_t and rb_block_t. I see now that these macros are used to access rb_control_frame_t members via a rb_block_t:
#define RUBY_VM_GET_BLOCK_PTR_IN_CFP(cfp) ((rb_block_t *)(&(cfp)->self))
((rb_control_frame_t *)((VALUE *)(b) - 5))
The rb_control_frame_t comments in vm_core.h now also make sense to me. Thank you for helping me understand.