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 }
|