<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/ruby.git/vm_args.c, branch ruby_2_4</title>
<subtitle>github.com: ruby/ruby.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ruby.git/'/>
<entry>
<title>merge revision(s) 58245,60127: [Backport #13973]</title>
<updated>2018-03-20T15:53:38+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2018-03-20T15:53:38+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ruby.git/commit/?id=9e7b5784180e29b258c99fd36639b5221d427287'/>
<id>9e7b5784180e29b258c99fd36639b5221d427287</id>
<content type='text'>
	Refactored using Method#owner.


	proc.c: super_method of included method

	* proc.c (method_super_method): search the next super method along
	  the included ancestor chain.  [ruby-core:83114] [Bug #13973]

	* vm_method.c (rb_callable_method_entry_without_refinements):
	  return the defined class.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Refactored using Method#owner.


	proc.c: super_method of included method

	* proc.c (method_super_method): search the next super method along
	  the included ancestor chain.  [ruby-core:83114] [Bug #13973]

	* vm_method.c (rb_callable_method_entry_without_refinements):
	  return the defined class.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 57192,57464,58016,58018,58019: [Backport #12705]</title>
<updated>2017-03-21T14:04:23+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2017-03-21T14:04:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ruby.git/commit/?id=539ab3056902c5946291433cb807ad7c5b8fea4c'/>
<id>539ab3056902c5946291433cb807ad7c5b8fea4c</id>
<content type='text'>
	[Bug #12705]
	add a ticket number.

	test_lambda.rb: refine test

	* test/ruby/test_lambda.rb (test_lambda_as_iterator): refine a
	  test for the intention of the original report.
	  [ruby-core:61340] [Bug #9605]
	test_lambda.rb: remove duplcate tests
	vm_args.c: arity check of lambda

	* vm_eval.c (rb_yield_lambda): new function which yields an array
	  to a proc and splat to a lambda.  mainly for Enumerable only.

	* vm_args.c (setup_parameters_complex): remove special lambda
	  splatting for [Bug #9605].  [ruby-core:77065] [Bug #12705]

	* vm_insnhelper.c (vm_callee_setup_block_arg): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@58045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #12705]
	add a ticket number.

	test_lambda.rb: refine test

	* test/ruby/test_lambda.rb (test_lambda_as_iterator): refine a
	  test for the intention of the original report.
	  [ruby-core:61340] [Bug #9605]
	test_lambda.rb: remove duplcate tests
	vm_args.c: arity check of lambda

	* vm_eval.c (rb_yield_lambda): new function which yields an array
	  to a proc and splat to a lambda.  mainly for Enumerable only.

	* vm_args.c (setup_parameters_complex): remove special lambda
	  splatting for [Bug #9605].  [ruby-core:77065] [Bug #12705]

	* vm_insnhelper.c (vm_callee_setup_block_arg): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@58045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 58015: [Backport #13325]</title>
<updated>2017-03-19T14:29:22+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2017-03-19T14:29:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ruby.git/commit/?id=dd6be57da8054b95855c01d1ebedd21d4a91cd68'/>
<id>dd6be57da8054b95855c01d1ebedd21d4a91cd68</id>
<content type='text'>
	vm_args.c: pass block

	* vm_args.c (refine_sym_proc_call): pass block to the method when
	  using refinements.  [ruby-core:80219] [Bug #13325]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@58022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	vm_args.c: pass block

	* vm_args.c (refine_sym_proc_call): pass block to the method when
	  using refinements.  [ruby-core:80219] [Bug #13325]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@58022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>vm_args.c: cache procs</title>
<updated>2016-10-15T09:05:58+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-10-15T09:05:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ruby.git/commit/?id=65daf7be940fbf446bfd528856946329db74c0d4'/>
<id>65daf7be940fbf446bfd528856946329db74c0d4</id>
<content type='text'>
* vm_args.c (vm_caller_setup_arg_block): cache proc with
  refinements.  [Feature #9451]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* vm_args.c (vm_caller_setup_arg_block): cache proc with
  refinements.  [Feature #9451]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>vm_args.c: allow refinements in Symbol proc</title>
<updated>2016-10-15T05:17:07+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-10-15T05:17:07+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ruby.git/commit/?id=35a29390197750abf97ef16fa0740e377764daef'/>
<id>35a29390197750abf97ef16fa0740e377764daef</id>
<content type='text'>
* vm_args.c (refine_sym_proc_call): search and call method with
  refinements.
* vm_args.c (vm_caller_setup_arg_block): enable refinements when
  enabled in the caller.  [Feature #9451]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* vm_args.c (refine_sym_proc_call): search and call method with
  refinements.
* vm_args.c (vm_caller_setup_arg_block): enable refinements when
  enabled in the caller.  [Feature #9451]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>vm_args.c: split make_unused_kw_hash</title>
<updated>2016-09-25T14:48:22+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-09-25T14:48:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ruby.git/commit/?id=7f6a2e4a60ceb7cec9b7a41a1acc151a1db1ceb9'/>
<id>7f6a2e4a60ceb7cec9b7a41a1acc151a1db1ceb9</id>
<content type='text'>
* vm_args.c (make_unknown_kw_hash, make_rest_kw_hash): split
  make_unused_kw_hash for key_only parameter.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* vm_args.c (make_unknown_kw_hash, make_rest_kw_hash): split
  make_unused_kw_hash for key_only parameter.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* vm_core.h: revisit the structure of frame, block and env.</title>
<updated>2016-07-28T11:02:30+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-07-28T11:02:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ruby.git/commit/?id=9f60791a0412cae804f13ed3e746a634c7a0731b'/>
<id>9f60791a0412cae804f13ed3e746a634c7a0731b</id>
<content type='text'>
  [Bug #12628]

  This patch introduce many changes.

  * Introduce concept of "Block Handler (BH)" to represent
    passed blocks.

  * move rb_control_frame_t::flag to ep[0] (as a special local
    variable). This flags represents not only frame type, but also
    env flags such as escaped.

  * rename `rb_block_t` to `struct rb_block`.

  * Make Proc, Binding and RubyVM::Env objects wb-protected.

  Check [Bug #12628] for more details.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  [Bug #12628]

  This patch introduce many changes.

  * Introduce concept of "Block Handler (BH)" to represent
    passed blocks.

  * move rb_control_frame_t::flag to ep[0] (as a special local
    variable). This flags represents not only frame type, but also
    env flags such as escaped.

  * rename `rb_block_t` to `struct rb_block`.

  * Make Proc, Binding and RubyVM::Env objects wb-protected.

  Check [Bug #12628] for more details.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* vm_insnhelper.c: introduce rb_vm_pop_frame() and use it</title>
<updated>2016-07-26T10:28:21+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-07-26T10:28:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ruby.git/commit/?id=be5564a178ee453b7d6fedc7c312bec01e29dde2'/>
<id>be5564a178ee453b7d6fedc7c312bec01e29dde2</id>
<content type='text'>
  instead of setting rb_thread_t::cfp directly.

* vm_insnhelper.c (vm_pop_frame): return the result of
  finish frame or not.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  instead of setting rb_thread_t::cfp directly.

* vm_insnhelper.c (vm_pop_frame): return the result of
  finish frame or not.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* vm_args.c (vm_caller_setup_arg_block): call rb_sym_to_proc()</title>
<updated>2016-07-08T05:21:54+00:00</updated>
<author>
<name>shugo</name>
<email>shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-07-08T05:21:54+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ruby.git/commit/?id=286eec26468989b385382b250a5243d4b4f3d672'/>
<id>286eec26468989b385382b250a5243d4b4f3d672</id>
<content type='text'>
  directly to reduce method dispatch overhead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  directly to reduce method dispatch overhead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* vm_args.c (setup_parameters_complex): don't raise ArgumentError</title>
<updated>2016-07-07T18:59:38+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-07-07T18:59:38+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ruby.git/commit/?id=c016898e79edec4fe3c5106ba7e7742a5eaa3f17'/>
<id>c016898e79edec4fe3c5106ba7e7742a5eaa3f17</id>
<content type='text'>
  if an array is given for instance_exec with optional argument.
  [ruby-core:76300] [Bug #12568]
  https://github.com/rails/rails/pull/25699

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  if an array is given for instance_exec with optional argument.
  [ruby-core:76300] [Bug #12568]
  https://github.com/rails/rails/pull/25699

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
