[foreign] RFR: 8223808: initial port for AArch64
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Tue May 14 11:13:43 UTC 2019
On 14/05/2019 12:03, Jorn Vernee wrote:
> I think ShuffleRecipe::make is currently dependent on the argument
> bindings for each class occurring in the order of their storage
> indices to generate skips. And CallingSequenceBuilder always adds the
> return binding first:
> http://hg.openjdk.java.net/panama/dev/file/d9ded289d4dd/src/java.base/share/classes/jdk/internal/foreign/abi/CallingSequenceBuilder.java#l54
>
>
> If r8 is the first integer argument register this would work, but this
> doesn't seem to be the case? I think a quick-fix for this is adding a
> sorting pass of the bindings by storage index to
> CallingSequenceBuilder::build.
Right - it seems like we should have separate treatment for return in
memory bindings in CallingSequenceBuilder too - e.g. instead of assume
that we can just add another argument binding for it, we should add a
'return in memory' binding (which then on Windows/SysV will just
delegate to addArgumentBindings).
Maurizio
More information about the panama-dev
mailing list