Ping/hello.
Angela Lin
angela_lin at ca.ibm.com
Fri Oct 31 17:21:08 UTC 2014
Hi David,
Thanks for kicking this off; Sorry for the slow follow-up.
Since this is a "spec" list, I think we want to work on establishing some
common terminology for concepts, and mock up some strawmen API to get a
sense of how things look from a Java programmer's perspective.
We all seem to agree on this part.
> Last I remember, both of us were planning for something that at the
> bottom (ignoring the tools at the top)
> would be based on spinning bytecodes including unsafe code to
> implement an interface (or abstract class?),
> and that we would have some sort of a tiny language to describe
> field locations, size, alignments.
Then there are these divergent rabbit holes to follow:
i) the tiny language specification <-- Let's call this the "layout
descriptor language"?
ii) the runtime system
There might be a 3rd part that glues between the first two:
iii) generated interfaces that are provided to the Java programmer
Let's spin up a separate thread for discussing just the layout descriptor
language? Your points 4) and 5) re: NBO etc. can carry over there.
These points concern the runtime system.
> 1) how the factories were exposed; I think Angela?s plan had went
> 3) I spent some time experimenting with the relationship between a
> so-called ?Ref? type and a so-called
> ?Value? type, thought I had some answers, but after whacking on the
I don't quite understand 3). Would it help to post some javadoc/test code
snippets to illustrate? If you haven't got this handy, we can scrounge
something out of our prototypes.
> 2) I?m a little nervous about bytecode spinning in the context of
> ahead-of-time compilation. There are
> plausible platforms are strongly biased towards ahead-of-time, and
> we might want a plan that allows us to
> not handicap Java execution on those platforms. I think this might
> mean some form a naming scheme for
> the generated classes, so that if they are found on the classpath
> already they need not be generated.
> This might also be useful to assist in debugging
Our prototype was using a naming convention just for caching in a local
classloader. We could extend this to caching in a persistent shared cache,
say.
> 6) I know we have at least two use cases. You guys have database
> guys in mind (I think
> we do, too), we also have the numeric and C-interoperation crowds in
> mind. Others?
> Can we come up with a set of motivating examples?
Use cases for Layouts, in general? Another big one is facilitating
computation offload to specialized processors, e.g. GPUs.
We'll also need some micro-use cases to illustrate programming patterns.
Regards,
Angela
More information about the panama-spec-experts
mailing list