< prev index next >

src/share/vm/classfile/javaClasses.hpp

Print this page

        

*** 1171,1180 **** --- 1171,1181 ---- class java_lang_invoke_CallSite: AllStatic { friend class JavaClasses; private: static int _target_offset; + static int _context_offset; static void compute_offsets(); public: // Accessors
*** 1182,1201 **** --- 1183,1230 ---- static void set_target( oop site, oop target); static volatile oop target_volatile(oop site); static void set_target_volatile(oop site, oop target); + static oop context_volatile( oop site); + static void set_context_volatile( oop site, oop context); + static bool set_context_cas ( oop site, oop context, oop expected); + // Testers static bool is_subclass(Klass* klass) { return klass->is_subclass_of(SystemDictionary::CallSite_klass()); } static bool is_instance(oop obj); // Accessors for code generation: static int target_offset_in_bytes() { return _target_offset; } }; + class java_lang_invoke_DependencyContext : AllStatic { + friend class JavaClasses; + + private: + static int _cleaner_offset; + static int _default_context_offset; + + static void compute_offsets(); + + public: + // Accessors + static oop cleaner(oop ctx) { return ctx->obj_field(_cleaner_offset); } + + static oop default_context(); + static bool is_default_context(oop ctx) { return (ctx == default_context()); }; + + // Testers + static bool is_subclass(Klass* klass) { + return klass->is_subclass_of(SystemDictionary::DependencyContext_klass()); + } + static bool is_instance(oop obj) { + return obj != NULL && is_subclass(obj->klass()); + } + }; // Interface to java.security.AccessControlContext objects class java_security_AccessControlContext: AllStatic { private:
< prev index next >