Hi Nobu,

MBARI2:
  It was late when I compared the patches.  If you are actually
  rewinding the stack, that's even better than this patch's technique
  of linking directly to the base frame to skip around the parent 
  threads stacks while leaving them in place.

MBARI4:
  I meant that I don't use emacs anymore, so I won't test against it.
  Even so, I wish you would explain what about this patch confused
  Emacs c-mode.el so I can avoid such constructs in future.
  I'm guessing it had something to do with the NOINLINE function
  declarations, but I'm still not sure.

Do you think you will merge these changes into the 1.8.6 release?

- brent


Nobuyoshi Nakada-2 wrote:
> 
> 
>> MBARI2:
>>   I like push/pop_thread_anchor() better than my hack to hide other
>> threads' stacks.
>>   However, I don't see code in rb_thread_save_context() to copy *only*
>> the active
>>   stack for each thread.  This is a very important optimization. 
>>   Are you doing this optimization some other way that I am overlooking?
>>   (To see how important it can be, try running my bogus1.rb and bogus2.rb
>> benchmarks)
> 
> What do you mean by "active stack"?  The stack region which is
> actually used by thread?  The current code reduces those erea
> by rewinding the stack.
> 
>> MBARI4:
>>   I'll be happy to incorporate your clever eval_body() #define.
>>   It cleans the static inline function decls up nicely.  Does it also
>> restore the Emacs c-mode.el
>>   compatibility?  If this isn't what bothers emacs, please explain, and
>> I'll try to code around it.
>>   (Please understand that I haven't used emacs in any serious way for 15
>> years, 
>>    when I discovered nedit :-)  
> 
> Compatibility against older Emacs?  I can't test it now.
> 
> -- 
> Nobu Nakada
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/-ruby-core%3A19846---Bug--744--memory-leak-in-callcc--tp20447794p21612721.html
Sent from the ruby-core mailing list archive at Nabble.com.