< prev index next >

src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ABIDescriptor.java

Print this page

20  *
21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22  * or visit www.oracle.com if you need additional information or have any
23  * questions.
24  */
25 package jdk.internal.foreign.abi;
26 
27 import jdk.internal.invoke.ABIDescriptorProxy;
28 
29 public class ABIDescriptor implements ABIDescriptorProxy {
30     final Architecture arch;
31 
32     public final VMStorage[][] inputStorage;
33     public final VMStorage[][] outputStorage;
34 
35     final VMStorage[][] volatileStorage;
36 
37     final int stackAlignment;
38     final int shadowSpace;
39 



40     public ABIDescriptor(Architecture arch, VMStorage[][] inputStorage, VMStorage[][] outputStorage,
41                          VMStorage[][] volatileStorage, int stackAlignment, int shadowSpace) {

42         this.arch = arch;
43         this.inputStorage = inputStorage;
44         this.outputStorage = outputStorage;
45         this.volatileStorage = volatileStorage;
46         this.stackAlignment = stackAlignment;
47         this.shadowSpace = shadowSpace;


48     }
49 
50     @Override
51     public int shadowSpaceBytes() {
52         return shadowSpace;
53     }








54 }

20  *
21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22  * or visit www.oracle.com if you need additional information or have any
23  * questions.
24  */
25 package jdk.internal.foreign.abi;
26 
27 import jdk.internal.invoke.ABIDescriptorProxy;
28 
29 public class ABIDescriptor implements ABIDescriptorProxy {
30     final Architecture arch;
31 
32     public final VMStorage[][] inputStorage;
33     public final VMStorage[][] outputStorage;
34 
35     final VMStorage[][] volatileStorage;
36 
37     final int stackAlignment;
38     final int shadowSpace;
39 
40     final VMStorage targetAddrStorage;
41     final VMStorage retBufAddrStorage;
42 
43     public ABIDescriptor(Architecture arch, VMStorage[][] inputStorage, VMStorage[][] outputStorage,
44                          VMStorage[][] volatileStorage, int stackAlignment, int shadowSpace,
45                          VMStorage targetAddrStorage, VMStorage retBufAddrStorage) {
46         this.arch = arch;
47         this.inputStorage = inputStorage;
48         this.outputStorage = outputStorage;
49         this.volatileStorage = volatileStorage;
50         this.stackAlignment = stackAlignment;
51         this.shadowSpace = shadowSpace;
52         this.targetAddrStorage = targetAddrStorage;
53         this.retBufAddrStorage = retBufAddrStorage;
54     }
55 
56     @Override
57     public int shadowSpaceBytes() {
58         return shadowSpace;
59     }
60 
61     public VMStorage targetAddrStorage() {
62         return targetAddrStorage;
63     }
64 
65     public VMStorage retBufAddrStorage() {
66         return retBufAddrStorage;
67     }
68 }
< prev index next >