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 /sample/eval.rb | |
parent | d90f9b1481d52b91de7e0795677f558ddece2b37 (diff) | |
download | ruby-fc87b3b7e01c6d14e891b5a38921eef3fd05c8e7.tar.gz |
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 'sample/eval.rb')
0 files changed, 0 insertions, 0 deletions