Skip to content
  • Koichi Sasada's avatar
    e6ad53be
    remove VM_ENV_DATA_INDEX_ENV_PROC. · e6ad53be
    Koichi Sasada authored
    * 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
    e6ad53be
    remove VM_ENV_DATA_INDEX_ENV_PROC.
    Koichi Sasada authored
    * 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
Loading