[#290] — Florian Frank <flori@...>
Hi all,
5 messages
2002/08/03
[#297] GC longjmp macros — Michal Rokos <m.rokos@...>
Hi,
5 messages
2002/08/05
[#308] Q: OSSL in std. distr? — Michal Rokos <m.rokos@...>
Hi,
4 messages
2002/08/08
[#326] Implications of a #force_free method in Object? — Matthew Bloch <mattbee@...>
Hello;
8 messages
2002/08/19
[#328] Int vs Long — Michal Rokos <m.rokos@...>
Hi,
7 messages
2002/08/21
[#337] Int vs Long (2nd part) — Michal Rokos <m.rokos@...>
Hi,
7 messages
2002/08/22
[#340] Int vs Long #3 — Michal Rokos <m.rokos@...>
Hi,
9 messages
2002/08/22
[#344] Re: [Cleanup] Int vs Long #3
— nobu.nokada@...
2002/08/22
Hi,
[#348] Re: [Cleanup] Int vs Long #3
— Michal Rokos <m.rokos@...>
2002/08/23
Hello,
[#353] File (struct stat handling) — Michal Rokos <m.rokos@...>
Hello,
6 messages
2002/08/23
[#358] node.h for eval.c — Michal Rokos <m.rokos@...>
Hi,
5 messages
2002/08/23
[#372] rb_class_path — Michal Rokos <m.rokos@...>
Hello,
7 messages
2002/08/27
[#382] Port match to new dup, clone framework — Michal Rokos <m.rokos@...>
Hi,
5 messages
2002/08/28
[#393] in dln.c — Michal Rokos <m.rokos@...>
Hi,
14 messages
2002/08/30
[#398] Re: [MemLeak] in dln.c
— nobu.nokada@...
2002/08/31
Hi,
[#403] Re: [MemLeak] in dln.c
— Michal Rokos <m.rokos@...>
2002/09/02
Hello,
RE: Bug in gc.c or misunderstanding on my part?
From:
"Christian Boos" <cboos@...>
Date:
2002-08-23 06:51:07 UTC
List:
ruby-core #346
Hi, > -----Original Message----- > From: Timothy J. Wood [mailto:tjw@omnigroup.com] > Sent: Friday, August 23, 2002 6:20 AM > To: ruby-core@ruby-lang.org > Subject: Bug in gc.c or misunderstanding on my part? > ... > This is called from ruby_init() and ruby_run() and the resulting > value is used in scanning for potential Ruby objects on the native > stack (which is an interesting idea). > rb_gc_stack_start is not only used for that, it is also used to delimit the height of the stack for Ruby threads: each Ruby thread holds a copy of the C stack, from rb_gc_stack_start to the level it was when the last task switching occurred, so that, when scheduled to run again, it can be copied back onto the real C stack (+ some longjmp wizardry...) That's why one cannot modifiy the value of rb_gc_stack_start once threads are running. That's also why it is a little bit difficult to embed threaded Ruby programs... -- CB > Now, the part that confuses me are things like rb_funcall(). This > appears to NOT update the stack base. So, it seems like it is invalid > to call rb_funcall() directly (but you could call it if Ruby calls you > via a Ruby->C binding). Instead, it seems like you must always call > ruby_run() at the top level (which really limits the usefulness of the > embedding API). > > What is the intended semantic of rb_funcall()? I don't see any > documentation that would lead me to believe that I can't call it > directly after loading a script. > > -tim > >