A blindingly obvious thought just occurred to me, and I want to write it down before I forget: there is no reason that procedures expecting a closure pointer need to honor the standard calling convention.
Such a procedure can only be called in two ways: 1. Through a statically resolved reference from a bitc call site. 2. From it's trampoline, which is actuall a degenerate case of (2). So what this means is that the entire calling convention problem for closures is entirely a consequence of generating C code, and the whole issue will go away when native code generation is used. Yet *another* reason not to generate C code for this kind of thing. Sigh.
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
