68 static native void copyOutBootstrapArguments(Class<?> caller, int[] indexInfo,
69 int start, int end,
70 Object[] buf, int pos,
71 boolean resolve,
72 Object ifNotAvailable);
73
74 private static native void registerNatives();
75 static {
76 registerNatives();
77 }
78
79 /**
80 * Compile-time constants go here. This collection exists not only for
81 * reference from clients, but also for ensuring the VM and JDK agree on the
82 * values of these constants (see {@link #verifyConstants()}).
83 */
84 static class Constants {
85 Constants() { } // static only
86
87 static final int
88 MN_IS_METHOD = 0x00010000, // method (not constructor)
89 MN_IS_CONSTRUCTOR = 0x00020000, // constructor
90 MN_IS_FIELD = 0x00040000, // field
91 MN_IS_TYPE = 0x00080000, // nested type
92 MN_CALLER_SENSITIVE = 0x00100000, // @CallerSensitive annotation detected
93 MN_TRUSTED_FINAL = 0x00200000, // trusted final field
94 MN_HIDDEN_MEMBER = 0x00400000, // members defined in a hidden class or with @Hidden
95 MN_REFERENCE_KIND_SHIFT = 24, // refKind
96 MN_REFERENCE_KIND_MASK = 0x0F000000 >> MN_REFERENCE_KIND_SHIFT;
97
98 /**
99 * Constant pool reference-kind codes, as used by CONSTANT_MethodHandle CP entries.
100 */
101 static final byte
102 REF_NONE = 0, // null value
103 REF_getField = 1,
104 REF_getStatic = 2,
105 REF_putField = 3,
106 REF_putStatic = 4,
107 REF_invokeVirtual = 5,
108 REF_invokeStatic = 6,
109 REF_invokeSpecial = 7,
110 REF_newInvokeSpecial = 8,
111 REF_invokeInterface = 9,
112 REF_LIMIT = 10;
113
114 /**
115 * Flags for Lookup.ClassOptions
116 */
|
68 static native void copyOutBootstrapArguments(Class<?> caller, int[] indexInfo,
69 int start, int end,
70 Object[] buf, int pos,
71 boolean resolve,
72 Object ifNotAvailable);
73
74 private static native void registerNatives();
75 static {
76 registerNatives();
77 }
78
79 /**
80 * Compile-time constants go here. This collection exists not only for
81 * reference from clients, but also for ensuring the VM and JDK agree on the
82 * values of these constants (see {@link #verifyConstants()}).
83 */
84 static class Constants {
85 Constants() { } // static only
86
87 static final int
88 MN_IS_METHOD = 0x00010000, // method (not object constructor)
89 MN_IS_CONSTRUCTOR = 0x00020000, // object constructor
90 MN_IS_FIELD = 0x00040000, // field
91 MN_IS_TYPE = 0x00080000, // nested type
92 MN_CALLER_SENSITIVE = 0x00100000, // @CallerSensitive annotation detected
93 MN_TRUSTED_FINAL = 0x00200000, // trusted final field
94 MN_HIDDEN_MEMBER = 0x00400000, // members defined in a hidden class or with @Hidden
95 MN_NULL_RESTRICTED = 0x00800000, // null-restricted field
96 MN_REFERENCE_KIND_SHIFT = 24, // refKind
97 MN_REFERENCE_KIND_MASK = 0x0F000000 >>> MN_REFERENCE_KIND_SHIFT, // 4 bits
98 MN_LAYOUT_SHIFT = 28, // field layout
99 MN_LAYOUT_MASK = 0x70000000 >>> MN_LAYOUT_SHIFT; // 3 bits
100
101 /**
102 * Constant pool reference-kind codes, as used by CONSTANT_MethodHandle CP entries.
103 */
104 static final byte
105 REF_NONE = 0, // null value
106 REF_getField = 1,
107 REF_getStatic = 2,
108 REF_putField = 3,
109 REF_putStatic = 4,
110 REF_invokeVirtual = 5,
111 REF_invokeStatic = 6,
112 REF_invokeSpecial = 7,
113 REF_newInvokeSpecial = 8,
114 REF_invokeInterface = 9,
115 REF_LIMIT = 10;
116
117 /**
118 * Flags for Lookup.ClassOptions
119 */
|