diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-01-12 19:26:07 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-01-12 19:26:07 +0000 |
commit | 0686019ebcf1f733957a003c1454f023028a5bb7 (patch) | |
tree | 77f0f61e616de201741292cb653de80aee1c7f67 /ChangeLog | |
parent | 6d90157aafb41bac9c6c818eff184ffd21f11227 (diff) | |
download | ruby-0686019ebcf1f733957a003c1454f023028a5bb7.tar.gz |
resolve class name earlier and more consistently
This further avoids class name resolution issues which came
about due to relying on hash table ordering before r53376.
Pre-caching the class name when it is never used raises memory
use, but the overall gain from moving away from st still gives
us a small gain. Reverting r53376 and this patch and testing with
"valgrind -v ./ruby -rrdoc -eexit" on x86 (32-bit) shows:
before:
in use at exit: 1,662,239 bytes in 25,286 blocks
total heap usage: 49,514 allocs, 24,228 frees, 6,005,561 bytes allocated
after, with this change:
in use at exit: 1,646,529 bytes in 24,572 blocks
total heap usage: 48,891 allocs, 24,319 frees, 6,003,921 bytes allocated
* class.c (Init_class_hierarchy): resolve name for rb_cObject ASAP
* object.c (rb_mod_const_set): move name resolution to rb_const_set
* variable.c (rb_const_set): do class resolution here
[ruby-core:72807] [Bug #11977]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -1,3 +1,10 @@ +Wed Jan 13 03:42:58 2016 Eric Wong <e@80x24.org> + + * class.c (Init_class_hierarchy): resolve name for rb_cObject ASAP + * object.c (rb_mod_const_set): move name resolution to rb_const_set + * variable.c (rb_const_set): do class resolution here + [ruby-core:72807] [Bug #11977] + Wed Jan 13 00:37:12 2016 Satoshi Ohmori <sachin21dev@gmail.com> * man/ruby.1: fix double word typo. [Fix GH-1194] |