[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