14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_PRIMS_METHODHANDLES_HPP
26 #define SHARE_VM_PRIMS_METHODHANDLES_HPP
27
28 #include "classfile/javaClasses.hpp"
29 #include "classfile/vmSymbols.hpp"
30 #include "runtime/frame.inline.hpp"
31 #include "runtime/globals.hpp"
32 #include "runtime/interfaceSupport.hpp"
33
34 class MacroAssembler;
35 class Label;
36
37 class MethodHandles: AllStatic {
38 // JVM support for MethodHandle, MethodType, and related types
39 // in java.lang.invoke and sun.invoke.
40 // See also javaClasses for layouts java_lang_invoke_Method{Handle,Type,Type::Form}.
41 public:
42 public:
43 static bool enabled() { return _enabled; }
44 static void set_enabled(bool z);
45
46 private:
47 static bool _enabled;
48
49 // Adapters.
50 static MethodHandlesAdapterBlob* _adapter_code;
51
52 // utility functions for reifying names and types
53 static oop field_name_or_null(Symbol* s);
|
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_PRIMS_METHODHANDLES_HPP
26 #define SHARE_VM_PRIMS_METHODHANDLES_HPP
27
28 #include "classfile/javaClasses.hpp"
29 #include "classfile/vmSymbols.hpp"
30 #include "runtime/frame.inline.hpp"
31 #include "runtime/globals.hpp"
32 #include "runtime/interfaceSupport.hpp"
33
34 class FieldAccessInfo;
35 class MacroAssembler;
36 class Label;
37
38 class MethodHandles: AllStatic {
39 // JVM support for MethodHandle, MethodType, and related types
40 // in java.lang.invoke and sun.invoke.
41 // See also javaClasses for layouts java_lang_invoke_Method{Handle,Type,Type::Form}.
42 public:
43 public:
44 static bool enabled() { return _enabled; }
45 static void set_enabled(bool z);
46
47 private:
48 static bool _enabled;
49
50 // Adapters.
51 static MethodHandlesAdapterBlob* _adapter_code;
52
53 // utility functions for reifying names and types
54 static oop field_name_or_null(Symbol* s);
|