959 // Accessors for statics |
959 // Accessors for statics |
960 static jlong clock(); |
960 static jlong clock(); |
961 static void set_clock(jlong value); |
961 static void set_clock(jlong value); |
962 }; |
962 }; |
963 |
963 |
964 |
|
965 // Interface to java.lang.invoke.MethodHandle objects |
964 // Interface to java.lang.invoke.MethodHandle objects |
966 |
965 |
967 class MethodHandleEntry; |
966 class MethodHandleEntry; |
968 |
967 |
969 class java_lang_invoke_MethodHandle: AllStatic { |
968 class java_lang_invoke_MethodHandle: AllStatic { |
1171 class java_lang_invoke_CallSite: AllStatic { |
1170 class java_lang_invoke_CallSite: AllStatic { |
1172 friend class JavaClasses; |
1171 friend class JavaClasses; |
1173 |
1172 |
1174 private: |
1173 private: |
1175 static int _target_offset; |
1174 static int _target_offset; |
|
1175 static int _context_offset; |
|
1176 static int _default_context_offset; |
|
1177 |
1176 |
1178 |
1177 static void compute_offsets(); |
1179 static void compute_offsets(); |
1178 |
1180 |
1179 public: |
1181 public: |
1180 // Accessors |
1182 // Accessors |
1181 static oop target( oop site); |
1183 static oop target( oop site); |
1182 static void set_target( oop site, oop target); |
1184 static void set_target( oop site, oop target); |
1183 |
1185 |
1184 static volatile oop target_volatile(oop site); |
1186 static volatile oop target_volatile( oop site); |
1185 static void set_target_volatile(oop site, oop target); |
1187 static void set_target_volatile( oop site, oop target); |
|
1188 |
|
1189 static oop context_volatile(oop site); |
|
1190 static void set_context_volatile(oop site, oop context); |
|
1191 static bool set_context_cas (oop site, oop context, oop expected); |
|
1192 |
|
1193 static oop default_context(); |
1186 |
1194 |
1187 // Testers |
1195 // Testers |
1188 static bool is_subclass(Klass* klass) { |
1196 static bool is_subclass(Klass* klass) { |
1189 return klass->is_subclass_of(SystemDictionary::CallSite_klass()); |
1197 return klass->is_subclass_of(SystemDictionary::CallSite_klass()); |
1190 } |
1198 } |
1191 static bool is_instance(oop obj); |
1199 static bool is_instance(oop obj); |
1192 |
1200 |
1193 // Accessors for code generation: |
1201 // Accessors for code generation: |
1194 static int target_offset_in_bytes() { return _target_offset; } |
1202 static int target_offset_in_bytes() { return _target_offset; } |
1195 }; |
1203 }; |
1196 |
|
1197 |
1204 |
1198 // Interface to java.security.AccessControlContext objects |
1205 // Interface to java.security.AccessControlContext objects |
1199 |
1206 |
1200 class java_security_AccessControlContext: AllStatic { |
1207 class java_security_AccessControlContext: AllStatic { |
1201 private: |
1208 private: |