summaryrefslogtreecommitdiff
path: root/vm.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm.c')
-rw-r--r--vm.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/vm.c b/vm.c
index 0ed37363a2..25d2896ed3 100644
--- a/vm.c
+++ b/vm.c
@@ -453,16 +453,10 @@ rb_vm_stack_to_heap(rb_thread_t * const th)
static VALUE
vm_make_proc_from_block(rb_thread_t *th, rb_block_t *block)
{
- VALUE proc = block->proc;
-
- if (block->proc) {
- return block->proc;
+ if (!block->proc) {
+ block->proc = rb_vm_make_proc(th, block, rb_cProc);
}
-
- proc = rb_vm_make_proc(th, block, rb_cProc);
- block->proc = proc;
-
- return proc;
+ return block->proc;
}
VALUE