[foreign+linkToNative] RFR: Fill out missing Windows upcall stub generation

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Fri Feb 8 20:45:40 UTC 2019


Looks good, Jorn.

Thanks for taking care of Windows part.

Best regards,
Vladimir Ivanov

On 08/02/2019 12:42, Jorn Vernee wrote:
> Hi,
> 
> I'd like to contribute a patch that fills out the missing upcall stub 
> generation code for Windows. AFAICT this was only the spill/fill XMM 
> registers based on what was being done in stubGenerator_x86_64.cpp for 
> JNI upcalls. FWIW, the tests were already passing without that, so I 
> don't think it's currently being tested actually, and tbh I'm not sure 
> how to test that properly. Any ways, it seems good to follow the spec 
> (which says that only xmm0 - xmm5 are volatile regs).
> 
> saving/loading mxcsr was not being done for Windows, but I think it 
> should be, since the specification says that at least the top 10 bits 
> are non-volatile (i.e. callee saved) [1].
> 
> I've also added use of LinkToNativeInvoker in Windowsx64ABI for 
> applicable cases. I ran the jdk_foreign tests which all pass (should I 
> run any other tests?)
> 
> Webrev : 
> http://cr.openjdk.java.net/~jvernee/panama/webrevs/winstubgen/webrev.00/
> 
> Cheers,
> Jorn
> 
> [1] : 
> https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2017#mxcsr 
> 


More information about the panama-dev mailing list