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