<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/object.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) r47715: [Backport #10282]</title>
<updated>2014-10-15T15:28:55+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-10-15T15:28:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=03a93ba48da930f0f35ac83da7853cd89f94a8f4'/>
<id>03a93ba48da930f0f35ac83da7853cd89f94a8f4</id>
<content type='text'>
	* object.c (rb_class_real): do not dereference 0 VALUE

	* test/ruby/test_module.rb (test_inspect_segfault):
	  Test case and bug report by Thomas Stratmann.
	  [ruby-core:65214] [Bug #10282]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* object.c (rb_class_real): do not dereference 0 VALUE

	* test/ruby/test_module.rb (test_inspect_segfault):
	  Test case and bug report by Thomas Stratmann.
	  [ruby-core:65214] [Bug #10282]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r46501,r47372,r47460: [Backport #10191]</title>
<updated>2014-09-10T14:57:42+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-09-10T14:57:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4d238acd886ac75c3040495492b3dc77c2edbf9f'/>
<id>4d238acd886ac75c3040495492b3dc77c2edbf9f</id>
<content type='text'>
	* object.c (rb_obj_copy_ivar): extract function to copy instance
	  variables only for T_OBJECT from init_copy.

	* object.c (rb_obj_copy_ivar): allocate no memory for empty
	  instance variables.  [ruby-core:64700] [Bug #10191]

	* test/ruby/test_object.rb: extend timeout.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* object.c (rb_obj_copy_ivar): extract function to copy instance
	  variables only for T_OBJECT from init_copy.

	* object.c (rb_obj_copy_ivar): allocate no memory for empty
	  instance variables.  [ruby-core:64700] [Bug #10191]

	* test/ruby/test_object.rb: extend timeout.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r45179,r45564,r45565,r45584,r45585: [Backport #9721]</title>
<updated>2014-05-27T16:03:12+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-05-27T16:03:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=69eab6991a64b6dff4209f96d719680a875b0d89'/>
<id>69eab6991a64b6dff4209f96d719680a875b0d89</id>
<content type='text'>
	envutil.rb: move labeled_module and labeled_class

	* test/ruby/envutil.rb (labeled_module, labeled_class): move from
  test/ruby/test_module.rb.
	* proc.c (rb_method_call_with_block, umethod_bind): call with
	  IClass including the module for a module instance method.
	  [ruby-core:61936] [Bug #9721]

	* vm_insnhelper.c (vm_search_super_method): allow bound
	  UnboundMethod case.

	* proc.c (umethod_bind): use the ancestor iclass instead of new
	  iclass to get rid of infinite recursion, if the defined module
	  is already included.  [ruby-core:62014] [Bug #9721]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	envutil.rb: move labeled_module and labeled_class

	* test/ruby/envutil.rb (labeled_module, labeled_class): move from
  test/ruby/test_module.rb.
	* proc.c (rb_method_call_with_block, umethod_bind): call with
	  IClass including the module for a module instance method.
	  [ruby-core:61936] [Bug #9721]

	* vm_insnhelper.c (vm_search_super_method): allow bound
	  UnboundMethod case.

	* proc.c (umethod_bind): use the ancestor iclass instead of new
	  iclass to get rid of infinite recursion, if the defined module
	  is already included.  [ruby-core:62014] [Bug #9721]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 44525,44534,44537: [Backport #9381]</title>
<updated>2014-02-05T14:53:48+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-05T14:53:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=72d18038d914e7c2e383f09bae5e5bd7b06721a8'/>
<id>72d18038d914e7c2e383f09bae5e5bd7b06721a8</id>
<content type='text'>
	* hash.c (rb_objid_hash): return hash value from object ID with a
	  salt, extract from rb_any_hash().

	* object.c (rb_obj_hash): return same value as rb_any_hash().
	  fix r44125.  [ruby-core:59638] [Bug #9381]

	* hash.c (rb_any_hash): should treat the return value of rb_objid_hash()
	  as `long', because ruby assumes the object id of an object is `long'.
	  this fixes test failures on mswin64 introduced at r44525.

	* hash.c (rb_objid_hash): should return `long'.  brushup r44534.

	* object.c (rb_obj_hash): follow above change.
	  as `long', because ruby assumes the hash value of the object id of
	  an object is `long'.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@44846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* hash.c (rb_objid_hash): return hash value from object ID with a
	  salt, extract from rb_any_hash().

	* object.c (rb_obj_hash): return same value as rb_any_hash().
	  fix r44125.  [ruby-core:59638] [Bug #9381]

	* hash.c (rb_any_hash): should treat the return value of rb_objid_hash()
	  as `long', because ruby assumes the object id of an object is `long'.
	  this fixes test failures on mswin64 introduced at r44525.

	* hash.c (rb_objid_hash): should return `long'.  brushup r44534.

	* object.c (rb_obj_hash): follow above change.
	  as `long', because ruby assumes the hash value of the object id of
	  an object is `long'.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@44846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>ruby.h: swap iv_index_tbl and super for struct RClass</title>
<updated>2013-12-20T05:10:07+00:00</updated>
<author>
<name>tmm1</name>
<email>tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-20T05:10:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3409690957ae57822ef18189c006068476c035ff'/>
<id>3409690957ae57822ef18189c006068476c035ff</id>
<content type='text'>
* include/ruby/ruby.h (struct RClass): add super, remove iv_index_tbl.
  since RCLASS_SUPER() is commonly used inside while loops, we move it
  back inside struct RClass to improve cache hits. this provides a
  small improvement (1%) in hotspots like rb_obj_is_kind_of()
* internal.h (struct rb_classext_struct): remove super, add
  iv_index_table
* internal.h (RCLASS_SUPER): update for new location
* internal.h (RCLASS_SET_SUPER): ditto
* internal.h (RCLASS_IV_INDEX_TBL): ditto
* object.c (rb_class_get_superclass): ditto
* include/ruby/backward/classext.h (RCLASS_SUPER): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* include/ruby/ruby.h (struct RClass): add super, remove iv_index_tbl.
  since RCLASS_SUPER() is commonly used inside while loops, we move it
  back inside struct RClass to improve cache hits. this provides a
  small improvement (1%) in hotspots like rb_obj_is_kind_of()
* internal.h (struct rb_classext_struct): remove super, add
  iv_index_table
* internal.h (RCLASS_SUPER): update for new location
* internal.h (RCLASS_SET_SUPER): ditto
* internal.h (RCLASS_IV_INDEX_TBL): ditto
* object.c (rb_class_get_superclass): ditto
* include/ruby/backward/classext.h (RCLASS_SUPER): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>object.c: check const names</title>
<updated>2013-12-14T03:38:22+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-14T03:38:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a370556cd289ee8bffaca769328c3d0de0928af2'/>
<id>a370556cd289ee8bffaca769328c3d0de0928af2</id>
<content type='text'>
* object.c (rb_mod_const_get, rb_mod_const_defined): check
  constant names more strictly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* object.c (rb_mod_const_get, rb_mod_const_defined): check
  constant names more strictly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>object.c: nested path const_defined?</title>
<updated>2013-12-14T02:25:58+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-14T02:25:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=241ca7bfff26b1f624ef64212b68d76efcb78f9d'/>
<id>241ca7bfff26b1f624ef64212b68d76efcb78f9d</id>
<content type='text'>
* object.c (rb_mod_const_defined): support nested class path as
  well as const_get.  [Feature #7414]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* object.c (rb_mod_const_defined): support nested class path as
  well as const_get.  [Feature #7414]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>object.c: remove unnecessary assignment</title>
<updated>2013-12-14T02:24:47+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-14T02:24:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a68c69d196b76d42cf74aba497a37cbf1be87bf9'/>
<id>a68c69d196b76d42cf74aba497a37cbf1be87bf9</id>
<content type='text'>
* object.c (rb_mod_const_get): remove unnecessary assignment and
  set path together.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* object.c (rb_mod_const_get): remove unnecessary assignment and
  set path together.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>object.c: fix typo</title>
<updated>2013-12-14T02:24:35+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-14T02:24:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=db318509d5546696e65e6241197cdacbe442c071'/>
<id>db318509d5546696e65e6241197cdacbe442c071</id>
<content type='text'>
* object.c (rb_mod_const_get): fix typo.  should use SYM2ID() not
  ID2SYM().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* object.c (rb_mod_const_get): fix typo.  should use SYM2ID() not
  ID2SYM().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>object.c: fix r44189</title>
<updated>2013-12-14T02:11:37+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-14T02:11:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ae1a466401fc056ad91150dae94930e822a4ddd1'/>
<id>ae1a466401fc056ad91150dae94930e822a4ddd1</id>
<content type='text'>
* object.c (rb_mod_const_get): already interned junk name may be
  valid nested class path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* object.c (rb_mod_const_get): already interned junk name may be
  valid nested class path.

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