Robert Klemme wrote: > That was what I was guessing. However, I haven't enough insight to > verify. There is at least one point that causes me doubt: the array can > be handled and stored like any other array, so it should be on the heap > (or it is implicitly moved there). Yes, the implementation of this is in eval.c's rb_call0, after that the arguments are passed along via the argc/argv function arguments. Ruby also tries to throw a SystemStackError in rb_call0 like Mauricio has shown, but this isn't guaranteed to work in all cases. -- Florian Frank