Mercurial > hg > truffle
diff src/share/vm/classfile/javaClasses.hpp @ 12039:3cce976666d9
Merge hs25-b46
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Thu, 10 Oct 2013 14:20:04 +0200 |
parents | 6b0fd0964b87 ca0165daa6ec |
children | cefad50507d8 |
line wrap: on
line diff
--- a/src/share/vm/classfile/javaClasses.hpp Thu Oct 10 13:44:59 2013 +0200 +++ b/src/share/vm/classfile/javaClasses.hpp Thu Oct 10 14:20:04 2013 +0200 @@ -986,6 +986,32 @@ static int form_offset_in_bytes() { return _form_offset; } }; +// Interface to java.lang.invoke.DirectMethodHandle objects + +class java_lang_invoke_DirectMethodHandle: AllStatic { + friend class JavaClasses; + + private: + static int _member_offset; // the MemberName of this DMH + + static void compute_offsets(); + + public: + // Accessors + static oop member(oop mh); + + // Testers + static bool is_subclass(Klass* klass) { + return klass->is_subclass_of(SystemDictionary::DirectMethodHandle_klass()); + } + static bool is_instance(oop obj) { + return obj != NULL && is_subclass(obj->klass()); + } + + // Accessors for code generation: + static int member_offset_in_bytes() { return _member_offset; } +}; + // Interface to java.lang.invoke.LambdaForm objects // (These are a private interface for managing adapter code generation.)