Project

General

Profile

« Previous | Next » 

Revision e6ad53be

Added by ko1 (Koichi Sasada) almost 6 years ago

remove VM_ENV_DATA_INDEX_ENV_PROC.

  • vm_core.h (VM_ENV_DATA_INDEX_ENV_PROC): ep[VM_ENV_DATA_INDEX_ENV_PROC] is
    allocated to mark a Proc which is created from iseq block.
    However, lep[0] keeps Proc object itself as a block handler (Proc).
    So we don't need to keep it.

  • vm_core.h (VM_ENV_PROCVAL): ditto.

  • vm.c (vm_make_env_each): do not need to keep blockprocval as special value.

  • vm.c (vm_block_handler_escape): simply return Proc value.

  • proc.c (proc_new): we don't need to check Env because a Proc type block
    handler is a Proc object itself.
    [Bug #14782]

  • test/ruby/test_proc.rb: add a test for [Bug #14782]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e