< prev index next >

src/java.base/share/classes/java/lang/invoke/MethodHandleNatives.java

Print this page

 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          */
< prev index next >