[ruby-cvs:59486] normal:r52335 (trunk): variable.c: reduce heap usage for autoload_data_i

normal at ruby-lang.org normal at ruby-lang.org
Thu Oct 29 10:14:46 JST 2015


normal	2015-10-29 10:14:45 +0900 (Thu, 29 Oct 2015)

  New Revision: 52335

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=52335

  Log:
    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

  Modified files:
    trunk/ChangeLog
    trunk/variable.c


More information about the ruby-cvs mailing list