diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-10-29 01:14:45 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-10-29 01:14:45 +0000 |
commit | fc87b3b7e01c6d14e891b5a38921eef3fd05c8e7 (patch) | |
tree | aed87dd85181c76b099fc5c620ac1606f65f09c8 /ChangeLog | |
parent | d90f9b1481d52b91de7e0795677f558ddece2b37 (diff) |
variable.c: reduce heap usage for autoload_data_i
For the loader (first thread which hits autoload, it is wasteful
to have extra elements on the stack. For the lifetime of the
process, it is wasteful to waste 2 words for every autoload
entry. So this makes full use of existing stack overhead
while reducing heap overhead for long-lived autoload_data_i
structs.
* variable.c (struct autoload_state): usable as wait-queue head
(struct autoload_data_i): remove 2 words of overhead
(autoload_i_mark): remove marking for thread
(autoload_reset): adjust for struct changes
(rb_autoload): ditto
(rb_autoloading_value): ditto
(rb_autoload_load): ditto
(const_update): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -1,3 +1,14 @@ +Thu Oct 29 10:08:33 2015 Eric Wong <e@80x24.org> + + * variable.c (struct autoload_state): usable as wait-queue head + (struct autoload_data_i): remove 2 words of overhead + (autoload_i_mark): remove marking for thread + (autoload_reset): adjust for struct changes + (rb_autoload): ditto + (rb_autoloading_value): ditto + (rb_autoload_load): ditto + (const_update): ditto + Thu Oct 29 08:48:05 2015 Eric Wong <e@80x24.org> * variable.c (struct autoload_data_i): add waitq_head |