<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/vm_eval.c, branch v2_1_5</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) r47645: [Backport #10263]</title>
<updated>2014-10-16T13:06:10+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-10-16T13:06:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e0a5ccfec19b157f21a1780cc51e652353f9d0fd'/>
<id>e0a5ccfec19b157f21a1780cc51e652353f9d0fd</id>
<content type='text'>
	* vm_eval.c (eval_string_with_cref): fix super from eval with
	  scope.  set klass in the current control frame to the class of
	  the receiver in the context to be evaluated, this class/module
	  must match the actual receiver to call super.
	  [ruby-core:65122] [Bug #10263]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_eval.c (eval_string_with_cref): fix super from eval with
	  scope.  set klass in the current control frame to the class of
	  the receiver in the context to be evaluated, this class/module
	  must match the actual receiver to call super.
	  [ruby-core:65122] [Bug #10263]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r46465,r46469,r46484: [Backport #9961]</title>
<updated>2014-08-03T16:07:15+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-08-03T16:07:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=84091a71e50ebe37f2261762fcef97cefe4c93ab'/>
<id>84091a71e50ebe37f2261762fcef97cefe4c93ab</id>
<content type='text'>
	* vm.c (rb_vm_rewind_cfp): add new function to rewind specified cfp
	  with invoking RUBY_EVENT_C_RETURN.
	  [Bug #9961]

	* vm_core.h: ditto.

	* eval.c (rb_protect): use it.

	* eval.c (rb_rescue2): ditto.

	* vm_eval.c (rb_iterate): ditto.

	* test/ruby/test_settracefunc.rb: add a test.

	* vm_core.h (rb_name_err_mesg_new): 

	* vm_eval.c (rb_catch_protect): fix same problem of [Bug #9961].

	* vm_eval.c (rb_iterate): ditto.

	* vm_core.h (rb_vm_rewind_cfp): add the prototype declaration.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm.c (rb_vm_rewind_cfp): add new function to rewind specified cfp
	  with invoking RUBY_EVENT_C_RETURN.
	  [Bug #9961]

	* vm_core.h: ditto.

	* eval.c (rb_protect): use it.

	* eval.c (rb_rescue2): ditto.

	* vm_eval.c (rb_iterate): ditto.

	* test/ruby/test_settracefunc.rb: add a test.

	* vm_core.h (rb_name_err_mesg_new): 

	* vm_eval.c (rb_catch_protect): fix same problem of [Bug #9961].

	* vm_eval.c (rb_iterate): ditto.

	* vm_core.h (rb_vm_rewind_cfp): add the prototype declaration.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r44535,r44536: [Backport #9321]</title>
<updated>2014-06-29T16:13:14+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-06-29T16:13:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bdf635bf5be3213770c8a77380a045e2ac1c19af'/>
<id>bdf635bf5be3213770c8a77380a045e2ac1c19af</id>
<content type='text'>
	* vm.c (rb_vm_pop_cfunc_frame): added.  It cares c_return event.
	  The patch base by drkaes (Stefan Kaes).
	  [Bug #9321]

	* variable.c (rb_mod_const_missing): use rb_vm_pop_cfunc_frame()
	  instead of rb_frame_pop().

	* vm_eval.c (raise_method_missing): ditto.

	* vm_eval.c (rb_iterate): ditto.

	* internal.h (rb_vm_pop_cfunc_frame): add decl.

	* test/ruby/test_settracefunc.rb: add tests.
	  provided by drkaes (Stefan Kaes).

	* vm.c, eval.c, include/ruby/intern.h (rb_frame_pop): 
	  move definition of rb_frame_pop() and deprecate it.
	  It doesn't care about `return' events.

	* vm.c, eval.c, include/ruby/intern.h (rb_frame_pop):


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm.c (rb_vm_pop_cfunc_frame): added.  It cares c_return event.
	  The patch base by drkaes (Stefan Kaes).
	  [Bug #9321]

	* variable.c (rb_mod_const_missing): use rb_vm_pop_cfunc_frame()
	  instead of rb_frame_pop().

	* vm_eval.c (raise_method_missing): ditto.

	* vm_eval.c (rb_iterate): ditto.

	* internal.h (rb_vm_pop_cfunc_frame): add decl.

	* test/ruby/test_settracefunc.rb: add tests.
	  provided by drkaes (Stefan Kaes).

	* vm.c, eval.c, include/ruby/intern.h (rb_frame_pop): 
	  move definition of rb_frame_pop() and deprecate it.
	  It doesn't care about `return' events.

	* vm.c, eval.c, include/ruby/intern.h (rb_frame_pop):


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r45360,r45361: [Backport #9651]</title>
<updated>2014-05-12T13:18:13+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-05-12T13:18:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3cbfd63479e0a3f4d49ad60c0b7c7000cd3f3c4f'/>
<id>3cbfd63479e0a3f4d49ad60c0b7c7000cd3f3c4f</id>
<content type='text'>
	* vm_eval.c (eval_string_with_cref): Use file path even if scope is
	  given. Related to [ruby-core:56099] [Bug #8662] and r42103.

	* vm_eval.c (eval_string_with_cref): Unify to use NIL_P.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_eval.c (eval_string_with_cref): Use file path even if scope is
	  given. Related to [ruby-core:56099] [Bug #8662] and r42103.

	* vm_eval.c (eval_string_with_cref): Unify to use NIL_P.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* include/ruby/ruby.h: rename OBJ_WRITE and OBJ_WRITTEN into</title>
<updated>2013-12-20T08:07:47+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-20T08:07:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c702005a7bbb807cab666537b5ef1877c14c40ba'/>
<id>c702005a7bbb807cab666537b5ef1877c14c40ba</id>
<content type='text'>
  RB_OBJ_WRITE and RB_OBJ_WRITTEN.
* array.c, class.c, compile.c, hash.c, internal.h, iseq.c,
  proc.c, process.c, re.c, string.c, variable.c, vm.c,
  vm_eval.c, vm_insnhelper.c, vm_insnhelper.h,
  vm_method.c: catch up this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  RB_OBJ_WRITE and RB_OBJ_WRITTEN.
* array.c, class.c, compile.c, hash.c, internal.h, iseq.c,
  proc.c, process.c, re.c, string.c, variable.c, vm.c,
  vm_eval.c, vm_insnhelper.c, vm_insnhelper.h,
  vm_method.c: catch up this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>gc.c: promote long-lived NODE_CREF objects to oldgen</title>
<updated>2013-12-08T02:28:04+00:00</updated>
<author>
<name>tmm1</name>
<email>tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-08T02:28:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8f77cfb308061ff49de0a47e82816c8dafa27963'/>
<id>8f77cfb308061ff49de0a47e82816c8dafa27963</id>
<content type='text'>
* include/ruby/ruby.h: add RGENGC_WB_PROTECTED_NODE_CREF setting
  In a large app, this reduces the size of
  remembered_shady_object_count by 80%. [Bug #9225] [ruby-core:58947]
* gc.c (rb_node_newnode): add FL_WB_PROTECTED flag to NODE_CREF
* class.c (rewrite_cref_stack): insert OBJ_WRITE for NODE_CREF
* iseq.c (set_relation): ditto
* iseq.c (rb_iseq_clone): ditto
* vm_eval.c (rb_yield_refine_block): ditto
* vm_insnhelper.c (vm_cref_push): ditto
* vm_insnhelper.h (COPY_CREF): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* include/ruby/ruby.h: add RGENGC_WB_PROTECTED_NODE_CREF setting
  In a large app, this reduces the size of
  remembered_shady_object_count by 80%. [Bug #9225] [ruby-core:58947]
* gc.c (rb_node_newnode): add FL_WB_PROTECTED flag to NODE_CREF
* class.c (rewrite_cref_stack): insert OBJ_WRITE for NODE_CREF
* iseq.c (set_relation): ditto
* iseq.c (rb_iseq_clone): ditto
* vm_eval.c (rb_yield_refine_block): ditto
* vm_insnhelper.c (vm_cref_push): ditto
* vm_insnhelper.h (COPY_CREF): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>vm_eval.c: suppress warning</title>
<updated>2013-12-05T05:26:25+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-05T05:26:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c348613504613b73a7fa5204158cd80bd88b982c'/>
<id>c348613504613b73a7fa5204158cd80bd88b982c</id>
<content type='text'>
* vm_eval.c (rb_catch_obj): add cast to suppress warning by VC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* vm_eval.c (rb_catch_obj): add cast to suppress warning by VC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>vm_eval.c: rb_catch_protect</title>
<updated>2013-12-03T12:53:18+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-03T12:53:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c7159e81fc0d70b67358deaa39d21babbc3d89e7'/>
<id>c7159e81fc0d70b67358deaa39d21babbc3d89e7</id>
<content type='text'>
* vm_eval.c (rb_catch_protect): new function similar to
  rb_catch_obj(), but protect from all global jumps like as
  rb_load_protect(), rb_protect(), etc.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* vm_eval.c (rb_catch_protect): new function similar to
  rb_catch_obj(), but protect from all global jumps like as
  rb_load_protect(), rb_protect(), etc.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>vm_eval.c: blockarg</title>
<updated>2013-11-30T04:21:26+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-11-30T04:21:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=dacc2c24363dbaaf58cc246e0ae1b8fa643b213e'/>
<id>dacc2c24363dbaaf58cc246e0ae1b8fa643b213e</id>
<content type='text'>
* vm_eval.c (rb_yield_block): implement non-nil block argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* vm_eval.c (rb_yield_block): implement non-nil block argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>vm_eval.c: rb_yield_block</title>
<updated>2013-11-29T08:06:19+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-11-29T08:06:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=92b4a05e07de480fabc70dae35c4b6dd2b1f42c9'/>
<id>92b4a05e07de480fabc70dae35c4b6dd2b1f42c9</id>
<content type='text'>
* vm_eval.c (rb_yield_block): yield block with rb_block_call_func
  arguments.
* range.c (range_each): use rb_yield_block.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* vm_eval.c (rb_yield_block): yield block with rb_block_call_func
  arguments.
* range.c (range_each): use rb_yield_block.

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