[foreign-abi] On invokers
John Rose
john.r.rose at oracle.com
Tue Sep 24 22:31:02 UTC 2019
On Sep 24, 2019, at 3:02 AM, Maurizio Cimadamore <maurizio.cimadamore at oracle.com> wrote:
>
>> If more programmability is needed in the future this can be added. As you say, likely in the areas of Bindings and ABIDescriptor + stub generation :). This is just intended to be the next iteration in the process.
> Sure, don't let my comments detract from anything you have done which is great - I was just connecting it to some of the comments that were raised in the past - re. a desire to have a very low level ABI to allow user to _create_ new ABIs from scratch [1]. After seeing this work, I'm more skeptical that such an approach is really feasible.
To call this programmable is like saying the glass has water in it. Maurizio, you are pointing out that
more water could be added. I agree.
I think, (at least as a design heuristic, and moreover as a matter of good taste), that a design like this
shows evidence of correct factoring if has the potential to build non-standard calling sequences
outside known ABIs). Such non-ABI calling sequences are rare but sometimes important despite
being rare. For example, Cilk uses (used) special non-ABI conventions for vector-function linkage.
This is something we would (IMO) like to have in our back pocket also. (I have wide ambitions
for Java as a vector-programming platform.) Also, Windows is known to have a whole grab-bag
of calling conventions. And what if we want to inter-op with a newer language (Swift, Go) and find
that it (as such environments do) has some funny calling conventions? We’d like to be nimble on
that score, just in case that’s a limiting factor. (Yes, GC is another limiting factor, but you knock
them down one at a time.) Thus, beyond heuristics and matters of taste, aiming for generalizable
mechanisms is the right move here.
Maurizio, my reaction to your observations about how we might have missed the “full glass” of
full generality is simply that, if a meta-ABI design is known to be flexible across known degrees of
freedom,. then it is likely that it can be adapted to new, unforeseen degrees of freedom, as they
become important.
My $0.02…
— John
More information about the panama-dev
mailing list