On Tue, 19 Apr 2016 16:32:49 -0400, Phil Smith III wrote:

>We have a JNI for our product. It lets a 31-bit Java application call into
>our started task, which uses cross-memory services to fetch data from the
>caller's address space. Our STC is 31-bit.

So the Java application calls your JNI, which in turn issues a space switching 
PC 
to call your started task?

>Now a customer wants to use it in 64-bit Java.
>
>It seems to me that there are two main possible solutions:
>
>1)     A full 64-bit version of the JNI.
>
>2)     A 64-bit "shim" that just copies the buffers to 31-bit storage and
>then calls the 31-bit JNI. This obviously adds some overhead, but reduces
>maintenance etc.
>
>For either of these, the question then is, can the 64-bit part create
>below-the-line copies of the data (it does know where they are, at least!)?

Why not make your STC run AMODE 64, at least part of the time? It is easy 
to switch modes, but you do have to be careful that those programs that run 
AMODE 64 save and restore the 64-bit registers. The same with your JNI. It 
doesn't have to be "Full 64-bit".

-- 
Tom Marchant

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to